• 盘点2022初级Java笔试题,选择题,简答题(右滑查看答案)


    🏠个人主页:@编程ID
    🧑个人简介:大家好,我是编程ID,一个想要与大家共同进步的程序员儿
    💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,望能帮到各位想要找工作或者提高自己的小伙伴儿们,如果有什么需要改进的地方,还请大佬不吝赐教🤞🤞

    推荐先做一遍再看答案
    推荐先做一遍再看答案
    推荐先做一遍再看答案
    手机端查看答案左滑,多滑几下,电脑端滚动条右滑

    一、选择题(可能不止一个选项)

    1、在调用方法时,若要使方法改变实参的值,可以?()
    A、用基本数据类型作为参数
    B、用对象作为参数
    C、A和B都对
    D、A和B都不对

    右滑查看答案--->                                                                                                               答案:B
                                                                                                                                        分析:基本数据类型不能改变实参的值
    

    2、 Character流与Byte流的区别是()
    A、每次读入的字节数不同
    B、前者带有缓冲,后者没有
    C、前者是字符读写,后者是字节读写
    D、二者没有区别,可以互换使用

    右滑查看答案--->                                                                                                                         答案:C(觉得有用的话点赞收藏支持一下呗!感谢!感谢!)
    

    3、下列说法正确的是()
    A、接口可以继承接
    B、抽象类可以实现(implements)接口
    C、抽象类可以继承具体类
    D、抽象类中可以有静态的main方法。

    右滑查看答案--->                                                                                                                        答案:ABCD
    

    4、给出下面的程序代码:

    public class X_4 _1_3 {
    
    private float a;
    
    public static void m(){
    		//..
        }
    }
    

    如何使成员变量a被方法m()访问?

    A、将private float a改为protected float a
    B、将private float a改为public float a
    C、将private float a改为static float a
    D、将private float a改为float a

    右滑查看答案--->                                                                                                                       答案:C
                                                                                                                                                        解析:static类型的方法只能访问static类型的数据成员
    

    5、在Java语言中,哪一个包中的类是自动导入的?

    A. java.lang

    B. java.awt

    C. java.io

    D. java.applet

    右滑查看答案--->                                                                                                                        答案: A
    
                                                                                                                                                         解释:只有java.lang包中的类能够被自动导入。
    

    6、设a、b为long型变量,X、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是?

    A. switch(x+y) {}

    B. switch(ch+1) {}

    C. switch ch {}

    D. switch(a+b) {}

    右滑查看答案--->                                                                                                                         答案:B
                                                                                                                                                       解释:switch后面的表达式必须放在括号()中,且表达式的类型只能是byte、short、 int、 char、enum及String类型,不能是其他类型。
    

    7、不属于Java核心包的一-项是?
    A.javax.swing

    B.java.io

    C.java.utile

    D.java.lang

    右滑查看答案--->                                                                                                                         答案:A。(有用的话就点赞收藏起来吧!)
                                                                                                                                                         解释:凡是以java开头的包都是Java核心包,以javax开头的包则属于Java扩展包。
    

    8、编译下面源程序会得到哪些文件?

    class A1{
    }
    class A2{
    }
    public class B {
    public static void main(String[] args) {}
    }   
    }
    

    A.只有B.class文件。

    B.只有A1.class和A2.class文件。

    C.有A1.class、A2.class和B.class文件。

    D.编译不成功。

    右滑查看答案--->                                                                                                                          答案: C。
                                                                                                                                                       解释:由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件。
    

    9、基本数据类型取值范围的描述中,正确的一个是?

    A. byte类型的取值范围是-128~128

    B. boolean类型的取值范围是真或假

    C. short类型的取值范围是-32767~32767

    D. char类型的取值范围是0~ 65536

    右滑查看答案--->                                                                                                                         答案: B.
                                                                                                                                                            解释:根据每种类型占几个字节即可推算出其取值范围,如byte类型占1个字节,即共包含2^8个数值,其取值范围应为-128~127,其他类型也是如此。
    

    10、基本数据类型的说法中,正确的一项是?

    A.以0开头的整数代表8进制整型常量

    B.以0x或0X开头的整数代表8进制整型常量

    C. boolean类型的数据作为类成员变量的时候相同默认的初始值为true

    D. double型数据占计算机存储的32位

    右滑查看答案--->                                                                                                                         答案A。
                                                                                                                                                       解释:以0x或0X开头的整数代表16进制整型常量。boolean类型的默认初始值为false。double型数据占计算机存储的64位。
    

    11、在SQL语言中,子查询是()。

    A.选取单表中字段子集的查询语句先面试题小程序:

    B. 选取多表中字段子集的查询语句

    C.返回单表中数据子集的查询语言面成配

    D.嵌入到另一个查询语句之中的查询语句

    右滑查看答案--->                                                                                                                        答案:D
    

    12、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用() 个比特位。

    A.8

    B. 16

    C.32

    D.64

    右滑查看答案--->                                                                                                                         答案:B
                                                                                                                                                       解析: 在java中一个unicode占2个(byte),一个字节等于8比特位(bit),所以每个Unicode码占用16个比特位。
    

    13、单选是否可以继承String类?

    A、可以

    B、不可以

    右滑查看答案--->                                                                                                                         答案:B
                                                                                                                                                   解析:String类是final 类,不可以被继承。
    

    14、单选try{)里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?

    A、不会执行

    B、会执行,在return前执行

    C、会执行,在return后执行解析:

    右滑查看答案--->                                                                                                                            答案:B
                                                                                                                                                     解析:会执行,在方法返回调用者前执行。
    

    15、如何将字符串反转?

    A、没恩路

    B、只能说个大概

    C、逻辑清晰,能完整说出实现方案解析:

    右滑查看答案--->                                                                                                                        利用StringBuffer或StringBuilder 的reverse成员方法; 2.利用String 的toCharArray方法先将字符串转化为char类型数组,然后将各个字符进行重新拼接;3.利用String的CharAt方法取出字符串中的各个字符。
    

    16、Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?

    A、wait()方法调用后,对象的锁依然保持,因此休眠时间结束后会自动恢复

    B、sleep()调用后 ,只有调用对象的notify)方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池

    C、sleep()方法是线程类( Thread )的静态方法,wait()是Object类的方法

    D、sleep方法只能在同步方法和同步代码块中使用解析:

    右滑查看答案--->                                                                                                                       答案:C            
                                                                                                                                                          解析:sleep方法可以在任何地方使用;
    

    17、数组有length方法吗?

    A、没有

    B、有

    右滑查看答案--->                                                                                                                         答案:A        
                                                                                                                                                        解析: java中数组是没有length()方法的,只有length属性,数组array.length返回的是该数组的长度。字符串String是有length()方法的,str.length()返回的是该字符串的长度。
    

    18、在try-catch-finally语句块中,以下可以单独与finally一起使用的是()

    A. catch

    B. try

    C. throw

    D.throws

    右滑查看答案--->  
                                                                                                                                                       答案:B
                                                                                                                                                        解析:处理异常常用的两种方式:
                                                                                                                                                       1、try...catch(捕获处理机制);
                                                                                                                                                           2、throws(冒泡处理机制).
                                                                                                                                                            注意细节:使用try...catch块捕获时可以没有catch块,但当没用catch块的时候必须得有finally块.故选B)
    

    19、Java中接口的修饰符可以为()

    A.private

    B.protected

    C.final

    D.abstract

    右滑查看答案--->  
                                                                                                                                                             答案:D
                                                                                                                                                             解析:接口中的访问权限修饰符只可以是public或default
                                                                                                                                                          接口中的所有的方法必须要实现类实现,所以不能使用final
                                                                                                                                                            接口中所有的方法默认都是abstract的,所以接口可以使用abstract修饰,但通常abstract可以省略不写
    

    20、下列选项中,属于HashMap集合中的获取元素的方法是()

    A 、public V put(K key,V value)

    B、 public V remove(Object key)

    C、public V get(Object key)

    D、public int size()

    右滑查看答案--->  
                                                                                                                                                          答案: C
                                                                                                                                                         解析:HashMap集合的增删改查方法.本题选项为
                                                                                                                                                                      C、public V get(Object key)是根据传入的键,获取该键对应的值,如果该键不存在,则返回null
    

    二、解答题

    1、谈谈你对spring AOP和IOC的理解

    右滑查看答案--->  
                                                                                                                                                        AOP(面向方面编程):AOP就是典型的代理模式的体现。 AOP是将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。AOP可以对某个对象或某些对象的功能进行增强,比如对象中的方法进行增强,可以在执行某个方法之前额外的做一些事情,在某个方法执行之后额外的做一些事情 
    
                                                                                                                                                              IOC(控制反转):控制反转也叫依赖注入。IOC就是典型的工厂模式,通过sessionfactory去注入实例。将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让 spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要 调用这些bean的类(假设这个类名是A),分配的方法就是调用A的setter方法来注入,而不需要你在 A里面new这些bean了。 
    

    2、说一说mybatis的一级缓存、二级缓存

    右滑查看答案--->  
                                                                                                                                                        mybatis一级缓存
                                                                                                                                                           Mybatis 的一级缓存是指Session缓存。一级缓存作用域是sqlsession级别的,同一个sqlsession中执行相同的sql查询
                                                                                                                                                        (相同的sql和参数),第一次会去查询数据库并写到缓存中,第二次从一级缓存中取。一级缓存的作用域默认是SqlSession。
                                                                                                                                                Mybatis默认开启一级缓存。当执行的SQL查询中间发生了增删改的操作,mybatis会把SqlSession的缓存清空。
    
                                                                                                                                                         mybatis二级缓存
                                                                                                                                                 它指的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。
                                                                                                                                                      二级缓存是 mapper 映射级别的缓存,多个 SqlSession 去操作同一个 Mapper 映射的 sql 语句,多个SqlSession 
                                                                                                                                                         可以共用二级缓存,二级缓存是跨SqlSession的。
    

    3、创建线程的方式

    右滑查看答案--->
                                                                                                                                                                一、继承Thread类的方式进行实现
                                                                                                                                                              二、实现Runnable接口的方式进行实现
                                                                                                                                                                 三、利用Callable接口方式实现
                                                                                                                                                        四、使用线程池例如用Executor框架
    

    4、手写冒泡排序:1,5,8,2,3,9,4

    右滑查看答案--->
                                                                    public class demo_sort {
                                                                    public static void main(String[] args) {
                                                                             //冒泡排序算法
                                                                           int[] numbers=new int[]{1,5,8,2,3,9,4};
                                                                              //需进行length-1次冒泡
                                                                           for(int i=0;inumbers[j+1]){
                                                                                   int temp=numbers[j];
                                                                                     numbers[j]=numbers[j+1];
                                                                                       numbers[j+1]=temp;
                                                                               }
                                                                                  }
                                                                               }
                                                                               System.out.println("从小到大排序后的结果是:");
                                                                           for(int i=0;i

    结束语 🥇🥇🥇

    结束语 🥇🥇🥇

    祝大家早日找到满意的工作!

  • 相关阅读:
    关于我——人工智能专业大二的一年
    华为设备配置MSTP+VRRP组合组网
    Linux操作文档——pt-osc工具
    Starfish Os打造娱乐化元宇宙商业生态
    【力扣刷题】删除链表的倒数第 N 个结点、两两交换链表中的节点、随机链表的复制
    vscode连接wsl-ubuntu失败
    初识操作系统
    ubuntu20.04运用startup application开机自启动python程序
    docker搭建本地仓库
    基于SSM的四六级报名与成绩查询系统的设计与实现
  • 原文地址:https://blog.csdn.net/weixin_43474701/article/details/126931567