java | 练习题(四)

再跨过一个小门槛,进入幼稚园的尖子生小班

Posted by Haauleon on September 9, 2020

复习题

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
    }
}