2023java面试题47道选择题及答案

往期文章>>>
Java最全面试题【五分钟看完】
Java后端精选面试题分享
Java经典面试题 带答案(五)
Java经典面试题 带答案(四)
Java经典面试题 带答案(三)
2023年春招Java面试选择题及答案解析

1、Java IO体系中,read方法从输入流中顺序读取源中的单个字节数据,如果到达源的末尾,该方法返回
A、-1
B、0
C、error
D、warning

正确答案:A、

[单选题]
2、下面哪项不属于java的包装类
A、String
B、Character
C、Boolean
D、Byte

正确答案:A、

[单选题]
3、Java IO体系中,通常情况下以下哪一个类可用来读取文件且产生的系统调用可能是最少的
A、RandomAccessFile
B、FileInputStream
C、BufferedReader
D、InputStreamReader

正确答案:C、

[单选题]
4、为使对象可以保存到磁盘上或在网络上传输,需要首先经过如下什么操作( )将对象转换成字节数组
A、虚拟化
B、实体化
C、序列化
D、持久化

正确答案:C、

[单选题]
5、使用Java IO流实现对文本文件的读写过程中,需要处理下列( )异常
A、ClassNotFoundException
B、IOException
C、SQLException
D、RemoteException

正确答案:B、

[单选题]
6、在Java的IO操作中,( )方法可以直接将缓冲中的数据立即发送到网络中
A、write()
B、fill()
C、send()
D、flush()

正确答案:D、

[单选题]
7、下面代码的输出结果是?

public void main(String[] args) {
Integer num1 = 200; Integer num2 = 200; if (num1 != num2) {
System.out.print(1); } else {
System.out.print(2); }
if (!num1.equals(num2)) { System.out.print(3);
} else { System.out.print(4);
} }

A、13
B、24
C、14
D、23

正确答案:C、

[单选题]
8、请指出下面程序的运行结果()

public class TryDemo {
public static void main(String[] args) { 
System.out.println(test());
}
public static int test() { try {
return 1;
} catch (Exception e) {
return 2; } finally {
System.out.print("3"); }
} }

A、13
B、31
C、12
D、21

正确答案:B、

[单选题]
9、整型分为:byte、short、int、long,整型常数默认为什么类型
A、byte
B、short
C、int
D、long

正确答案:C、

[单选题]
10、char类型占( )个字节
A、1
B、2
C、3
D、4

正确答案:B、

[单选题]
11、下列代码输出结果是()

int i = 20;
while ( i > 0 ){ i++;
if(i==21){ break;
} }

A、while循环执行10次
B、循环执行一次
C、循环一次都不执行
D、死循环

正确答案:B、

[单选题]
12、Java中允许使用转义字符( ),来将其后的字符转变为其他含义
A、//’
B、/’
C、\’
D、’

正确答案:D、

[单选题]
13、以下关于HashMap的说法正确的是()
A、HashMap类的key可以重复
B、HashMap类的key可以为null
C、HashMap类的value不可以为null值
D、HashMap类的value可以包含null值,并且只能有1个

正确答案:B、

[单选题]
14、以下初始化的方法错误的是
A、Map<Integer, Byte> hashMap = new HashMap<Integer, Byte>();
B、Set setStr = new Set();
C、List arrayList = new ArrayList();
D、List linkedList = new LinkedList();

正确答案:B、

[单选题]
15、以下哪个方法用于定义线程的执行体?
A、start()
B、execute()
C、run()
D、submit()

正确答案:C、

[单选题]
16、下列哪些对象的访问属于线程安全的
A、ConcurrentHashMap
B、ArrayList
C、HashMap
D、HashSet

正确答案:A、

[单选题]
17、下面这段程序的输出结果( )

String a ="999";
int b =1; 
System.out.println(a+b);
}

A、1
B、999
C、1000
D、9991

正确答案:D、

[单选题]
18、以下说法正确的是
A、两个对象的hashCode()相同,则equals()也一定为 true
B、两个对象equals()为true,那么他们的hashCode()一定相等
C、hashcode和equals没有直接的关系可以单独定义
D、其余选项都不正确

正确答案:C、

[单选题]
19、Java new对象实例通常存在于以下哪个内存区域?
A、方法区
B、堆
C、栈
D、线程栈

正确答案:B、

