盘点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;i<numbers.length-1;i++){

                                                                       for(int j=0;j<numbers.length-1-i;j++){
                                                                            if(numbers[j]>numbers[j+1]){
                                                                               int temp=numbers[j];
                                                                                 numbers[j]=numbers[j+1];
                                                                                   numbers[j+1]=temp;
                                                                           }
                                                                              }
                                                                           }
                                                                           System.out.println("从小到大排序后的结果是:");
                                                                       for(int i=0;i<numbers.length;i++)
                                                                     System.out.print(numbers[i]+" ");
                                                                          }
                                                                                          }

结束语 🥇🥇🥇

结束语 🥇🥇🥇

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程ID

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值