SUNJAVA.docx
《SUNJAVA.docx》由会员分享,可在线阅读,更多相关《SUNJAVA.docx(46页珍藏版)》请在冰豆网上搜索。
SUNJAVA
SunJava程序员模拟题
1.JDK由组成以下哪几部分组成?
(选三项)
A.Java编程语言
B.工具及工具的API
C.JavaEE扩展API
D.Java平台虚拟机
答案:
ABD
2.以下哪些包是Java标准库中常用的包?
(选三项)
A.javax.servlet.http
B.java.lang
C.java.util
D.java.sql
答案:
BCD
3.使用JDK工具生成的Java文档的文件格式是?
A.XML格式
B.HTML格式
C.二进制格式
D.自定义格式
答案:
B
4.以下关于Applet的描述,哪项错误?
A.一个Applet就是一段Java程序
B.Applet是一种特殊的Java程序,它需要运行在Web服务器上
C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上
D.Applet是一种JavaSE平台的应用程序
答案:
B
5.下列有关类、对象和实例的叙述,正确的是哪一项?
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
B.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
C.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
答案:
B
6.下列有关main()方法的签名正确的是哪些?
(选两项)
A.publicstaticvoidmain(String[]args){}
B.publicstaticvoidmain(){}
C.publicstaticvoidmain(Stringargs[]){}
D.publicvoidstaticmain(String[]args){}
答案:
AC
7.下列有关类声明的代码片段,哪一项是正确的?
A.importjava.sql.*;
packageschool;
classStudent{
}
B.packageschool;
importjava.sql.*;
classStudent{
}
C.packageschool;
classStudent{
}
importjava.sql.*;
D.packageschool;
importjava.sql.*;
privateStringname;
classStudent{
}
答案:
B
8.现有:
1.classTestFoo{
2.intx;
3.Stringy;
4.intgetX(){returnx;}
5.StringgetY(){returny;}
6.voidsetX(intx){
7.intz=7;
8.this.x=x;
9.}
10.}
可以添加多少个修饰符来封装此类?
A.2
B.3
C.4
D.5
答案:
A
9.有关new关键字的描述正确的是哪项?
A.new会调用类的构造器来创建对象
B.new所创建的对象不占用内存空间
C.创建对象实例的时候可以不使用new关键字
D.new所创建的对象一定存在引用变量
答案:
A
10.下述代码执行后,有几个引用变量和几个对象?
Studentstu=newStudent(“Mike”);
Studentstua;
Stua=stu;
A.2个引用变量,1个对象
B.1个引用变量,1个对象
C.2个引用变量,2个对象
D.1个引用变量,2个对象
答案:
A
11.下列关于Java对象清除的叙述正确的是哪项?
A.对象被创建后,立刻变成垃圾对象
B.任何不再被引用的对象都是垃圾收集的对象
C.一旦对象失去引用,垃圾收集器立刻把它从内存中清除
D.Java对象的清除必须自己手动处理
答案:
B
12.下列哪项不是int类型的字面量?
A.20
B.077
C.0xABBC
D.\u03A6
答案:
D
13.类Student代码如下:
classStudent{
Stringname;
intage;
Student(Stringnm){
name=nm;
}
}
执行语句Studentstu=newStudent()后,字段age的值是哪项?
A.0
B.null
C.false
D.编译错误
答案:
D
14.下列哪项不是Java语言中所规定的注释样式?
A.//单行注释
B.--单行注释
C./*
*单行或多行注释
*/
D./**
*文档注释
*/
答案:
B
15.下列哪项不是Java语言的关键字?
A.goto
B.instanceof
C.sizeof
D.volatile
答案:
C
16.现有:
3.classParserextendsUtils{
4.publicstaticvoidmain(String[]args){
5.System.out.print(newParser().getInt("42"));
6.}
7.intgetInt(Stringarg){
8.returnInteger.parseInt(arg);
9.}
10.}
11.classUtils{
12.intgetInt(Stringarg)throwsException{return42;}
13.}
结果为:
A.42
B.编译失败。
C.无输出结果。
D.运行时异常被抛出。
答案:
A
17.现有:
1.interfaceAltitude{
2.//insertcodehere
3.}
和4个声明:
intHIGH=7;
publicintHIGH=7;
abstractintHIGH=7;
interfaceintHIGH=7;
分别插入到第2行,有多少行可以编译?
A.0
B.1
C.2
D.3
E.4
答案:
C
18.类Teacher:
classTeacher{
Stringname;
floatsalary;
Teacher(Stringname){
this.name=name;
}
Teacher(Stringname,floatsalary){
this.name=name;
this.salary=salary;
}
}
执行语句Teachert=newTeacher(“Tom”,2000.0f);后,字段salary的值是哪一项?
A.2000.0f
B.0.0f
C.null;
D.2000
答案:
A
19.Java语言中表达式10/3的结果是哪项?
A.3.3
B.3.33
C.3
D.3.0
答案:
C
20.Java语言中表达式-12>>3的结果是哪项?
A.-4
B.-9
C.-1
D.-2
答案:
D
21.下列赋值语句正确的是哪一项?
A.longval=6;
B.intage=23L;
C.shortx=1,y=2,z
z=x+y;
D.inta=‘A’;
答案:
D
22.假设有2个整数x和y,表达式x>=y?
x:
y的含义是哪项?
A.求2个数的较大数
B.求2个数的较小数
C.把y的值赋给x
D.把x的值赋给y
答案:
A
23.程序:
classTestApp{
publicstaticvoidmain(String[]args){
for(inti=0;i<5;i++)
System.out.print(i+1);
System.out.println(i);
}
}
上述程序运行后的结果是哪项?
A.123456
B.123455
C.123450
D.编译错误
答案:
D
24.程序:
classTestApp{
publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
if(i==3)
break;
System.out.print(i);
}
}
}
程序运行后的输出是哪项?
A.0123
B.012
C.0123456789
D.012456789
答案:
B
25.程序:
classTestApp{
publicstaticvoidmain(String[]args){
System.out.println(multiply(2,3,4,5));
}
publicintmultiply(int…nums){
intresult=1;
for(intx:
nums)
result*=x;
returnresult;
}
}
程序运行后的输出是哪项?
A.14
B.编译错误
C.120
D.24
答案:
C
26.程序:
classTestReference{
publicstaticvoidmain(String[]args){
intx=2;
TestReferencetr=newTestReference();
System.out.print(x);
tr.change(x);
System.out.print(x);
}
publicvoidchange(intnum){
num=num+1;
}
}
程序运行后的输出是哪项?
A.23
B.21
C.22
D.编译错误
答案:
C
27.运行时,数组以哪种方式存在?
A.对象
B.基本类型变量
C.引用类型变量
D.视具体情况而定
答案:
A
28.现有:
publicinterfaceA{}
以下哪项声明是合法的?
A.Aa=newA();
B.A[]a=newA[];
C.A[]a=newA[10];
D.以上皆错
答案:
C
29.已知数组array,其最后一个元素的下标是?
A.array.size
B.array.length
C.array.size-1
D.array.length-1
答案:
D
30.为将数组myArray的长度由6改为10,现采取以下编码:
int[]myArray=newint[6];
myArray=newint[10];
代码执行后,以下叙述哪项是正确的?
A.数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素的值为空。
B.数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素需再经过初始化后才能使用。
C.数组myArray的长度已由6改为10,原来6个元素的值全部丢失。
D.数组myArray的长度没有变化。
答案:
C
31.下列关于继承优点的叙述正确的是哪几项?
(选三项)
E.可以创建更为特殊的类型
F.消除重复代码
G.便于维护
H.执行效率高
答案:
ABC
32.下列有关父类属性和方法继承规则的描述错误的是哪项?
A.父类中private修饰的属性和方法在子类中不被继承
B.父类中public修饰的属性和方法在子类中被继承且可访问
C.父类中protected修饰的属性和方法在子类中被继承且可访问
D.父类中default修饰的属性和方法在子类中被继承,若父类和子类在同一个包中,则也可访问
答案:
A
33.publicclassParent{
publicvoidchange(intx){}
}
publicclassChildextendsParent{
//覆盖父类change方法
}
下列哪个声明是正确的覆盖了父类的change方法?
A.protectedvoidchange(intx){}
B.publicvoidchange(intx,inty){}
C.publicvoidchange(Strings){}
D.publicvoidchange(intx){}
答案:
D
34.publicclassEmployee{
privateStringname;
publicEmployee(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
}
publicclassManagerextendsEmployee{
publicManager(Stringname){
System.out.println(getName());
}
}
执行语句newManager(“smith”)后程序的输出是哪项?
A.smith
B.null
C.编译错误
D.name
答案:
C
35.publicclassEmployee{
privateStringname;
publicEmployee(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
}
publicclassManagerextendsEmployee{
privateStringdepartment;
publicManager(Stringname,Stringdepartment){
this.department=department;
super(name);
System.out.println(getName());
}
}
执行语句newManager(“smith”,”SALES”)后程序的输出是哪项?
A.smith
B.null
C.SALES
D.编译错误
答案:
D
36.publicclassPet{
privateStringname;
publicPet(){
System.out.print
(1);
}
publicPet(Stringname){
System.out.print
(2);
}
}
publicclassDogextendsPet{
publicDog(Stringname){
System.out.print(3);
}
}
执行newDog(“棕熊”);后程序输出是哪项?
A.23
B.13
C.123
D.321
答案:
B
37.publicclassPet{
privateStringname;
publicPet(){
System.out.print
(1);
}
publicPet(Stringname){
System.out.print
(2);
}
}
publicclassDogextendsPet{
publicDog(){
System.out.print(4);
}
publicDog(Stringname){
this();
System.out.print(3);
}
}
执行newDog(“棕熊”);后程序输出是哪项?
A.143
B.423
C.243
D.1134
答案:
A
38.publicclassPet{
privateStringname;
publicPet(){
System.out.print
(1);
}
publicPet(Stringname){
System.out.print
(2);
}
}
publicclassDogextendsPet{
publicDog(){
System.out.print(4);
}
publicDog(Stringname){
super(name);
System.out.print(3);
}
}
执行newDog(“棕熊”);后程序输出是哪项?
A.33
B.13
C.23
D.123
答案:
C
39.publicclassEmployee{
privateStringname;
publicEmployee(Stringname){
this.name=name;
}
publicvoiddisplay(){
System.out.print(name);
}
}
publicclassManagerextendsEmployee{
privateStringdepartment;
publicManager(Stringname,Stringdepartment){
super(name);
this.department=department;
}
publicvoiddisplay(){
System.out.println(super.display()+”,”+department);
}
}
执行语句newManager(“smith”,”SALES”)后程序的输出是哪项?
A.smith,SALES
B.null,SALES
C.smith,null
D.null,null
E.编译错误
答案:
A
40.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?
A.abstract
B.final
C.static
D.new
答案:
B
41.Java语言中常量的定义是哪项?
A.publicstatic
B.publicstaticfinal
C.final
D.publicstaticabstract
答案:
B
42.为了使得System.out.println()输出对象引用的时候得到有意义的信息,我们应该覆盖Object中的哪个方法?
A.equals
B.hashCode
C.toString
D.notify
答案:
C
43.表达式”hello”instanceofString返回的值是哪项?
A.true
B.false
C.1
D.0
E.hello
答案:
A
44.程序:
classMyDate{
privateintyear;
privateintmonth;
privateintday;
publicMyDate(intyear,intmonth,intday){
this.year=year;
this.month=month;
this.day=day;
}
//OverrideMethod
}
为了让newMyDate(1980,11,9)==newMyDate(1980,11,9)返回true,必须在OverrideMethod处覆盖哪个方法?
A.hashCode
B.equals
C.toString
D.notify
答案:
B
45.publicclassPet{
privateStringname;
publicPet(Stringname){
this.name=name;
}
publicvoidspeak(){
System.out.print(name);
}
}
publicclassDogextendsPet{
publicDog(Stringname){
super(name);
}
publicvoidspeak(){
super.speak();
System.out.print(“Dog”);
}
}
执行代码
Petpet=newDog(“京巴”);
pet.speak();
后输出的内容是哪项?
A.京巴
B.京巴Dog
C.null
D.Dog京巴
答案:
B
46.publicclassPet{
privatestaticStringname;
publicPet(Stringname){
this.name=name;
}
publicstaticvoidspeak(){
System.out.print(name);
}
}
publicclassDogextendsPet{
publicDog(Stringname){
super(name);
}
publicstaticvoidspeak(){
super.speak();
System.out.print(“Dog”);
}
}
执行代码
Petpet=newDog(“京巴”);
pet.speak();
后输出的内容是哪项?
A.京巴
B.京巴Dog
C.null
D.Dog京巴
答案:
A
47.现有:
1.classAlpha{voidm1(){}}
2.classBetaextendsAlpha{voidm2(){}}
3.classGammaextendsBeta{}
4.
5.classGreekTest{
6.publicstaticvoidmain(String[]args){
7.Alpha[]a={newAlpha(),newBeta(),newGamma()};
8.for(Alphaa2:
a){
9.a2.m1();
10.if(a2instanceofBeta||a2instanceofGamma)
11.//insertcodehere
12.}
13.}
14.}
哪一行代码插入到第11行,将编译但是会在运行时产生异常?
A.a2.m2();
B.((Beta)a2).m2();
C.((Alpha)a2).m2();
D.((Gamma