[单选题]
20、java中,下面关于this()和super()说法正确的是?
A、能够成功调用this(xxx,xxx),则类不能有无参数构造函数
B、在构造方法内super()必须放第一行,this()不需要
C、父类没有无参数构造函数时,则在子类构造函数中必须显示调用super
D、super()属于类级静态方法,而this()属于对象方法

正确答案:C、

[单选题]
21、哪种异常是需要显式捕获或者声明的
A、NullPointerException
B、FileNotFoundException
C、IndexOutOfBoundsException
D、IllegalArgumentException

正确答案:B、

[单选题]
22、在Java中,我们所讲的本地接口书写程序或者本地方法接口指的是
A、JLP
B、JLW
C、JNI
D、JIT

正确答案:C、

[单选题]
23、以下代码运行输出是( ) 1.5分

public class Student{
private String name="LiLei";
int age=0; }
public class StudentPlus extends Student{ public String age;
public static void main(String[] args){ Student p = new StudentPlus(); System.out.println(p.name);
}
}

A、输出:LiLei
B、没有输出
C、编译出错
D、运行出错

正确答案:C、

[单选题]
24、在interface定义中以下哪条是正确的?
A、public double methodA(){};
B、Object methodB(Integer x);
C、String constant;
D、static void MethodB(String a);

正确答案:B、

[单选题]
25、以下语句中关于Java构造方法的说法错误的是
A、构造方法的作用是为创建对象进行初始化工作,比如给成员变量赋值
B、一个Java类可以没有构造方法,也可以提供1个或多个构造方法
C、构造方法与类同名,不能书写返回值类型
D、构造方法的第一条语句如果是super(),则可以省略,该语句作用是调用父类无参数的构造方法

正确答案:B、

[单选题]
26、下面哪个不是Object类中所定义的public method?
A、toString()
B、hashCode()
C、compareTo()
D、wait()

正确答案:C、

[单选题]
27、分析如下Java程序的代码所示,则编译运行后的输出结果是( ) public class Test {

int count=9;
public void count1(){
count=10;
System.out.print("count1="+count + ";"); }
public void count2(){ 
System.out.print("count2="+count);
}
public static void main(String[ ] args) {
Test t=new Test(); t.count1(); t.count2();
} }

A、count1=9;count2=9
B、count1=10;count2=9
C、count1=10;count2=10
D、count1=9;count2=10

正确答案:C、

[单选题]
28、下列代码输出为( )

public class ReferencesTest
{
static class Student {
private String name; }
public static void main(String[] args) {
Student studentA = new Student();
studentA.name = "aaa";
Student studentB = new Student();
studentB.name = "bbb";
setName(studentA.name, "ccc");
setName(studentB, "ccc"); 
System.out.println(studentA.name + ", " + studentB.name);
}
private static void setName(String name, String newName) {
name = newName; }
private static void setName(Student student, String newName) {
student.name = newName; }
}

A、aaa, bbB
B、aaa, ccC
C、ccc, ccC
D、ccc, bbB

正确答案:B、

[单选题]
29、如下程序运行结果为:

public class Test {
public static void main(String [] args) 
{ 
String projectA = "1122";
String subProject1 = "11";
String subProject2 = "22";
String projectB = "11" + "22";
String projectC = String.valueOf(1122);
String projectD = subProject1 + subProject2; 
System.out.println(projectA == projectB);
System.out.println(projectB == projectC); 
System.out.println(projectC == projectD); 
System.out.println(projectC.equals(projectA));
} }

A、false, false, false, false
B、true, true, true, true
C、true, false, false, true
D、true, false, true, true

正确答案:C、

[单选题]
30、类定义源码如下:

package com.lenovo.school.recruitment.project
public class ClassFinder {
public static void main(String[] args) {
System.out.println("class finder"); }
}

假设工程目录为 D:\workspace\dome1 ,最有可能正确运行并输出"class finder"的是
A、java -cp D:\workspace\dome1\src\com\lenovo\school\recruitment\project\ClassFinder.java
B、java -cp D:\workspace\dome1\src com.lenovo.school.recruitment.project.ClassFinder
C、java -cp D:\workspace\dome1\out com.lenovo.school.recruitment.project.ClassFinder
D、java -cp D:\workspace\dome1\out com.lenovo.school.recruitment.project.ClassFinder.class

