一、简单Java程序调试
1)以下哪个是Java应用程序main方法的有效定义?
A. public static void main();
B. public static void main( String args );
C. public static void main( String args[] );
D. public static void main( Graphics g );
E. public static boolean main( String a[] );
2) 编译和运行以下代码的结果为:
public class MyMain{
public static void main(String argv){
System.out.println("Hello cruel world");
}
}
A.编译错误;
B.运行输出 "Hello cruel world";
C.编译无错,但运行时指示没有定义构造方法。
D.编译无错,但运行时指示没有正确定义main方法。
3) 下列选项中不属于Java虚拟机的执行特点的一项是:
A.异常处理 B.多线程 C.动态链接 D.简单易学
4) 不属于Java语言特点的一项是:
A.分布式 B. 安全性 C. 编译执行 D.面向对象
5) 以下程序的运行结果为:
public class Test{
public static void main(String argv[ ]){
System.out.println("x="+5);
}
}
A. 5 B. x=5 C. "x="+5 D. "x="5
6) 以下程序的运行结果为:
public class Test{
public static void main(String argv[ ]){
System.out.println("good"+"morning");
}
}
A. goodmorning B. "good"+"morning"
C. good morning D. good+morning
二、Java符号与表达式
1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为:
A.int类型 B. double类型 C. float类型 D. long类型
2)下面程序段的输出结果是:
int a = 2;
System.out.print( a++);
System.out.print( a);
System.out.print(++a);
A.333 B.334 C.234 D.233
3) 以下代码的输出结果?
public class Test{
int x=3;
public static void main(String argv[]){
int x= 012;
System.out.println(x);
}
}
A.12 B.012 C.10 D.3
4) 下列定义语句正确的是:
A.char c="/n"; B.int i=12; C.float f=2.8; D.boolean b=null;
5)检查如下代码:
public class Quiz2_l{
public static void main(String[] args) {
int a = 8;
int b = -8;
System.out.print(a<<2);
System.out.print("," + (b>>1) );
}
}
下列哪条语句正确描述了程序在编译和运行时的行为?
A.编译成功,输出为“32,-4 ”
B. 编译成功,输出为“16,4 ”
C. 编译成功,输出为“32,2147483644”
D. 编译成功,输出为“16,2147483644”
E. 编泽器拒绝表达式 b>>,因为不能对一个负数应用>>操作符
6)以下代码中变量result的可能类型有哪些?
byte b = 11;
short s = 13;
result = b * ++s;
A.byte, short, int, long, float, double
B.boolean, byte, short, char, int, long, float, double
C.byte, short, char, int, long, float, double
D.byte, short, char
E.int, long, float, double
7)以下代码的输出结果为:
System.out.println(" " +2 + 3);
System.out.println(2 + 3);
System.out.println(2 + 3 +"");
System.out.println(2 + "" +3);
A.第3行出现编译错误
B.输出23, 5, 5 和23.
C.输出5, 5, 5 和23.
D.输出 23, 5, 23 和23.
8)设有如下变量说明:
byte myByte;
int myInt;
long myLong;
char myChar;
float myFloat;
double myDouble;
以下赋值语句哪个需要强制转换。
A.myInt = myByte;
B.myInt = myLong;
C.myByte = 3;
D.myInt = myChar;
E.myFloat = myDouble;
F.myFloat = 3;
G.myDouble = 3.0;
9)考虑如下两语句:
1. boolean passingScore = false && grade == 70;
2. boolean passingScore = false & grade == 70;
表达式grade == 70 在什么地方被计算
A.在 1 和 2中均计算
B.在 1 和 2中均未计算
C.在1中计算,在2中未计算
D.在2中计算,在1中未计算
E.非法,因为 false 应写 FALSE
10)设有一个整数x 其二进制值为10011100 (用1 字节表示),则执行如下语句后 z的二进制值为:
int y = 1 << 7;
int z = x & y;
A.10000001 B.10000000 C.00000001
D.10011101 E.10011100
11) 以下哪些编译正确?
A.short myshort = 99S;
B.String name = 'Excellent tutorial Mr Green';
C.char c = 17c;
D.int z = 015;
12) 以下哪些是java关键字?
A.double B.Switch C.then D.instanceof
13) 以下程序行的输出结果为?
System.out.println(010|4);
A.14 B.0 C.6 D.12
14) 设有如下变量
char c = 'c';
int i = 10;
double d = 10;
long l = 1;
String s = "Hello";
以下哪些语句编译不出错?
A.c=c+i; B. s+=i; C. i+=s; D. c+=s;
15) 整型变量a,b的值定义如下:
int a=3;
int b=4;
则表达式 ++a==b的值为:
A.4 B.false C.3 D.true
16) 执行下列代码后输出结果为:
public class test {
public static void main(String args[]) {
int a=2;
int b=3;
int c=7;
int d=a>c?a:c;
d=d>>2>b? d:b;
System.out.println(b);
}
}
A.2 B.3 C.5 D.7
三、分支程序设计
1)下列语句片段的结果为
int result;
int a=17,b=6;
result=(a%b>4)? a%b:a/b ;
System.out.println(result);
A. 0 B. 1 C. 2 D. 5
2)以下程序的运行结果为:
1. public class Conditional {
2. public static void main(String args [] ) {
3. int x = 4;
4. System.out.println( "value is " +((x >4) ? 99.99 : 9));
5. }
6. }
A. 输出:value is 99.99
B. 输出: value is 9
C. 输出: value is 9.0
D. 在第4行出现编译错误
3)以下代码段的输出结果为
1. int x = 0, y = 4, z = 5;
2. if (x > 2) {
3. if (y < 5) {
4. System. out .println ( "message one" );
5. }
6. else {
7. System.out.println( "message two");
8. }
9. }
10. else if (z > 5) {
11. System.out.println("message three");
12. }
13. else {
14. System.out.println( "message four");
15. }
A. message one
B. message two
C. message three
D. message four
4) 以下程序的输出结果为:
public class test {
public static void main(String args[]) {
int x=1,y=1,z=1;
if (x--==1&&y++==1||z++==1)
System.out.println("x="+x+",y="+y+",z="+z);
}
}
A. x=0,y=2,z=1
B. x=1,y=2,z=1
C. x=0,y=1,z=1
D. x=0,y=2,z=2
5) 编译和运行以下代码结果为:
1. public class EqualsTest{
2. public static void main(String args[]){
3. byte A=(byte)4096;
4. if(A==4096) System.out.println("Equal");
5. else System.out.println("Not Equal");
6. }
7. }
A.在第3行出现转换丢失精度的编译错误.
B.输出 "Not Equal".
C.输出 "Equal".
6) 关于以下程序哪条叙述正确?
1. int j = 2;
2. switch ( j ) {
3. case 2:
4. System.out.println ("value is two");
5. case 2 + 1:
6. System.out.println ("value is three");
7. break;
8. default:
9. System.out.println("value is " + j);
10. break;
11. }
A. 第5行的表达式不合法;
B. 变量j是可接受的,switch中表达式可以是byte, short, int,或long的任何类型;
C. 输出为value is two
D. 输出是value is two 后跟value is three
E. 输出是value is two 后跟 value is 2
7)以下程序的编译运行结果为:
1: public class Q10
2: {
3: public static void main(String[] args)
4: {
5: int i = 10;
6: int j = 10;
7: boolean b = false;
8:
9: if( b = i == j)
10: System.out.println("True");
11: else
12: System.out.println("False");
13: }
14: }
A. 第9行出现编译错误;
B. 第9行出现运行错误;
C. 输出 True
D. 输出 False
8)以下程序的编译和运行结果为?
class test {
static boolean check;
public static void main(String args[]) {
int i;
if(check == true)
i=1;
else
i=2;
if(i=2) i=i+2;
else i = i + 4;
System.out.println(i);
}
}
A. 3 B. 4 C. 5 D. 6 E. 语句if(i=2)编译出错
9) 以下代码:
if (a >4)
System.out.println("test1");
else if (a >9)
System.out.println("test2");
else
System.out.println("test3");
a为何值将有输出结果test2 ?
A. 小于 0
B. 小于 4
C. 4 和9之间
D. 大于9
E. 无任何可能
10)有如下代码段:
switch ( x ){
case 1:System.out.println("One");break;
case 2:
case 3:System.out.println("Two");break;
default:System.out.println("end");
}
变量x的取值下列哪些情形时,能使程序输出"Two" 。
A. 1 B. 2 C. 3 D. default
11)以下程序的输出结果为
public class test {
public static void main(String agrs[]) {
char c1=’B’,c2=’C’;
if (c1+1<c2) ++c1;
System.out.println(c1);
}
}
A. B B. b C. C D. c
12) 假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
A. if (a) { } B. if (a<<3) { }
C. if (a=2) { } D. if (true) { }