JAVA试题技能鉴定.docx
- 文档编号:29537390
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:39
- 大小:41.61KB
JAVA试题技能鉴定.docx
《JAVA试题技能鉴定.docx》由会员分享,可在线阅读,更多相关《JAVA试题技能鉴定.docx(39页珍藏版)》请在冰豆网上搜索。
JAVA试题技能鉴定
一、单选题
1.以下创建了几个对象(B)
StringA,B,C
A="a";
B="b":
A=A+B;
StringBufferD=newStringBuffer("abc");
D=D.append("567");
2.关于以下程序段,正确的说法是(C)
1.Strings1=“a”+“b”;
2.Strings2=newString(s1);
3.if(s1==s2)
4.System.out.println(“==issucceeded”);
5.if(s1.equals(s2))
6.System.out.println(“.equals()issucceeded”);
A.行4与行6都将执行B.行4执行,行6不执行
C.行6执行,行4不执行D.行4、行6都不执行
3.下列关于构造方法的叙述中,错误的是(C)
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
4.Java中(C)
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
5.给出下面代码段,哪行将引起一个编译时错误?
(D)
1)publicclassTest{
2)intn=0;
3)intm=0;
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringarg[]){
6)Testt1,t2;
7)intj,k;
8)j=3;k=5;
9)t1=newTest();
10)t2=newTest(k);
11)}
12)}
A.行1B.行4C.行6D.行9
6.关于以下程序代码的说明正确的是(D)
1.classHasStatic{
2.privatestaticintx=100;
3.publicstaticvoidmain(Stringargs[]){
4.HasStatichs1=newHasStatic();
5.hs1.x++;
6.HasStatichs2=newHasStatic();
7.hs2.x++;
8.hs1=newHasStatic();
9.hs1.x++;
10.HasStatic.x--;
11.System.out.println(“x=”+x);
12.}
13.}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:
x=103
D、程序通过编译,输出结果为:
x=102
7.Java的集合框架中重要的接口java.util.Collection定义了许多方法。
选项中哪个方法不是Collection接口所定义的?
(C)
A)intsize()
B)booleancontainsAll(Collectionc)
C)compareTo(Objectobj)
D)booleanremove(Objectobj)
8.给定的Java代码如下,关于Super的用法,以下描述正确的是(C)
classCextendsB
{
publicC()
{
super();
}
}
A.用来调用类B中定义的super()方法
B.用来调用类C中定义的super()方法
C.用来调用类B的无参构造方法
D.用来调用类B中第一个出现的构造方法
9.在下列几种排序方法中,要求内存量最大的是(D)
10.有关线程的哪些叙述是对的(D)
A.一旦一个线程被创建,它就立即开始运行。
B.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面
C.一个线程可能因为不同的原因停止(cease)并进入就绪状态。
D.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
二、多选题:
1.下面的说法正确的是(abcd)。
A.Java语言是面向对象的、解释执行的网络编程语言。
B.Java语言具有可移植性,是与平台无关的编程语言。
C.Java语言可对内存垃圾自动收集。
D.Java语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。
2.下列说法错误的有(BCD)
A.数组是一种对象
B.数组属于一种原生类
C.intnumber=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变
3.下列属于JAVA关键字的是(DE)
A.NULL
B.true
C.sizeof
D.implements
E.instanceof
4.不能用来修饰interface的有(ACD)
A.private
B.public
C.protected
D.Static
5.常见的工厂模式有哪几种(ABC)
A.简单工厂
B.工厂方法
C.抽象工厂
D.多态工厂
6.下面哪个方法可以在任何时候被任何线程调用(DEF)。
A.notify()
B.wait()
C.notifyAll()
D.sleep()
E.yield()
F.synchronized(this)
7.XML常见的解析方法有哪几种(ABCD)
A.SAX
B.DOM
C.JDOM
D.DOM4J
8.下面哪些判断是正确的(ACEG)。
A.Abstract不能和final并列修饰同一个类;
B.一个方法使用final修饰,则该方法所在的类不能被继承;
C.abstract方法所在的类必须是abstract类
D.static方法中能处理非static域
E.abstract类中能有private方法
F.abstract类中不能包含final修饰的方法
G.private可以和static一起修饰一个方法
9.国际化一个完整的Locale对象,需要提供以下哪些参数:
(AD)
A.Language
B.Bundle
C.Date
D.Country
10.编译并运行下面的程序,运行结果为(AB)
publicclassA
{
publicstaticvoidmain(String[]args)
{
Aa=newB();
a.test();
}
voidtest()
{
System.out.print("A");
}
}
classBextendsA
{
voidtest()
{
super.test();
System.out.println("B");
}
}
A.子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。
B.代码可以编译运行,并输出结果:
AB。
C.代码可以编译运行,并输出结果:
A。
D.类B定义了与父类A中同名的方法test,java中称为方法的重载
三、判断题
1.调试代码的时候,不要使用System.out和System.err进行打印,应该使用一个包含统一开关的测试类进行统一打印。
(T)
2.对接口方法参数的合法性检查不必强行规定由调用者负责还是由接口方法本身负责,因为所有的开发人员都会主动来跟踪这些问题。
(F)
3.对于运算符的优先级,可以使用默认优先级,没有必要用括号明确表达式的操作顺序,因为掌握这些知识是开发人员的基本技能。
(F)
4.浮点数可以用==,!
=进行比较,运行>,<运算。
(F)
5.集合中的数据如果不使用了应该及时释放,尤其是可重复使用的集合。
(T)
6.记录异常不要保存exception.getMessage(),而要记录exception.toString()。
示例:
NullPointException抛出时常常描述为空,这样往往看不出是出了什么错。
(T)
7.没有必要用调测开关来切换软件的DEBUG版和正式版,通常建议同时存在正式版本和DEBUG版本的不同源文件,这样虽然在一定程度上增加了维护的难度,但是也保证了代码的整洁。
(F)
8.明确方法功能,精确(而不是近似)地实现方法设计。
一个方法仅完成一件功能,即使简单功能也应该编写方法实现。
(T)
9.设计模式中应优先使用对象组合而不是类继承。
(T)
10.数组声明的时候使用int[]index,而不要使用intindex[]。
(T)
四、主观题
1.请写出下面JAVA程序的运行结果
classFruit
{
static
{
System.out.print("1");
}
publicFruit()
{
System.out.print("2");
}
}
classOrangeextendsFruit
{
static
{
System.out.print("a");
}
publicOrange()
{
System.out.print("b");
}
}
classHello
{
publicstaticvoidmain(String[]ars)
{
Fruitfru=newOrange();
fru=newOrange();
}
}
1a2b2b
2.下列程序实现简单的线程调度,请回答以下问题
1ThreadmyThread=newMyThreadClass();
2myThread.start();
3try
4{
5myThread.sleep(10000)
6}
7Catch(InterruptedExceptione)
8{
9}
10myThread.stop();
程序执行完第一行后,线程进入__新建__状态;
程序执行完第二行后,线程进入__就绪__状态;
程序开始执行第五行时,线程进入_阻塞___状态;
程序执行完第五行后,线程进入__就绪__状态;
程序执行完第十行后,线程进入__终止__状态;
1、1a2b2b
2、新建、可运行、阻塞、可运行、终止
选择题
1、JAVA所定义的版本中不包括:
(D)
A、JAVA2EE
B、JAVA2Card
C、JAVA2ME
D、JAVA2HE
E、JAVA2SE
2、下列说法正确的是(A)
A、JAVA程序的main方法必须写在类里面
B、JAVA程序中可以有多个main方法
C、JAVA程序中类名必须与文件名一样
D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
3、变量命名规范说法正确的是(B)
A、变量由字母、下划线、数字、$符号随意组成;
B、变量不能以数字作为开头;
C、A和a在java中是同一个变量;
D、不同类型的变量,可以起相同的名字;
4、下列javaDoc注释正确的是(C)
A、/*我爱北京天安门*/
B、//我爱北京天安门*/
C、/**我爱北京天安门*/
D、/*我爱北京天安门**/
5、为一个boolean类型变量赋值时,可以使用(B)方式
A、boolean=1;
B、booleana=(9>=10);
C、booleana="真";
D、booleana==false;
6、以下(C)不是合法的标识符
A、STRING
B、x3x;
C、void
D、de$f
7、表达式(11+3*8)/4%3的值是(D)
A、31
B、0
C、1
D、2
8、(A)表达式不可以作为循环条件
A、i++;
B、i>5;
C、bEqual=str.equals("q");
D、count==i;
9、运算符优先级别排序正确的是(A)
A、由高向低分别是:
()、!
、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B、由高向低分别是:
()、关系运算符、算术运算符、赋值运算符、!
、逻辑运算符;
C、由高向低分别是:
()、算术运算符、逻辑运算符、关系运算符、!
、赋值运算符;
D、由高向低分别是:
()、!
、关系运算符、赋值运算符、算术运算符、逻辑运算符;
10、以下程序的运行结果是:
(B)
publicclassIncrement{
publicstaticvoidmain(Stringargs[]){
inta;
a=6;
System.out.print(a);
System.out.print(a++);
System.out.print(a);
}
}
A.666
B.667
C.677
D.676
11、下列值不为true的表达式有(C)。
A、"john"=="john"
B、"john".equals("john")
C、"john"="john"
D、"john".equals(newString("john"))
12、下列输出结果是(C)
inta=0;
while(a<5){
switch(a){
case0:
case3:
a=a+2;
case1:
case2:
a=a+3;
default:
a=a+5;
}
}
System.out.print(a);
A、0
B、5
C、10
D、其他
13、下列代码输出结果是(B)
inti=10;
while(i>0){
i=i+1;
if(i==10){
break;
}
}
A.while循环执行10次
B.死循环
C.循环一次都不执行
D.循环执行一次
14、下面有关for循环的描述正确的是(A)
A、for循环体语句中,可以包含多条语句,但要用大括号括起来
B、for循环只能用于循环次数已经确定的情况
C、在for循环中,不能使用break语句跳出循环
D、for循环是先执行循环体语句,后进行条件判断
15、下列(AC)属于引用数据类型(选择两项)
A、String
B、char
C、用户自定义的Student类类型
D、int
16、对象的特征在类中表示为变量,称为类的(B)。
A、对象
B、属性
C、方法
D、数据类型
17、在java中下列关于自动类型转换说法正确的是(A)
A、基本数据类型和String相加结果一定是字符串型
B、char类型和int类型相加结果一定是字符
C、double类型可以自动转换为int
D、char+int+double+""结果一定是double;
18、关于类的描叙正确的是(BD)(选择两项)
A、在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C、使用别的类的方法仅仅需要引用方法的名字即可
D、一个类的方法使用该类的另一个方法时可以直接引用方法名
19、下列关于字符串的描叙中错误的是(BC)(选择两项)
A、字符串是对象
B、String对象存储字符串的效率比StringBuffer高
C、可以使用StringBuffersb="这里是字符串"声明并初始化StringBuffer对象sb
D、String类提供了许多用来操作字符串的方法:
连接,提取,查询等
20、以下(D)代码,能够对数组正确初始化(或者是默认初始化)。
A、int[]a;
B、a={1,2,3,4,5};
C、int[]a=newint[5]{1,2,3,4,5};
D、int[]a=newint[5];
21、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(B)
temp=score[0];
for(intindex=1;index<5;index++){
if(score[index] temp=score[index]; } } A.求最大数 B.求最小数 C.找到数组最后一个元素 D.编译出错 22、下面关于数组的说法中,错误的是(AB)(选择两项) A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空 B、数组可以在内存空间连续存储任意一组数据 C、数组必须先声明,然后才能使用 D、数组本身是一个对象 23、在Java中,关于构造方法,下列说法错误的是(C) A、构造方法的名称必须与类名相同 B、构造方法可以带参数 C、构造方法不可以重载 D、构造方法绝对不能有返回值 24、执行下面代码结果(D) for(inti=0;;){ System.out.println("这是"+i); break; } A、语法错误,缺少表达式2和表达式3 B、死循环 C、程序什么都不输出 D、输出: 这是0 25、下面代码输出结果是(B)。 inti=0,s=0; do{ if(i%2==0){ i++; continue; } i++; s=s+i; }while(i<7); System.out.println(s); A、16 B、12 C、28 D、21 26、下面(C)不是String类提供的合法的方法。 A、equals(String) B、trim() C、append() D、indexOf() 27、在JAVA中,以下(C)类的对象以键-值的方式存储对象 A、 B、 C、 D、 28、给定如下所示的JAVA代码,则运行时,会产生(B)类型的异常 Strings=null; s.concat("abc"); A.ArithmeticException B.NullPointerException C.IOException D.ClassNotFoundException 29、给定java代码如下所示,在A处新增下列(AC)方法,是对cal方法的重载(选择两项) publicclassTest { publicvoidcal(intx,inty,intz) { } //A } A.publicintcal(intx,inty,floatz){return0;} B.publicintcal(intx,inty,intz){return0;} C.publicvoidcal(intx,intz){} D.publicviodcal(intz,inty,intx){} 30、给定如下Java程序代码片段,编译运行这段代码,结果是(B)。 java.util.HashMapmap=newjava.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.get("name")); A.null B.Jack C.nullJack D.运行时出现异常 (key为null或value为null,或者两者都为null) 31、给定以下JAVA代码,这段代码编译运行后输出的结果是(C) publicclassTest{ publicstaticintaMethod(inti)throwsException{ try{ returni/10; }catch(Exceptionex){ thrownewException("exceptioninaaMothod"); }finally{ System.out.print("finally"); } } publicstaticvoidmain(String[]args){ try{ aMethod(0); }catch(Exceptionex){ System.out.print("exceptioninmain"); } System.out.print("finished"); } } A、finallyexceptioninmainfinished B、exceptioninmainfinally C、finallyfinished D、finallyexceptioninmainfinished 32、在Java中,下面对于构造函数的描述错误的是(BC)(选择两项) A、类不一定要显式定义构造函数 B、构造函数的返回类型是void C、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同 D、一个类可以定义多个构造函数 33、在Java语言中,下列关于类的继承的描述,正确的是(B)。 A、一个类可以继承多个父类 B、一个类可以具有多个子类 C、子类可以使用父类的所有方法 D、子类一定比父类有更多的成员方法 34、下列选项中关于Java中super关键字的说法正确的是(A)。 A、super关键字是在子类对象内部指代其父类对象的引用 B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法 35、在Java接口中,下列选项中有效的方法声明是(AB)。 (选择二项) A、publicvoidaMethod(); B、voidaMethod(); C、protectedvoidaMethod(); D、privatevoidaMethod(); 36、在JAVA的异常处理模型中,能单独和finally语句一起使用的块是(A)。 A、try B、catch C、throw D、throws 37、分析如下Java代码,编译运行后将输出(B)。 publicclassTest{ publicTest(){} sta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 试题 技能 鉴定