运算符

运算符

基本的运算符

  1. 算术运算符:+、-、*、/、%

  2. /使用时,如果两个整数做除法,其结果一定是整数


      //目标掌握基本算数运算符
          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(3*1.0/2);//1.5
          System.out.println(3/2*1.0);//1.0

     

  3. 数据拆分案例:


            //拆分一个三位数
          int data = 589;

          //1.个位
          int ge = data % 10;
          System.out.println(ge);//9

          //2.十位
          int shi = data /10 % 10;
          System.out.println(shi);//8

          // 3. 百位
          int bai = data / 100 ;
          System.out.println(bai);//5

     

“+”做连接符

+与字符串做+运算时会被当成连接符,其结果还是字符串


      // +连接符的识别
      int a = 5;
      System.out.println("abc"+'a');//abca
      System.out.println("abc"+a);//abc5
      System.out.println(5+a);//10
      System.out.println("abc"+5+'a');//abc5a
      System.out.println(15+"abc"+15);//15abc15
      System.out.println(a+'a');//102
      System.out.println(a+""+'a');//5a
      System.out.println(a+'a'+" the ");//102 the
      System.out.println("the"+a+'a');//the5a
      System.out.println("the"+(a+'a'));//the102

自增自减运算符

  1. ++ :对当前变量加一

  2. -- :对当前变量减一

    前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

    后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算。

    赋值运算符

    操作符描述例子
    = 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
    + = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
    - = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
    * = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
    / = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
    (%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
    << = 左移位赋值运算符 C << = 2等价于C = C << 2
    >> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
    &= 按位与赋值运算符 C&= 2等价于C = C&2
    ^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
    | = 按位或赋值操作符 C | = 2等价于C = C | 2

关系运算符

运算符描述例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。

逻辑运算符

操作符描述例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

&&(短路与)和&(逻辑与)的区别:&&如果发现前面是false后面不执行,直接返回结果;

||(短路或)和|(逻辑或)的区别:||如果发现前面是true后面不执行,直接返回结果。

三元运算符

格式:条件表达式 ? 值 1:值2;

流程:先判断条件表达式的值,如果值为true,返回值1;如果值为false,返回值2.

        int i = 10;
      int j = 20;
      int k = 30;
      int x= i > j ? i > k ? i : k : j > k ? j : k ;
      //int x= i > j ? (i > k ? i : k) :( j > k ? j : k );
      System.out.println(x);

运算符的优先级

类别操作符关联性
后缀 () [] . (点操作符) 左到右
一元 expr++ expr-- 从左到右
一元 ++expr --expr + - ~ ! 从右到左
乘性 * /% 左到右
加性 + - 左到右
移位 >> >>> << 左到右
关系 > >= < <= 左到右
相等 == != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 | 左到右
逻辑与 && 左到右
逻辑或 | | 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
逗号 左到右

 

posted @ 2022-01-02 19:15  wtws  阅读(91)  评论(0)    收藏  举报