java语言程序设计测试题含答案.docx
- 文档编号:24797931
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:33
- 大小:27.18KB
java语言程序设计测试题含答案.docx
《java语言程序设计测试题含答案.docx》由会员分享,可在线阅读,更多相关《java语言程序设计测试题含答案.docx(33页珍藏版)》请在冰豆网上搜索。
java语言程序设计测试题含答案
java语言程序设计测试题含答案
您的姓名:
[填空题]*
_________________________________
1.Java属于以下哪种语言?
[单选题]*
机器(正确答案)
汇编
高级
都不是
2.下面哪种类型的文件可以在Java虚拟机中运行?
[单选题]*
A、.java
B、.jre
C、.exe
D、.class(正确答案)
3.如果jdk的安装路径为:
d:
\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?
[单选题]*
d:
\jdk;
B.d:
\jdk\bin(正确答案)
C.d:
\jre\bin;
D.d:
\jre;
4.()以下选项中,哪些属于合法的标识符?
[单选题]*
A、Hello_World(正确答案)
B、class
C、123username
D、username123
5.()以下关于变量的说法错误的是?
[单选题]*
A、变量名必须是一个有效的标识符
B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序中的任何位置都可以被访问(正确答案)
D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
6.()以下关于变量的说法错误的是?
[单选题]*
A、变量名必须是一个有效的标识符
B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序中的任何位置都可以被访问(正确答案)
D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
7.()假设intx=2,三元表达式x>0?
x+1:
5的运行结果是以下哪一个?
[单选题]*
A、0
B、2
C、3(正确答案)
D、5
8.(A)下面的运算符中,用于执行除法运算是哪个?
[单选题]*
/(正确答案)
B、\
C、%
D、*
9.(A)下列语句哪些属于循环语句?
[单选题]*
for语句(正确答案)
B、if语句
C、break语句
D、switch语句
10.(A)下面哪种写法可以实现访问数组arr的第1个元素?
[单选题]*
arr[0](正确答案)
B、arr(0)
C、arr[1]
D、arr
(1)
11.()以下哪个选项可以正确创建一个长度为3的二维数组?
[单选题]*
A、newint[2][3];
B、newint[3][];(正确答案)
C、newint[][3];
D、以上答案皆不对
12.()请先阅读下面的代码。
intx=1;
inty=2;
if(x%2==0){
y++;
}else{
y--;
}
System.out.println("y="+y);
[单选题]*
A、1(正确答案)
B、2
C、3
D、switch语句
13.(B)类的定义必须包含在以下哪种符号之间?
[单选题]*
方括号[]
B、花括号{}(正确答案)
C、双引号“”
D、圆括号()
14.()下面哪一个是正确的类的声明?
[单选题]*
A、publicvoidHH{…}
B、publicclassMove(){…}
C、publicclassvoidnumber{}
D、publicclassCar{…}(正确答案)
15.()在以下什么情况下,构造方法会被调用?
[单选题]*
A、类定义时
B、创建对象时(正确答案)
C、调用对象方法时
D、使用对象的变量时
16.()下面对于构造方法的描述,不正确是?
[单选题]*
A、方法名必须和类名相同
B、方法名的前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在(正确答案)
17.(B)下面哪些不可以使用static关键字修饰?
[单选题]*
成员变量
B、局部变量(正确答案)
C、成员方法
D、成员内部类
18.()请先阅读下面的代码
publicclassTest{
publicTest(){
System.out.println("构造方法一被调用了");
}
publicTest(intx){
this();
System.out.println("构造方法二被调用了");
}
publicTest(booleanb){
this
(1);
System.out.println("构造方法三被调用了");
}
publicstaticvoidmain(String[]args){
Testtest=newTest(true);
}
}
[单选题]*
A、构造方法一被调用了
B、构造方法二被调用了
C、构造方法三被调用了
D、以上三个选项之和(正确答案)
19.()Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的?
[单选题]*
A、Innerin=newInner()
B、Innerin=newOuter.Inner();
C、Outer.Innerin=newOuter.Inner();
D、Outer.Innerin=newOuter().newInner();(正确答案)
20.(B)在类的继承关系中,需要遵循以下哪个继承原则?
[单选题]*
多重(正确答案)
B、单一
C、双重
D、不能继承
21.()在Java语言中,以下哪个关键字用于在方法上声明抛出异常?
[单选题]*
A.try
B.catch
C.throws(正确答案)
D.throw
22.()关于super关键字以下说法不正确的是?
[单选题]*
A、super关键字可以调用父类的构造方法
B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中
D、super与this可以同时存在于同一个构造方法中(正确答案)
23.()类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?
[单选题]*
A、public
B、protected
C、private(正确答案)
D、default
24.()关于抽象类的说法哪些是正确的?
[单选题]*
A、抽象类中可以有非抽象方法。
(正确答案)
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、可以用抽象类去创建对象。
D、接口和抽象类是同一个概念。
25.()在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?
[单选题]*
A、inherits
B、implements
C、extends(正确答案)
D、modifies
26.()System类位于以下哪个包中?
[单选题]*
A、java.io
B、java.util
C、java.awt
D、java.lang(正确答案)
27.()已知类的继承关系如下:
classEmployee;
classManagerextendsEmployee;
classDirectorextendsEmployee;
则以下语句能通过编译的有哪些?
[单选题]*
A、Employeee=newManager();(正确答案)
B、Directord=newManager();
C、Directord=newEmployee();
D、Managerm=newDirector();
28.()编译运行下面的程序,结果是什么?
publicclassA{
publicstaticvoidmain(String[]args){
Bb=newB();
b.test();
}
voidtest(){
System.out.print("A");
}
}
classBextendsA{
voidtest(){
super.test();
System.out.print("B");
[单选题]*
A、产生编译错误
B、代码可以编译运行,并输出结果AB(正确答案)
C、代码可以编译运行,但没有输出
D、编译没有错误,但会产生运行时异常
29.()Thread类位于下列哪个包中?
[单选题]*
A、java.io
B、java.lang(正确答案)
C、java.util
D、java.awt
30.()关于线程的创建过程,下面四种说法正确的有哪些?
[单选题]*
A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法(正确答案)
B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C、定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的stop()方法
D、定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
31.()对于通过实现Runnable接口创建线程,下面说法不正确的是?
[单选题]*
A、适合多个相同程序代码的线程去处理同一个资源的情况
B、把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想
C、可以避免由于Java的单继承带来的局限性
D、编写简单,可以不通过Thread类直接创建线程(正确答案)
32.()对于线程的生命周期,下面四种说法正确的有哪些?
[单选题]*
A、调用了线程的start()方法,该线程就进入运行状态
B、线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态(正确答案)
C、线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前不可以像引用其它对象一样引用它
D、线程进入死亡状态后,调用它的start()方法仍然可以重新启动
33.()对于死锁的描述,下面四种说法不正确的是?
[单选题]*
A、当两个线程互相等待对方释放同步锁时会发生死锁
B、Java虚拟机没有检测和处理死锁的措施
C、一旦出现死锁,程序会发生异常(正确答案)
D、处于死锁状态的线程处于阻塞状态,无法继续运行
34.()下面四个选项中,哪些不是线程进入阻塞状态的原因?
[单选题]*
A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
B、线程调用了另一个线程的join()方法
C、当线程调用了一个阻塞式的IO方法
D、线程调用了setDaemon(booleanb)方法(正确答案)
35.()线程调用sleep()方法后,该线程将进入以下哪种状态?
[单选题]*
A、就绪状态
B、运行状态
C、阻塞状态(正确答案)
D、死亡状态
36.()在以下哪种情况下,线程进入就绪状态?
[单选题]*
A、线程调用了sleep()方法时
B、线程调用了join()方法
C、线程调用了yield()方法时
D、线程调用了notify()方法(正确答案)
37.()下面四个选项中,对线程同步的目的描述正确的有哪些?
[单选题]*
A、锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误(正确答案)
B、降低线程的执行效率
C、让线程独占一个资源
D、让多个线程同时使用一个资源
38.(C)先阅读下面的程序片段:
Stringstr="abccdefcdh";
String[]arr=str.split("c");
System.out.println(arr.length);
[单选题]*
A、2个
B、3个
C、4个(正确答案)
D、5个
39.(C)以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?
[单选题]*
A、ceil()B、floor()C、abs()D、random()(正确答案)
40.(C)以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?
[单选题]*
A、ceil()
B、floor()
C、abs()(正确答案)
D、random()
41.()Random对象能够生成以下哪种类型的随机数?
[单选题]*
A、int
B、string
C、double
D、A和C(正确答案)
42.()Strings="abcdedcba";则s.substring(3,4)返回的字符串是以下选项中的哪个?
[单选题]*
A、cd
B、de
C、d(正确答案)
D、e
43.()假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?
[单选题]*
A、false
B、0
C、-1(正确答案)
D、以上答案都不对
44.()要产生[20,999]之间的随机整数可以使用以下哪个表达式?
[单选题]*
A.(int)(20+Math.random()*97)
B.20+(int)(Math.random()*980)(正确答案)
C.(int)Math.random()*999
D.20+(int)Math.random()*980
45.()以下Math类的方法中,-4.4通过哪个方法运算后,结果为-5.0?
[单选题]*
A.round()
B.min()
C.floor()(正确答案)
D.ceil()
46.()下面的程序段执行后,输出的结果是以下哪个选项?
[单选题]*
StringBufferbuf=newStringBuffer("Beijing2008");
buf.insert(7,"@");
System.out.println(buf.toString());
A、Beijing@2008B、@Beijing2008C、Beijing2008@D、Beijing#2008(正确答案)
47.()下面的程序段执行后,输出的结果是以下哪个选项?
StringBufferbuf=newStringBuffer("Beijing2008");
buf.insert(7,"@");
System.out.println(buf.toString());
[单选题]*
A、Beijing@2008(正确答案)
D、Beijing#2008
C、Beijing2008@
B、@Beijing2008
48.()阅读下面的程序:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti;
floatf=2.3f;
doubled=2.7;
i=((int)Math.ceil(f))*((int)Math.round(d));
System.out.println(i);
}
}
程序执行后,运行结果为以下哪个选项?
[单选题]*
A、 9(正确答案)
5
6
6.1
49.(B)先阅读下面的程序片段:
[单选题]*
Stringstr1=newString("java");(正确答案)
Stringstr2=newString("java");
StringBufferstr3=newStringBuffer("java");
对于上述定义的变量,以下表达式的值为true的是哪个?
str1==str2; B、str1.equals(str2); C、str1==str3; D、以上都不对
50.()要想保存具有映射关系的数据,可以使用以下哪些集合?
[单选题]*
A、ArrayList
B、Tree_Map
C、HashMap(正确答案)
D、TreeSet
(A)Java语言中,集合类都位于哪个包中?
A、java.utilB、java.langC、java.arrayD、java.collections
51.()使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?
[单选题]*
A、next()
B、hash()
C、hasPrevious()
D、hasNext()(正确答案)
52.()关于foreach循环的特点,以下说法不正确的是?
[单选题]*
A、foreach循环在遍历集合时,无需获得容器的长度
B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句
C、foreach循环在遍历集合时非常繁琐(正确答案)
D、foreach循环的语法格式为:
for(容器中元素类型临时变量:
容器变量)。
53.()在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?
[单选题]*
A、HashMap
B、TreeSet
C、Properties(正确答案)
D、TreeMap
54.()使用Enumeration遍历集合时,需要使用以下哪些方法?
[单选题]*
A、has_MoreElements()
B、nextElement()(正确答案)
C、next()
D、hashNext()
55.()要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个集合?
[单选题]*
A、LinkedList
B、ArrayList
C、hashSet
D、TreeSet(正确答案)
56.()下列哪些说法是正确的?
[单选题]*
A、LinkedList集合在查询元素时效率较高
B、ArrayList集合在查询元素时效率较高(正确答案)
C、HashMap不允许出现一对null键null值
D、HashSet集合中元素可重复并且无序
57.()以下哪些方法不是LinkedList集合中定义的?
[单选题]*
A、getLast()
B、getFirst()
C、remove(intindex)
D、next()(正确答案)
58.()获取单列集合中元素的个数可以使用以下哪个方法?
[单选题]*
A、length()
B、size()(正确答案)
C、get(intindex)
D、add(Objectobj)
59.Java语言不区分大小写[判断题]
对
错(正确答案)
60.0xC5表示的是一个十六进制整数。
[判断题]
对(正确答案)
错
61.continue语句只用于循环语句中,它的作用是跳出循环。
。
[判断题]
对
错(正确答案)
62.“/*…*/”中可以嵌套“//”注释,但不能嵌套“/*…*/”注释。
[判断题]
对(正确答案)
错
63.,,-5%3的运算结果是2[判断题]
对
错(正确答案)
64.在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。
[判断题]
对(正确答案)
错
65.Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。
[判断题]
对(正确答案)
错
66.声明构造方法时,不能使用private关键字修饰。
[判断题]
对
错(正确答案)
67.类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。
[判断题]
对(正确答案)
错
68.方法内部类中不能访问外部类的成员变量[判断题]
对
错(正确答案)
69.抽象方法必须定义在抽象类中,所以抽象类中的方法都是抽象方法[判断题]
对
错(正确答案)
70.Java中被final关键字修饰的变量,不能被重新赋值。
[判断题]
对(正确答案)
错
71.不存在继承关系的情况下,也可以实现方法重写[判断题]
对
错(正确答案)
72.package声明语句应当为Java源文件中的第一条语句。
[判断题]
对(正确答案)
错
73.接口中只能定义常量和抽象方法。
[判断题]
对(正确答案)
错
74.当我们创建一个线程对象时,该对象表示的线程就立即开始运行。
[判断题]
对
错(正确答案)
75.如果前台线程全部死亡,后台线程也会自动死亡。
[判断题]
对(正确答案)
错
76.同步代码块中的锁对象可以是任意类型的对象。
[判断题]
对(正确答案)
错
77.静态方法不能使用synchronized关键字来修饰。
[判断题]
对
错(正确答案)
78.线程结束等待或者阻塞状态后,会进入运行状态。
[判断题]
对
错(正确答案)
79.String对象和StringBuffer对象都是字符串变量,创建后都可以修改[判断题]
对
错(正确答案)
80.用运算符“==”比较字符串对象时,如果两个字符串的值相同,结果为true。
[判断题]
对
错(正确答案)
81.System类中的currentTimeMillis()方法返回一个long类型的值。
[判断题]
对(正确答案)
错
82.Date、Calendar以及DateFormat类都位于java.util包中[判断题]
对
错(正确答案)
83.String类的方法replace(CharSequencesrt1,CharSequencesrt2)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srt1得到的。
[判断题]
对(正确答案)
错
84.Set集合是通过键值对的方式来存储对象的。
[判断题]
对
错(正确答案)
85.集合中不能存放基本数据类型,而只能存放引用数据类型。
[判断题]
对(正确答案)
错
86.如果创建的TreeSet集合中没有传入比较器,则该集合中存入的元素需要实现Comparable接口。
[判断题]
对(正确答案)
错
87.使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。
[判断题]
对
错(正确答案)
88.LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的引用。
[判断题]
对(正确答案)
错
89.Java的三大体系分别是______、______、______[填空题]
空1答案:
JavaEE
空2答案:
Java
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 语言程序设计 测试 答案