1、if……else if和多个if有什么区别?
if.....else是一句话,当其中一个条件满足后,其余else if 全部忽略,只会执行其中一个if.
if......if是多句话,每个if判断都会执行。
2、在JDK1.6中,switch中表达式的值可以是什么类型?
byte.short.int.char.
3、byte b1 = 1;byte b2 = 2;b1 = b1+b2;是否正确?为什么?
错误。
byte b1 = 1;byte b2 = 2;b1 += b2;是否正确?为什么?
正确。因为它用了强转型。
4、&和&&的区别?
&是位运算符,操作数可以是boolean,也可以是数字。
&&是逻辑运算符,操作数只能是boolean.
&&是短路运算符,当第一个条件为false,第二个条件不做执行,
&是非短路运算符,无论第一个条件是否为false,第二个条件都会执行。
5、说说运算符的优先级。
1) . () {}
2)! ++ -- (type)
3)+ - * / %
4)> < >= <= == !=
5)&& ||
6)= += -= *= /=
6、说出下面代码执行结果:
a、int x = 8;
if(x > 0){
System.out.println("x>0");
}
else if(x>4){
System.out.println("x>4");
}
if(x>6){
System.out.println("x>6");
}
执行结果为 x>0 x>6
b、int x = 8;
int y = 5;
int z = 0;
y += x++;
z = ++x;
System.out.println( x+" "+y+" "+z);
执行结果为 10 13 10
c、int x = 8;
switch(x/4){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
default:
System.out.println("default");
break;
}
执行结果为 2 、3 、
d、
12&4 =4
10|8 = 10
6^9=15
5<<2=20
9>>2=2
int x = 5>2?4:1; x=4
2.4*2-1/2 =4.8
5%2/5-1 =-1
9>10&&5<100 =false
20>10||10<=1 =true
e、int x = 8;
int y=10;
if(x > y && (y=6)>0){
System.out.println("条件满足。x="+x+",y="+y);
}
else{
System.out.println("条件不满足。x="+x+",y="+y);
}
执行结果为 条件不满足, x=8 y=10
f、if(a = 0){
System.out.println("a等于0");
}
else{
System.out.println("a不等于0");
}
编译错误,在if中只能是boolean,不能是整型。
if.....else是一句话,当其中一个条件满足后,其余else if 全部忽略,只会执行其中一个if.
if......if是多句话,每个if判断都会执行。
2、在JDK1.6中,switch中表达式的值可以是什么类型?
byte.short.int.char.
3、byte b1 = 1;byte b2 = 2;b1 = b1+b2;是否正确?为什么?
错误。
byte b1 = 1;byte b2 = 2;b1 += b2;是否正确?为什么?
正确。因为它用了强转型。
4、&和&&的区别?
&是位运算符,操作数可以是boolean,也可以是数字。
&&是逻辑运算符,操作数只能是boolean.
&&是短路运算符,当第一个条件为false,第二个条件不做执行,
&是非短路运算符,无论第一个条件是否为false,第二个条件都会执行。
5、说说运算符的优先级。
1) . () {}
2)! ++ -- (type)
3)+ - * / %
4)> < >= <= == !=
5)&& ||
6)= += -= *= /=
6、说出下面代码执行结果:
a、int x = 8;
if(x > 0){
System.out.println("x>0");
}
else if(x>4){
System.out.println("x>4");
}
if(x>6){
System.out.println("x>6");
}
执行结果为 x>0 x>6
b、int x = 8;
int y = 5;
int z = 0;
y += x++;
z = ++x;
System.out.println( x+" "+y+" "+z);
执行结果为 10 13 10
c、int x = 8;
switch(x/4){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
default:
System.out.println("default");
break;
}
执行结果为 2 、3 、
d、
12&4 =4
10|8 = 10
6^9=15
5<<2=20
9>>2=2
int x = 5>2?4:1; x=4
2.4*2-1/2 =4.8
5%2/5-1 =-1
9>10&&5<100 =false
20>10||10<=1 =true
e、int x = 8;
int y=10;
if(x > y && (y=6)>0){
System.out.println("条件满足。x="+x+",y="+y);
}
else{
System.out.println("条件不满足。x="+x+",y="+y);
}
执行结果为 条件不满足, x=8 y=10
f、if(a = 0){
System.out.println("a等于0");
}
else{
System.out.println("a不等于0");
}
编译错误,在if中只能是boolean,不能是整型。