SunJava程序员模拟题Word文档格式.docx
《SunJava程序员模拟题Word文档格式.docx》由会员分享,可在线阅读,更多相关《SunJava程序员模拟题Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
A.publicstaticvoidmain(String[]args){}
B.publicstaticvoidmain(){}
C.publicstaticvoidmain(Stringargs[]){}
D.publicvoidstaticmain(String[]args){}
AC
main()函数的定义
7•下列有关类声明的代码片段,哪一项是正确的?
A.importjava.sql.*;
packageschool;
classStudent{
B.packageschool;
importjava.sql.*;
classStudent{
}
C.packageschool;
D.packageschool;
privateStringname;
package需要放在开头,import放在package下面
8.现有:
1.[Public/priject]classTestFoo{
2.intx;
3.Stringy;
4.
(4,5,6是方法)
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
Public和priject
9.有关new关键字的描述正确的是哪项?
A.new会调用类的构造器来创建对象
B.new所创建的对象不占用内存空间
C.创建对象实例的时候可以不使用new关键字
D.new所创建的对象一定存在引用变量
new是创建一个对象,在内存中有真实分配的内存
Mike”);
10.下述代码执行后,有几个引用变量和几个对象?
Studentstu=newStudent(
Studentstua;
Stua=stu;
A.2个引用变量,1个对象
B.1个引用变量,1个对象
C.2个引用变量,2个对象
D.1个引用变量,2个对象答案:
(对象)
考的是对象和变量的引用,new一次就是产生一个新的实例所以是一个对象,两个引用变量。
11.下列关于Java对象清除的叙述正确的是哪项?
A.对象被创建后,立刻变成垃圾对象
B.任何不再被引用的对象都是垃圾收集的对象
C.一旦对象失去引用,垃圾收集器立刻把它从内存中清除
D.Java对象的清除必须自己手动处理答案:
Java对于托管资源是有Java虚拟机进行管理清除,当内存空间到达一定限度就会清除内存中失去引用的非托管资源,具体大小貌似要看JVM堆的大小
12.下列哪项不是int类型的字面量?
A.20
B.077
C.0xABBC
D.\u03A6
D
A.十进制,B.八进制,C.十六进制D.是Unicode字符
13.类Student代码如下:
Stringname;
intage;
Student(Stringnm){
name=nm;
后,字段age的值是哪项?
执行语句Studentstu=newStudent()
A.0
B.null
C.false
D.编译错误
D
没有给Student()传参数
14•下列哪项不是Java语言中所规定的注释样式?
A.//单行注释
B.--单行注释
C./*
*单行或多行注释
*/
D./**
*文档注释
考java注释样式,B(--是数据库的注释样式)
15.下列哪项不是Java语言的关键字?
A.goto
B.instanceof
C.sizeof
D.volatile
C
goto只是作为保留字,现在没有用到,instanceof是Java的一个二元操作符,和==,>
<
是同一类东东。
由于它是由字母组成的,所以也是Java的保留关键字。
用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。
volatile很容易
被误用,用来进行原子性操作
16.现有:
publicstaticvoidmain
(String[]args
5.
System.out.print(
newParser().getInt
6.
7.
intgetInt(Stringarg
){
8.
returnInteger.parseInt
(arg);
9.
10.
11.
classUtils{
12.
intgetInt(Stringarg
)throwsException
13.
结果为:
A.
42
B.
编译失败。
C.
无输出结果。
D.
运行时异常被抛出。
)
{return42;
17.现有:
1.interfaceAltitude{
2.//insertcodehere
3.}
和4个声明:
intHIGH=7;
//等价于publicstatic接口只有常量的定义(对的)
静态的)final
最终的)intHIGH=7;
publicintHIGH=7;
abstractintHIGH=7;
interfaceintHIGH=7;
对的)
接口前修饰
分别插入到第2行,有多少行可以编译?
A.0
B.1
C.2
D.3
E.4
C
18.类Teacher:
classTeacher{
floatsalary;
Teacher(Stringname){
this.name=name;
Teacher(Stringname,floatsalary){
this.salary=salary;
执行语句Teachert=newTeacher(Tom”2000.0f);
后,字段salary的值是哪一项?
A.2000.0f
B.0.0f
C.null;
D.2000
A解析:
调用的是有两个参数的构造函数,所有输出A
19.Java语言中表达式10/3的结果是哪项?
A.3.3
B.3.33
C.3
D.3.0
两个整数得到的是整数
20.Java语言中表达式-12>
>
3的结果是哪项?
A.-4
B.-9
C.-1
D.-2
12的二进制是00001100、-12的二进制是-11110100右移三位是-2
21.下列赋值语句正确的是哪一项?
A.longval=6;
B.intage=23L;
C.shortx=1,y=2,z
z=x+y;
D.inta=‘A'
;
inta=‘A'
(A=65)
22.假设有2个整数x和y,表达式x>
=y?
x:
y的含义是哪项?
A.求2个数的较大数
B.求2个数的较小数
C.把y的值赋给x
D.把x的值赋给y
求2个数的较大数
23.程序:
classTestApp{
Inti=0;
publicstaticvoidmain(String[]args){
for(inti=0;
i<
5;
i++)
System.out.print(i+1);
System.out.println(i);
(i没有定义)
上述程序运行后的结果是哪项?
A.123456
B.123455
C.123450
System.out.println(i);
(i没有定义)
24.程序:
10;
i++){if(i==3)
break;
System.out.print(i);
程序运行后的输出是哪项?
A.0123
B.012
C.0123456789
D.012456789
有3就是错的,因为在if(i=3)的时候就break了,跳出循环。
所以就只有打印
25.程序:
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
26.程序:
classTestReference{
publicstaticvoidmain(String[]args){intx=2;
TestReferencetr=newTestReference();
System.out.print(x);
tr.change(x);
publicvoidchange(intnum){
num=num+1;
A.23
B.21
C.22
D.编译错误答案:
num=num+1,先赋值在加
27•运行时,数组以哪种方式存在?
A.对象
B.基本类型变量
C.引用类型变量
D.视具体情况而定
数组在运行时是以对象的形式存在的
28.现有:
publicinterfaceA{}
以下哪项声明是合法的?
A.Aa=newA();
B.A[]a=newA[];
C.A[]a=newA[10];
D.以上皆错
C解析:
数组的定义,A[]a=newA[10]
29.已知数组array,其最后一个元素的下标是?
A.array.size
B.array.length
C.array.size-1
D.array.length-1
-1,array.length-1
数组的下标是从0开始的,所以最后一个下标是数组的长度
Array.size没有这个方法,集合的大小才是size();
30.为将数组myArray的长度由6改为10,现采取以下编码:
int[]myArray=newint[6];
myArray=newint[10];
代码执行后,以下叙述哪项是正确的?
A.数组myArray
B.数组myArray
初始化后才能使用。
的长度已由6改为10,其中前6个兀素的值不变,后四个兀素的值为空。
的长度已由6改为10,其中前6个元素的值不变,后四个元素需再经过
C.数组myArray
D.数组myArray
的长度已由6改为10,原来6个兀素的值全部丢失。
的长度没有变化。
myArray的长
在重新实例化了一个对象数组,那么就是重新分配了空间内存,所以度改为了10,但是已经初始化了。
原来的元素已经丢失。
31.下列关于继承优点的叙述正确的是哪几项?
A.可以创建更为特殊的类型
B.消除重复代码
C.便于维护
D.执行效率高
ABC
继承的特点:
代码优化,调理更清晰。
易于管理,继承避免了对一般类和特殊类之间共同特征进行的重复描述。
比如父
类有一个属性,子类只需继承,就不需要再声明了。
提高了代码的重用性
32.下列有关父类属性和方法继承规则的描述错误的是哪项?
A.父类中private修饰的属性和方法在子类中不被继承
B.父类中public修饰的属性和方法在子类中被继承且可访问
C.父类中protected修饰的属性和方法在子类中被继承且可访问
D.父类中default修饰的属性和方法在子类中被继承,若父类和子类在同一个包中,则也可访问
A
考点是权限的使用,final类不能被继承,final方法不能被子类覆盖override
用final修饰的变量表示常量(不允许再被赋值)
33.publicclassParent{
publicvoidchange(intx){}
publicclassChildextendsParent{
//覆盖父类change方法
下列哪个声明是正确的覆盖了父类的change方法?
A.protectedvoidchange(intx){}
B.publicvoidchange(intx,inty){}
C.publicvoidchange(Strings){}
D.publicvoidchange(intx){}
方法重写的定义
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的
方法)
2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类
访问级别)
根据2,3条是不是能确定第一条,子类方法的返回值必须是父类方法返回值的子类。
34.publicclassEmployee{
publicEmployee(Stringname){this.name=name;
publicStringgetName(){
returnname;
publicclassManagerextendsEmployee{
publicManager(Stringname){System.out.println(getName());
执行语句newManager(“smith”)后程序的输出是哪项?
A.smith
C.编译错误
D.name
35.publicclassEmployee{
publicEmployee(Stringname){
returnname;
privateStringdepartment;
publicManager(Stringname,Stringdepartment){this.department=department;
super(name);
System.out.println(getName());
执行语句newManager(“smith”,”SALES”)后程序的输出是哪项?
C.SALES
36.publicclassPet{
publicPet(){
System.out.print
(1);
publicPet(Stringname){
System.out.print
(2);
publicclassDogextendsPet{
publicDog(Stringname){
System.out.print(3);
执行newDog(“棕熊”);
后程序输出是哪项?
B.13
C.123
D.321
1再打印3
调用Dog继承了pet,会调用无参的构造函数,所以先打印
37.publicclassPet{
publicDog(){
System.out.print(4);
this();
A.143
B.423
C.243
D.1134
38.publicclassPet{
A.33
C.23
D.123
调用有参的父类
39.publicclassEmployee{
publicvoiddisplay(){
System.out.print(name);
publicManager(Stringname,Stringdepartment){
this.department=department;
System.out.println(super.display()+”,”+department);
A.smith,SALES
B.null,SALES
C.smith,null
D.null,null
E.编译错误
e
40•如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?
A.abstract
B.final
C.static
D.new
final关键字修饰的类是常量类,不能被修改,不能被继承
41.Java语言中常量的定义是哪项?
A.publicstatic
B.publicstaticfinal
C.final
D.publicstaticabstract
publicstaticfinal定义的是静态常量
42.为了使得System.out.println()输出对象引用的时候得到有意义的信息,我们
应该覆盖Object中的哪个方法?
A.equals
B.hashCode
C.toString
D.notify
println输出的时候如果参数是对象,会自动调用相应的toString方法,
如