一、算术运算符

分类:
  +,-,*,/

  /和%的区别:
     /:获取两个数据相除的商。
     %:获取两个数据相除的余数。

  注意:
      整数相除结果还是整数.
      想要得到小数,就必须有浮点数参与运算.
public class OperateorDemo1 {
    public static void main(String[] args) {
        //定义俩个int类型的变量
        int a = 5;
        int b = 3;

        System.out.println(a+b);  //8
        System.out.println(a-b);  //2
        System.out.println(a*b);  //15
        System.out.println(a/b);  //1
        System.out.println(a%b);  //2
        System.out.println("---------------");

        System.out.println(5/4);  //1
        System.out.println(5.0/4);  //1.25
        System.out.println(5/4.0); //1.25


    }
}

二、字符和字符串参加运算

字符参与加法运算, 其实就是拿该字符在计算机中存储所表示的数据来运算
ASCⅡ表  常用: 0-48 a-97 A-65
字符串参加运算, 其实这里不是加法运算,而是字符串的拼接。
System.out.println("hello" + "world"); //hello world

三、自增自减运算符

自增运算符(++)演示:
  作用:

    表示自身的值+1

  用法:
    单独使用:放在变量前或后结果一样,都是自身+1

  参与运算:
   在变量前,先自增,再以新值进行其它运算
   在变量后,先以原值进行其它运算,再自增
//定义一个int类型的变量
        int a = 5;

        //单独作用
         a++;
         ++a;
        //下述输出语句的结果是 :把字符串“a: ” 和变量a的值进行拼接
        System.out.println("a: "+a);

        //参与运算
        //++在后
        int b = a++;
        System.out.println("a:" +a);  //6
        System.out.println("b:" +b);  //5

        //参与运算
        //++在前
        int c = ++a;
        System.out.println("a:" +a);  //6
        System.out.println("b:" +b);  //6

四、赋值运算符

基本的赋值运算符:
  =
扩展的赋值运算符:
  +=,-=,*=,/=
//基本的赋值运算符
        int a= 10;  //  把10赋值给a
        System.out.println("a:" +a);
        System.out.println("-----------------");

        //扩展赋值运算符
        //+=的作用;把左右俩边的数据相加:a = a +20
        a +=20;
        System.out.println("a" +a);
        System.out.println("-----------------");

        //扩展运算符的好处:自动强转
        short s = 2;
        //s =s +1; //报错? 因为s + 1的结果是一个int类型的数据,你把int类型的数据赋值给short类型的变量,肯定不行
        //解决
        //方案一:强制类型转换

        //方案二通过扩展赋值运算符实现
        s+=3;
        System.out.println("s:" + s);
        //=的作用是赋值不是相等

五、关系运算符

关系运算符:
   分类:
     ==,!= ,>,>=,<,<=
 运算结果:
    关系运算符操作完毕后的结果肯定是boole类型

 注意事项:
    千万不要把==写成=。
//定义三个变量
        int a = 10;
        int b = 20;
        int c = 10;

        //==: 等于
        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println(a == c);
        System.out.println("------------------");

        //!=:不等于
        System.out.println(a !=b);  //t
        System.out.println(a !=c);  //f
        System.out.println("------------------");

        //>:大于
        System.out.println(a >b);   //f
        System.out.println(a >c);   //f
        System.out.println("------------------");

        //>=:大于等于
        System.out.println(a >=b);   //f
        System.out.println(a >=c);   //t
        System.out.println("------------------");

        //注意: ==是判断是否相等, =是赋值是谁的意思
        System.out.println(a == b); //f
        System.out.println(a =b);   //20

六、逻辑运算符

分类:
 逻辑与:&&,并且的关系,要求所有条件都满足,即有false则整体为false
 逻辑或://,或者的关系,要求只要满足任意一个条件即可,即有true则整体为true逻辑非:!,取反的意思,以前为false,现在为true;以前为true,现在为false.
 逻辑非:!,取反的意思,以前为false,现在为true,以前为true,现在false。

注意:
 偶数个逻辑非,结果不变.
七、三元运算符
概述:
   也叫三目运算符,即由三部分组成的.

格式:
  关系表达式 ? 表达式 1 :表达式 2 ;
 执行流程:
   先判断关系表达式是否成立,
     成立,执行表达式 1;
    不成立,执行表达式 2;
//需求: 求俩个整数的最大值
        //1.定义俩个变量记录俩个整数。
        int a = 10;
        int b = 20;

        //2.通过三元运算符计算他们的最大值。
        int max = (a >=b) ? a : b ;
        //3.将结果打印到控制台上。
        System.out.println("max:"+max);

 

总结:
运算符优先级的表

优先级

运算符

结合性

1

()、[]、{}

从左向右

2

!、+、-、~、++、--

从右向左

3

*、/、%

从左向右

4

+、-

从左向右

5

«、»、>>>

从左向右

6

<、<=、>、>=、instanceof

从左向右

7

==、!=

从左向右

8

&

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

=、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>=

从右向左