java中的各种运算符

 

算数运算符

        {
            // 目标:掌握基本的算术算术运算符的使用:+ - * / %
            int a = 10;
            int b = 3;
            System.out.println(a + b);
            System.out.println(a - b);
            System.out.println(a * b);
            System.out.println(a / b); // 3.3333  ==>  3
            System.out.println(a * 1.0 / b); // 3.3333
            System.out.println(3 / 2);
            System.out.println(3 * 1.0 / 2); // 1.5
            System.out.println(3 / 2 * 1.0); // 1.0
            System.out.println(a % b); // 1
        }

注: 如果两个整数做除法,其结果一定是整数,因为最高类型是整数

 

自增自减运算符

在不参加运算的情况下, ++符号在变量前面与后面都一样  自增或自减

在参加运算或表达式中 

符号放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算
符号放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1 
    public static void main(String[] args) {
        // 目标:学会使用自增自减运算符: ++ --
        int a = 10;
        // a++; // a = a + 1
        ++a; // a = a + 1
        System.out.println(a);

        int b = 10;
        //b--; // b = b -1
        --b;
        System.out.println(b);

        System.out.println("------------------------------");
        // 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别
        // ++ -- 在变量前面。先+1 -1 再使用。
        int i = 10;
        int j = ++i;
        System.out.println(i); // 11
        System.out.println(j); // 11

        // ++ -- 在变量的后面 先使用再+1 -1
        int m = 10;
        int n = m++;
        System.out.println(m); // 11
        System.out.println(n); // 10

        System.out.println("-----------拓展案例(可以了解和参考)--------------");
        int k = 3;
        int p = 5;
        // k  3 4 5 4
        // p  5 4 3 4
        // rs    3  +  5  -   4  + 4   - 5   +  4 + 2
        int rs = k++ + ++k - --p + p-- - k-- + ++p + 2;
        System.out.println(k); // 4
        System.out.println(p); // 4
        System.out.println(rs); // 9
    }

 

赋值运算符

基本赋值运算符 就是“=”。 
int a = 10; // 先看“=”右边,把数据10赋值给左边的变量a存储。
扩展赋值运算符

注:扩展的赋值运算符隐含了强制类型转换
    public static void main(String[] args) {
        // 目标:学会使用赋值运算符:= += -= *= /= %=
        int a = 10;
        int b = 200;
        // a = a + b;
        a += b; // a = (int)(a + b)
        System.out.println(a);

        byte i = 10;
        byte j = 20;
        // i = (byte) (i + j);
        i += j; // i = (byte) (i + j);
        System.out.println(i);

        int m = 10;
        int n = 5;
        //m += n;
        //m -= n;  // 等价于: m = (int)(m - n)
        //m *= n;  // 等价于: m = (int)(m * n)
//        m /= n;  // 等价于: m = (int)(m / n)
        m %= n;  // 等价于: m = (int)(m % n)
        System.out.println(m);
    }

 

关系运算符

是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。

注意:在做相等判断是,千万不要把 == 误写成 =
 

 

    public static void main(String[] args) {
        // 目标:学会使用关系运算符。
        int a = 10;
        int b = 10;

        boolean rs = a == b;
        System.out.println(rs);

        System.out.println(a == b);
        System.out.println(a != b); // false
        System.out.println(a > b); //  false
        System.out.println(a >= b); // true
        System.out.println(a < b); // false
        System.out.println(a <= b); // true

        int i = 10;
        int j = 5;
        System.out.println(i == j); // false
        System.out.println(i != j); // true
        System.out.println(i > j); // true
        System.out.println(i >= j); // true
        System.out.println(i < j); // false
        System.out.println(i <= j); // false

        System.out.println(i = j); // 5 相等判断必须是== 如果使用=是在进行赋值操作!
    }

 

逻辑运算符

逻辑运算符可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果

短路逻辑运算符

注意:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行

 

    public static void main(String[] args) {
        // 目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题。
        double size = 9.8;
        double storage = 6;
        // 需求:尺寸大于等于6.95 内存要大于等于8GB
        // 注意:必须前后都是true结果才是true
        System.out.println(size >= 6.95 & storage >=8);

        // 需求:要么内存大于等于8 要么尺寸大于等于6.95
        // 注意:只要有一个是true 结果就一定是true
        System.out.println(size >= 6.95 | storage >=8);

        System.out.println(!true);
        System.out.println(!false);

        // 逻辑异或:必须两个不同结果才是true
        System.out.println(false ^ true); // true
        System.out.println(true ^ false); // true
        System.out.println(true ^ true); // false
        System.out.println(false ^ false); // false

        System.out.println("-----------&&  &  || |的区别-------------------");
        int a = 10;
        int b = 20;
        // System.out.println(a > 100 && ++b > 10);
        System.out.println(a > 100 & ++b > 10);
        System.out.println(b);

        int i = 10;
        int j = 20;
        //System.out.println(i > 2 || ++j > 10);
        System.out.println(i > 2 | ++j > 10);
        System.out.println(j);
    }

 

三元运算符(三元表达式/三目表达式)

条件表达式 ? 值1 : 值2;
    public static void main(String[] args) {
        // 目标:学会使用三元运算符,理解其流程
        double score = 18;
        String rs = score >= 60 ? "考试通过" : "挂科";
        System.out.println(rs);

        // 需求:需要从2个整数中找出较大值
        int a = 10000;
        int b = 2000;
        int max = a > b ? a : b;
        System.out.println(max);

        System.out.println("-------------------------");
        int i = 10;
        int j = 30;
        int k = 50;
        // 1、找出2个整数的较大值
        int temp = i > j ? i : j;
        // 2、拿临时变量与第三个变量的值继续比较
        int rsMax = temp > k ? temp : k;
        System.out.println(rsMax);

        System.out.println("-------------拓展知识-------------");
        int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
        System.out.println(rsMax1);
    }

 

posted @ 2023-07-06 00:44  lanwf  阅读(32)  评论(0编辑  收藏  举报