以下代码中存在编译错误的行是
Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class ConstantFolding {
static final int number1 = 5;
static final int number2 = 6;
static int number3 = 5;
static int number4= 6;
public static void main(String[ ] args) {
int proct1 = number1 * number2; //line A
int proct2 = number3 * number4; //line B
}
}
A.在行A的代码中,proct的值是在编译期计算的,行B则是在运行时计算的。如果你使用Java反编译器(例如,jd-gui)来反编译ConstantFolding.class文件的话,那么你就会从下面的结果里得到答案。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class ConstantFolding
{
static final int number1 = 5;
static final int number2 = 6;
static int number3 = 5;
static int number4 = 6;
public static void main(String[ ] args)
{
int proct1 = 30;
int proct2 = number3 * number4;
‘贰’ 下列代码无法通过编译,错误的语句是哪一行
第一行有错误,在interface接口中只有抽象方法和常量,void m1()应改为public abstract void m1();并且要把Test类定义改为public Test implements Temp
还有第四行错误,接口变量t不能调用没有在接口中声明的方法m2().以下的是运行正确的。
interface Temp
{
public abstract void m1();
} //第一行
public class Test implements Temp
{
public void m1(){ //第二行
System.out.println ("C++");}
public void m2(){
System.out.println ("java");
}
public static void main (String args[])
{
Test t=new Test();
//第三行
t.m1();
t.m2();
}
}
‘叁’ 下列代码中,将引起一个编译错误的行是( )
明显是D
Test没有 两个int参数的构造函数。
‘肆’ java 考试选择题
一道题10分
1. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .java B. .class C. .html D. .exe
2. 以下(A )不是Java中有效的关键字。
A、const B、NULL C、false D、this
3. 下面哪些是Java中合法的标识符( A )
A continue B Return C D123 D m_int
4. 编译Java源程序文件产生的字节码文件的扩展名为 B
A java B class C html D exe
5. 下面是在命令行运行Java应用程序A,怎样才能在main(String args[])方法中访问单词"first" ? B
java A the first snow the first snow.
A args[0] B args[1] C args[2] D args[5]
6. 不允许作为类及类成员的访问控制符的是( B C D )。
A. public B. private C. static D. protected
7. 下面哪些不是java的简单数据类型? B
A. short B. Boolean C. Double D. float
8. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
9. 下列代码中,将引起一个编译错误的行是( D )。
1) public class Test{
2) int m,n;
3) public Test(){}
4) public Test(int a){m=a;}
5) public static void main(String args[]){
6) Test t1,t2;
7) int j,k;
8) j=0;k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
A、第3行 B、第5行 C、第6行 D、第10行
10. 阅读下列代码后
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
正确的说法是__A____。
A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出为零 D、输出为空
