Java笔试选择题(含详细答案解析)_第1页
Java笔试选择题(含详细答案解析)_第2页
Java笔试选择题(含详细答案解析)_第3页
Java笔试选择题(含详细答案解析)_第4页
Java笔试选择题(含详细答案解析)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java笔试选择题(含详细答案解析)本次试题共20道单选题,覆盖Java基础语法、数据类型、面向对象、集合框架、异常处理、多线程、JDK核心特性、IO基础等高频笔试考点,题目贴合企业真实笔试题型,答案解析详细易懂,适合求职刷题、基础自测。一、单项选择题1.以下关于Java基本数据类型的说法,正确的是()A.byte类型占用2个字节B.float类型取值范围大于double类型C.boolean类型只有true和false两个取值,不占用字节D.char类型占用2个字节,可存储单个汉字2.下列关于变量命名规则,合法的是()A.1userNameB.user-nameC.$scoreD.static3.执行以下代码,输出结果是()PlainText

publicclassTest{

publicstaticvoidmain(String[]args){

inta=5;

intb=a+++++a;

System.out.println(b);

}

}A.10B.11C.12D.134.以下关于if-else语句的执行逻辑,代码运行结果是()PlainText

publicclassTest{

publicstaticvoidmain(String[]args){

intnum=8;

if(num>5)

System.out.println("大于5");

elseif(num>10)

System.out.println("大于10");

else

System.out.println("小于等于5");

}

}A.大于5B.大于10C.小于等于5D.无输出5.下列关于for循环和while循环的说法,错误的是()A.for循环适合已知循环次数的场景B.while循环适合未知循环次数的场景C.do-while循环至少执行一次循环体D.for循环不能嵌套while循环6.以下关于数组的描述,正确的是()A.数组的长度可以动态改变B.数组创建后,元素类型可以随意修改C.数组下标从0开始,最大下标为数组长度-1D.空数组的长度为负数7.执行以下数组代码,运行结果是()PlainText

publicclassTest{

publicstaticvoidmain(String[]args){

int[]arr={1,2,3,4};

System.out.println(arr[4]);

}

}A.4B.0C.编译报错D.运行抛出数组下标越界异常8.以下关于面向对象三大特性的说法,错误的是()A.封装可以隐藏类的内部实现细节,仅对外提供访问接口B.继承可以实现代码复用,减少重复代码C.多态可以让同一个行为具有不同的表现形式D.Java中类支持多继承9.下列关于private、protected、default、public权限修饰符的访问范围,说法正确的是()A.private修饰的成员,仅本类可访问B.default权限可以跨包访问C.protected修饰的成员,仅本类可访问D.public修饰的成员,仅同包可访问10.关于方法重载和方法重写,说法正确的是()A.重载发生在父子类之间B.重写要求方法名、参数列表、返回值完全一致C.重载的方法参数列表必须不同D.重写的方法权限必须比父类更严格11.以下关于String、StringBuilder、StringBuffer的说法,错误的是()A.String是不可变字符序列B.StringBuilder线程不安全,效率高C.StringBuffer线程安全,效率低D.频繁字符串拼接优先使用String12.执行以下代码,输出结果是()PlainText

