2024年4月25日发(作者:)
Java复习题包括部分经典面试题
Java复习题
一、单选题
1.下列语句哪一个正确()
A. Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D.以上都不正确
2.下列说法正确的有()
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D.一个class只能定义一个constructor
3.下列运算符合法的是()
A.&& B.<> C.if D.:=
4.执行如下程序代码
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
后,C的值是()
A.0 B.1 C.-1 D.死循环
5.下列哪一种叙述是正确的()
A. abstract修饰符可修饰字段、方法和类
B.抽象方法的body部分必须用一对大括号{ }包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号
6.下列语句正确的是()
A.形式参数可被视为local variable
B.形式参数可被字段修饰符修饰---------字段修饰符有
new,private,protected,public,internal,static和readonly几种.
同常量成员一样,private,protected,public和internal
C.形式参数为方法被调用时,真正被传递的参数
D.形式参数不可以是对象
7.下列哪种说法是正确的()
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用其他类的实例方法
D.实例方法可直接调用本类的类方法
8. public class foo {
public static void main(String [] args){
String s;
n("s="+s);
}
}
输出结果是:_______
A.输出s=
B.输出s=null
C.代码编译不能通过
D. 代码编译通过,但运行时抛出NullPointException
9. 有如下java代码:
class super{
public float getNum(){
return 3.0f;
}
}
public class sub extends super{
_______
}
横线处填入下面那一条语句不会报错______
A.public float getNum(){return 4.0f;}
B. public void getNum(){}
C. public void getNum(double d) {}
D. public double getNum(float d) { return 4.0f;}
10. Public class Test2 {
Static boolean foo(char c) {
(c);
Return true;
}
Public static void main(String[] argv) {
int i = 0;
//for(65;88&&(i<2);67)
for (foo('A'); foo('B') && (i < 2); foo('C')) { i++;
foo('D');
}
}
}
输出结果是()
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.
11.类Example A继承 Exception,类 ExampleB继承Example
A;
有如下代码片断:(Core Java)
try{
throw new ExampleB(“b”);
}catch(ExampleA e){
n(“ExampleA”);
}catch(Exception e){
ln(“Exception”);
}
输出的内容应该是:()
A:ExampleA B:Exception C:b D:无
二、多项选择题
1.下列说法正确的有()
A.环境变量可在编译source code时指定
B.在编译程序时,所能指定的环境变量不包括class path
C. javac一次可同时编译数个Java源文件
D. 能指定编译结果要置于哪个目录(directory)
2.下列标识符不合法的有()
A.new B.$Usdollars C.1234 D.
3.下列说法错误的有()
A.数组是一种对象
B.数组属于一种原生类
C. int number=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变
4.不能用来修饰interface的有()
A.private B.public C.protected D.static
5.下列说法错误的有()
A.在类方法中可用this来调用本类的类方法
B.在类方法中调用本类的类方法时可直接调用
C.在类方法中只能调用本类中的类方法
D.在类方法中绝对不能调用实例方法
6.下列说法错误的有()
A. Java面向对象语言容许单独的过程与函数存在
B. Java面向对象语言容许单独的方法存在
C. Java语言中的方法属于类中的成员(member)
D. Java语言中的方法必定隶属于某一类(对象),调用方法与
过程或函数相同
7.下列说法错误的有()
A.能被成功运行的java class文件必须有main()方法
B. J2SDK就是Java API
C. 可利用jar选项运行.jar文件
D.能被Appletviewer成功运行的java class文件必须有main()
方法
8.请阅读如下语句,在选项中找出结果为true的语句()
String sTemp1 = “ABC”;
String sTemp2 = new String(“ABC”);
String sTemp3 = sTemp1;
a).(sTemp2);
b).sTemp1 == sTemp2;
c).sTemp2 == sTemp3;
d).(sTemp3);
e).(sTemp3);
9. 请从如下语句中选出不正确的声明方式()
a).int[] i = new int[2] { 5, 10};
b).int i[5] = { 1, 2, 3, 4, 5};
c).int[] i[] = {{}, new int[] {} };
d).int i[][] = { {1,2}, new int[2] };
e).int i[] = { 1, 2, 3, 4, };
class OuterClass {
private double d1 = 1.0;
//insert code here
}
You need to insert an inner class declaration at line 3. Which
two inner clas
s declarati ons are valid?( )


发布评论