正确答案:C、

[多选题]
31、Java系统的标准输出分别是标准输出( )和标准错误输出( )
A、System.out
B、System.in
C、System.err
D、System.stdout

正确答案:AC、

[多选题]
32、关于集合类的说法正确的是
A、ArrayList在插入和删除元素的效率上高于LinkedList
B、HashMap的key对象自定义比较时,只需重写hashCode()方法即可
C、集合类主要接口有List、Set、Map,List和Set均继承自Collection接口
D、ConcurrentModificationException与循环遍历集合对象时的remove操作有关

正确答案:CD、

[多选题]
33、关于线程同步synchronized的说法正确的是
A、synchronized可以修饰属性、方法或者代码块
B、synchronized可以作用于静态方法
C、synchronized作用在静态方法时是对Class上锁
D、synchronized作用在非静态方法时是对对象实例上锁

正确答案:BCD、

[多选题]
34、与Java访问权限有关并且具有包可访问的关键字是:
A、public
B、private
C、protect
D、abstract

正确答案:AC、

[多选题]
35、关于线程同步synchronized的说法正确的是
A、synchronized可以修饰属性、方法或者代码块
B、synchronized可以作用于静态方法
C、synchronized作用在静态方法时是对Class上锁
D、synchronized作用在非静态方法时是对对象实例上锁

正确答案:BCD、

[多选题]
36、与Java访问权限有关并且具有包可访问的关键字是:
A、public
B、private
C、protect
D、abstract

正确答案:AC、

[多选题]
37、根据下面的代码 String s = null;
会抛出NullPointerException异常的有()
A、if( (s!=null) & (s.length()>0) )
B、if( (s==null) | (s.length()0) )
C、if( (s!=null) || (s.length()>0) )
D、if( (s
null) && (s.length()==0) )

正确答案:ABCD、

[多选题]
38、标识符的声明需要遵循哪些规则
A、标识符必须以字母(包括汉字)、下划线、美元符($)开头
B、标识符的其他部分可以是字母、下划线、数字、美元符的任意组合
C、Java标识符大小写敏感,且无长度限制
D、标识符可以是Java的关键字

正确答案:ABC、

[多选题]
39、以下哪些属于Java线程池的关注要素?
A、运行线程数
B、最大线程数
C、任务队列
D、线程创建工厂

正确答案:ABCD、

[多选题]
40、Java数据类型分为哪两大类?
A、常量类型
B、基本数据类型
C、引用数据类型
D、变量类型

正确答案:BC、

[多选题]
41、@SpringBootApplication注释包含了以下哪些注释
A、SpringBootConfiguration
B、EnableAutoConfiguration
C、Configuration
D、ComponentScan

正确答案:ABD、

[多选题]
42、以下选项中关于Java跨平台原理的说法正确的是
A、Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行
B、Java语言只需要编译,不需要进行解释
C、Java虚拟机是运行统一Java字节码格式文件的计算机进程,不同平台的虚拟机实现是不同的
D、Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行

正确答案:AC、

[多选题]
43、wait() 和 sleep() 方法说法正确的是
A、两者都来自Thread类
B、wait() 只能在同步控制方法或者同步控制块里面使用
C、两者都会让线程释放同步锁
D、两者都会暂停当前线程

正确答案:BD、

[多选题]
44、以下Java运算符中优先级别最低的两个选项是
A、赋值运算符=
B、条件运算符 ?=
C、逻辑运算符|
D、算术运算符+

正确答案:AB、

[多选题]
45、以下哪些关键字与Java面向对象的概念相关
A、override
B、throws
C、extends
D、implements

正确答案:ACD、

[多选题]
46、Java 静态变量和成员变量的区别
A、成员变量存在于堆内存中
B、静态变量存在于方法区中
C、成员变量与静态变量都是随着对象创建而存在,随着对象被回收而释放
D、成员变量可以被对象调用,也可以被类名调用

正确答案:AB、

[多选题]
47、下列选项中关于Java中类方法的说法错误的是
A、在类方法中可用this来调用本类的类方法
B、在类方法中调用本类的类方法时可直接调用
C、在类方法中只能调用本类中的类方法
D、在类方法中调用本来的实例方法需要先创建实例

正确答案:BCD、

请添加图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