publicclassTest{

publicstaticvoidmain(String[]args){

Strings1="abc";

Strings2=newString("abc");

System.out.println(s1==s2);

}

}A.trueB.falseC.编译报错D.空值13.下列关于集合框架的说法,正确的是()A.List集合元素无序、不可重复B.Set集合元素有序、可重复C.Map集合存储键值对,键唯一,值可重复D.ArrayList线程安全14.以下关于HashMap和HashTable的区别,说法错误的是()A.HashMap线程不安全,HashTable线程安全B.HashMap允许key和value为nullC.HashTable不允许key和value为nullD.HashMap效率低于HashTable15.关于异常处理,下列说法正确的是()A.try块可以单独存在,无需catch和finallyB.finally块一定会执行,即使出现return语句C.所有异常都必须手动捕获处理D.运行时异常必须用try-catch捕获16.下列不属于运行时异常的是()A.NullPointerExceptionB.ArrayIndexOutOfBoundsExceptionC.IOExceptionD.ClassCastException17.关于static关键字的说法,错误的是()A.static修饰的变量属于类,不属于对象B.static修饰的方法可以直接通过类名调用C.static方法中可以直接调用非static方法D.静态代码块仅在类加载时执行一次18.关于final关键字,说法正确的是()A.final修饰的变量可以二次赋值B.final修饰的方法可以被重写C.final修饰的类不能被继承D.final和static不能同时修饰变量19.以下关于多线程的说法,错误的是()A.线程是程序执行的最小单元B.synchronized关键字可以保证线程安全C.start()方法和run()方法都可以启动新线程D.多线程可以提高程序并发执行效率20.JDK1.8新增的核心特性是()A.泛型B.Lambda表达式C.枚举类D.注解二、答案及详细解析1.答案:D解析:byte类型占用1个字节;double类型精度和取值范围远大于float;boolean类型底层占用1个字节;char是16位无符号类型,占用2个字节,可存储单个汉字、字母、符号。2.答案:C解析:变量命名规则:不能以数字开头、不能包含中划线、不能使用Java关键字;可使用字母、数字、下划线、美元符,且首字符不能为数字。A数字开头、B含中划线、D是关键字,均不合法。3.答案:C解析:后置自增(a++)先取值后自增,前置自增(++a)先自增后取值。运算过程:a初始为5,a++取值5,之后a变为6;++a先自增为7,取值7;最终b=5+7=12。4.答案:A解析:if-elseif语句遵循就近匹配、匹配成功即终止的规则。num=8满足num>5的条件,直接执行对应输出语句,后续分支不再判断。5.答案:D解析:循环语句支持任意嵌套,for循环可以嵌套while、do-while循环,日常开发中多层嵌套场景十分常见。6.答案:C解析:Java数组长度固定,创建后无法修改;数组元素类型与定义时类型一致,不能随意修改;空数组长度为0,数组下标从0开始。7.答案:D解析:数组arr长度为4,合法下标为0、1、2、3,下标4超出范围,程序运行后抛出ArrayIndexOutOfBoundsException数组下标越界异常,代码编译无报错。8.答案:D解析:Java类单继承,一个类只能直接继承一个父类,接口支持多实现,这是面向对象的核心基础知识点。9.答案:A解析:权限范围从小到大:private(本类)<default(同包)<protected(同包+子类)<public(全局)。default无法跨包访问,protected支持跨包子类访问,public全局可访问。10.答案:C解析:重载发生在同一个类中,方法名相同、参数列表不同(参数个数、类型、顺序),返回值可不同;重写发生在父子类中,方法名、参数列表必须一致,返回值兼容,权限需大于等于父类。11.答案:D解析:String对象不可变,每次拼接都会生成新对象,频繁拼接效率极低;StringBuilder和StringBuffer是可变字符序列,适合频繁拼接操作。12.答案:B解析:==对于引用类型,比较的是对象内存地址。s1是字符串常量池对象,s2是new创建的堆内存对象,二者内存地址不同,结果为false;equals方法才是比较字符串内容。13.答案:C解析:List有序可重复、Set无序不可重复;ArrayList线程不安全,Vector线程安全;Map以键值对存储,key唯一不重复,value可重复。14.答案:D解析:HashTable方法加了synchronized锁,线程安全但执行效率低;HashMap无锁,线程不安全,效率更高,日常开发优先使用HashMap。15.答案:B解析:try块必须搭配catch或finally使用;checked受检异常必须手动处理,运行时异常可不用捕获;无论try块正常执行或出现异常、return,finally代码块都会执行。16.答案:C解析:IOException是IO受检异常(编译异常),必须手动捕获或抛出;空指针、数组越界、类型转换异常均为运行时异常,程序运行时才会触发。17.答案:C解析:静态方法属于类,加载优先于对象;非静态方法属于对象,静态方法中无法直接调用非静态方法,必须通过对象调用。18.答案:C解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论