复习题
1.说明 “&” 和 “&&” 的异同。
1
答:逻辑运算符和关系运算符。
2.请心算以下程序的输入。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class OperatorTest{
public static void main(String[] args){
boolean x = true;
boolean y = false;
short z = 40;
if ((z++ == 40) && (y = true)){
z++;
}
if ((x == false) || (++z == 43)){
z++;
}
System.out.println("z = " + z);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class OperatorTest{
public static void main(String[] args){
boolean x = true;
boolean y = false;
short z = 40;
System.out.println("z = " + z); // z = 40
if ((z++ == 40) && (y = true)){
z++;
}
System.out.println("z = " + z); // z = 42
if ((x == false) || (++z == 43)){
z++;
}
System.out.println("z = " + z); // z = 44
int a = 10;
System.out.println("a = " + a); // a = 10
System.out.println("a++ = " + (a++)); // a++ = 10
System.out.println("a = " + a); // a = 11
System.out.println("++a = " + (++a)); // ++a = 12
System.out.println("a = " + a); // a = 12
}
}
3.定义三个 int 型变量并赋值,使用三元运算符或者 if-else 获取这三个数中的较大数。
太突然了,想不起来其他解法,先随便写一个吧,太尴尬了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Cal{
public static void main(String[] args){
int a = 3;
int b = 4;
int c = 5;
if((a > b) && (a > c)){
System.out.println("a 最大");
}else if((b > a) && (b > c)){
System.out.println("b 最大");
}else if((c > a) && (c > b)){
System.out.println("c 最大");
}
}
}
4.编程程序,声明 2 个 double 型变量并赋值。判断第一个数大于 10.0,且第二个数小于 20.0,打印两数之和。否则,打印两数的乘积。
1
2
3
4
5
6
7
8
9
10
11
class Cal{
public static void main(String[] args){
double a = 13.14;
double b = 5.20;
if((a > 10.0) && (b < 20.0)){
System.out.println("a + b = " + (a + b));
}else{
System.out.println("a * b = " + (a * b));
}
}
}
5.交换两个变量值的代码的实现。
这代码也是随便就想出来的,用中间变量就可以实现了,太晚了,凌晨了,要睡了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Exchange{
public static void main(String[] args){
int x = 10;
int y = 20;
int z = 0;
System.out.println("x = " + x); // x = 10
System.out.println("y = " + y); // y = 20
z = x;
x = y;
y = z;
System.out.println("x = " + x); // x = 20
System.out.println("y = " + y); // y = 10
}
}