概述
2022Java笔试题总结
- 一、选择题(可能不止一个选项)
- 二、解答题
- 结束语 ????????????
????个人主页:@编程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]+" ");
}
}
结束语 ????????????
结束语 ????????????
发现非常好用的一个刷题网站!大家一起努力!加油!!!
题目难度可以自行选择
在线编程出答案,(也可自行查看答案)非常方便
程序员刷题神器网站点击链接注册即可刷题
祝大家早日找到满意的工作!
最后
以上就是健忘冰淇淋为你收集整理的盘点2022初级Java笔试题,选择题,简答题(右滑查看答案)的全部内容,希望文章能够帮你解决盘点2022初级Java笔试题,选择题,简答题(右滑查看答案)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复