目录

一、赋值运算符

二、算术运算符

三、复合运算符

四、关系运算符

五、逻辑运算符

六、条件运算符

七、运算符的优先级


一、赋值运算符

赋值运算符:=,最简单的一个运算符 ,将=右边表达式的结果或者变量里的数据或者数据赋值给=左边的变量.

表达式:表达式就是符号(如加号、减号)与操作数(如b,3等)的组合

例如:直接将一个数据通过赋值运算符存储在num1变量中  int num1 = 100;
           将一个变量(数据)通过赋值运算符存储在num2变量中 int num2 =num1;

           将一个表达式num1+num2的结果通过赋值运算符存储在sum变量中 int sum =num1+num2;

二、算术运算符

算术运算符:+(加法) -(减法) *(乘法) /(除法) %(取模/取余) ++(自增) --(自减) 

        int num1 = 20;
        int num2 = 3;
        
        加法运算
        int result1 =num1+num2;
        System.out.println("num1+num2="+result1);//23
        
        减法运算
        int result2 =num1-num2;
        System.out.println("num1-num2="+result2);//17
        
        乘法运算
        int result3 =num1*num2;
        System.out.println("num1*num2="+result3);//60
        
        除法运算:取得是除法运算的商结果
        int result4 =num1/num2;
        System.out.println("num1/num2="+result4);//6
        
        取余运算/取模运算:取得是除法运算的余数结果
        int result5 =num1%num2;
        System.out.println("num1%num2="+result5);//2

++:自增运算符,执行一次,变量值+1,++可以在变量的前面,也可以在变量的后面

 -- :自减运算符,执行一次,变量值-1,--可以在变量的前面,也可以在变量的后面
 

问:++和--修饰的变量参与了运算,又会是什么结果?
 ++和--在变量的前面,变量先进行自增或者自减操作,然后再将自增或者自减后的结果拿去参与相应的运算
 ++和--在变量的后面,变量先去参与其它运算,参与完运算之后,再回来进行自增或者自减操做

         ++操作
        int num1 = 100;
        System.out.println(num1);// 100
        num1++;
        System.out.println(num1);// 101
        ++num1;
        System.out.println(num1);// 102

         操作
        int num2 = 10;
        System.out.println(num2);// 10
        num2--;
        System.out.println(num2);// 9
        --num2;
        System.out.println(num2);// 8

        int m = 100;
        System.out.println("m=" + m);// m=100
        ++在变量的后面,变量先去参与赋值运算,也就是将m的值100赋值给了n,赋值完之后m的值+1
        int n = m++;
        System.out.println("m=" + m);// m=101
        System.out.println("n=" + n);// n=100

        int k = 200;
        System.out.println("k=" + k);// k=200
        ++在变量的前面,变量先进行+1操作,变成了201,然后将201的值赋值给h这个变量
        int h = ++k;
        System.out.println("k=" + k);// k=201
        System.out.println("h=" + h);// h=201

        System.out.println("------------");

        int w = 300;
        System.out.println("w=" + w);// w=300
        --在变量的后面,变量先去参与赋值运算,也就是将w的值300赋值给了y,赋值完之后w的值-1
        int y = w--;
        System.out.println("w=" + w);// w=299
        System.out.println("y=" + y);// y=300

        int a = 400;
        System.out.println("a=" + a);// a=400
        --在变量的前面,变量先进行-1操作,变成了399,然后将399的值赋值给b这个变量
        int b = --a;
        System.out.println("a=" + a);// a=399
        System.out.println("b=" + b);// b=399

三、复合运算符

 复合算术运算符:+=, -= ,*=, /=, %=

 a+=b-------->a=a+b

 a-=b--------->a=a-b

 a*=b--------->a=a*b

 a/=b---------->a=a/b

a%=b---------->a=a%b

四、关系运算符

关系运算符:>, >=, < ,<=, ==, !=

关系运算符的结果为布尔类型,要么成立(true),要么不成立(false)
 >、<、>=、<= 运算符的优先级别高于==、!=
 >、<、>=、<=运算符只支持数值类型的数据比较,==和!=可以用于引用数据类型数据比较

注意:=为赋值运算符,==为关系运算符,两者注意区分

五、逻辑运算符

逻辑运算符:&(与) ,&&(短路与), |(或), ||(短路或), !(非)

与运算和或运算左右两边都需要一个布尔类型的数据或者表达式 。
非运算符只需要在右边有一个布尔类型的数据或者表达式。
逻辑运算符的运算结果还为布尔类型。
&和&&的运算规律是一样的:只有当&或者&&左右两边的结果都为true,整个&或者&&的运算结果才为true,其它的情况,运算结果都为false。
|和||的运算规律是一样的:只要|或者||左右两边的表达式有一个结果为true,则整个|或者||的运算结果就为true,只有当|或者||左右表达式两边同时为false,整个|或者||运算结果才为false。
!运算符的运算规律:当!右边表达式结果为true,则!运算结果为false,当!右边表达式为false,则!运算结果为true。

&和&&的区别:
            &&具有段落功能,当&&左边表达式的结果为false,则直接判断整个&&的运算结果为false,不再计算&&右边表达式的结果,从而造成&&右边表达式短路
           &不具有短路功能,不管&左边表达式的结果为true还是false, &右边表达式的结果都需要进行计算,计算完,再判断&的运算结果

|和||的区别:
          ||具有短路功能,当||左边表达式的结果为true,则直接判断||运算结果为true,不再计算||右边表达式的结果,右边表达式被短路
         |不具有短路功能,不管|左边表达式的结果为true还是false,|右边的表达式都会进行计算,计算完后再判断|的运算结果

六、条件运算符

条件运算符(三目运算符/三元运算符)
语法规则:
         条件?表达式1:表达式2;
 执行规律:
         如果条件为true,执行表达式1
         如果条件为false,执行表达式2

条件运算符的嵌套:一个条件运算符中包含另外一个或者多个条件运算符
条件1?(条件2?表达式1:表达式2):(条件3?表达式3:表达式4);
       条件1为true,则进入第一个()中判断条件2
       如果条件2为true,则执行表达式1
       如果条件2为false,则执行表达式2
       如果条件1为false,则进入第二个()中判断条件3
       如果条件3为true,则执行表达式3
       如果条件3为false,则执行表达式4

七、运算符的优先级

1.单目运算符包括!、++、--,优先级别高

2.优先级别最低的是赋值运算符=

3.可以通过()控制表达式的运算顺序,()的优先级最高

4.从由向左结合性的只有赋值运算符、三目运算符和单目

5.算数运算符>关系运算符>逻辑运算符