A.010
B.0x10
C.08
D.0x8
答案A
分析八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7。
7.
1)class Person{
2)public void printValue(int i,int j){/*…*/}
3)public void printValue(int i){/*...*/}
4)}
5)public class Teacher extends Person{
6)public void printValue(){/*...*/}
7)public void printValue(int i){/*...*/}
8)public static void main(String args[]){
9)Person t=new Teacher();
10)t.printValue(10);
11)}
12)}
第十行的声明将调用哪些方法?(单选题)
A.on line 2
B.on line 3
C.on line 6
D.on line 7
答案D
分析变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要
进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。
8.给出下面的代码:(单选题)
if(x>0){System.out.println("first");}
else if(x>-3){System.out.println("second");}
else{System.out.println("third");}
x的取值在什么范围内时将打印字符串"second"。
A.x>0
B.x>-3
C.x<=-3
D.x<=0&x>-3
答案D
分析x>0时打印"first",x>-3&&x<=0时打印"second",x<=-3时打印"third"。这个题目没有什么难的,只要理解if语句的语法就可以了。
9.下面的哪些赋值语句是不正确的(单选题)
A.float f=11.1;