• Java中的运算符


    什么是运算符

    • 运算符对一个或者多个值进行运算,并得到一个运算结果。
    • 运算符的运算结果类型是固定的,有时候会根据被计算的值变化。比如两个int相加,结果的类型就是int。两个byte相加,返回值的类型就是byte。
    • 混淆点:除赋值运算符外,运算符本身不会更改变量的值。
    public class OprtNotChangeVariableValue {
        public static void main(String[] args) {
            int a = 100;
            System.out.println(a+1);
            System.out.println(a);
    
            a = a + 6;
            System.out.println(a);
        }
    }

    取模运算符:%

    • 用来计算余数
    • 负数也可以被取模
    • 负数也可以取模
    • 小数也可以取模
    public class ModCalc {
        public static void main(String[] args){
            // num(被模数)的正负会影响结果的正负;而模数不会影响结果的正负。
            // int num = 10;
            int num = -10;
    
            System.out.println(num % 2);
            System.out.println(num % -3);
            System.out.println(num % 4);
            System.out.println(num % 5);
            System.out.println(num % -6);
        }
    }

    整数的除法运算

    • int除以int还是int,不会变成浮点数。
    • 如果想要得到浮点数,那么改变其中一个变量的类型为浮点型即可。
    public class IntegerDiv {
        public static void main(String[] args){
            // 想要得到浮点数的结果,只要把参与计算的数字任意一个改成浮点数即可。
            double a = 10.0;
            int b = 3;
            System.out.println(a/b);
    
        }
    }

    比较运算符

    • >
    • >=
    • <
    • <=
    • !=
    • ==
    public class CompareOprt {
        public static void main(String[] args){
            // 比较运算符 > >= < <= != ==
            byte a = 10;
            byte b = 15;
            byte c = 10;
    
            System.out.println(a>b);
            System.out.println(a>=b);
            System.out.println(a<b);
            System.out.println(a<=b);
            System.out.println(a!=b);
    
            System.out.println(a!=c);
            System.out.println(a>=c);
            System.out.println(a<=c);
            System.out.println(a==b);
            System.out.println(a==c);
        }
    }

    布尔运算符

    • ! 叫做非运算符,not运算符。!true 是false,!false 是true。
    • & 叫做且运算符,and运算符。true & true 是true,true & false 是false。
    • && 叫做且且运算符,andand运算符。运算结果和&一样。
    • | 叫做或运算符,or运算符。true | false 是true,false | false 是false,true | true是true。(但是它会把所有值都要运算一遍,因此如果存在一个不合法的表达式,就会报错。双个的||运算符则不会。
    • || 叫做或或运算符,oror运算符。运算结果和 | 一样。
    • 推荐使用双个的 && 和 || 运算符。
    public class BooleanOprt {
        public static void main(String[] args){
            // 开发中,我们尽量用双个and与运算符(&&)或者双个or或运算符(||)
            boolean a = true;
            boolean b = false;
    
            System.out.println(a&&b);
            System.out.println(a&b);
            System.out.println(a||b);
            System.out.println(a|b);
            // 第12行不会报错,这是因为当我们用到双或运算符时,系统在判断到真值时就会停下来。这里a是true于是直接返回了true,不会管后面的表达式是否正确。
            System.out.println(a || (10 / 0 > 1));
            // 第14行会报错,这是因为单个的或运算符会让系统计算后面的表达式,然而后面的表达式如果是不合法的,那么就会报错了。
            System.out.println(a | (10 / 0 > 1));
        }
    }

    小括号运算符

    小括号运算符内可以包含任何运算符,决定运算符的顺序。

    public class ParentOprt {
        public static void main(String[] args) {
            int a = 10;
            int b = 88;
            boolean c = ((a+b)*a-9*(a+b)) == (a+b);
    
            System.out.println(c);
    
        }
    }

    运算符优先级(优先级从上到下依次递减)

    • ()
    • !
    • *, /, %
    • +, -
    • >, >=, <, <=
    • ==
    • !=
    • &, &&, |, ||
    • =

    理解运算符,灵活记忆优先级

    • 为什么等号的优先级最低?(因为等号是赋值运算符,要等到所有数值运算完毕才能去赋值。
    • 为什么布尔运算符的优先级低于比较运算符?(因为要先比较出结果才能看他们之间的逻辑关系,从而得到布尔值。
    • 为什么比较运算符的优先级比算数运算符低?(因为要等到数值运算完成后才能进行比较啊。
  • 相关阅读:
    ue父子组件的数据传递示例
    vue.js 组件之间传递数据
    Vue2.0子同级组件之间数据交互
    assets 和static的区别
    Vue中src属性绑定的问题
    css3设置背景图片的大小
    如何在HTML中插入空格
    css背景图片的设置
    vue动态组件 互相之间传输数据 和指令的定义
    webservice的优缺点
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12104980.html
Copyright © 2020-2023  润新知