运算符的种类及介绍

运算符

运算符的种类

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等。

  • 算术运算符

  • 赋值运算符

  • 比较运算符

  • 逻辑运算符

  • 位运算符

  • 三元运算符

算术运算符

  • +,- (正负数)

  • +,- (加法,减法)

  • *,/ (乘法,除法)

  • % (取余)

  • ++, --(前自增,前自减) 先增减,后赋值。 【注意,自增自减不会改变本身变量的数据类型】

  • ++,--(后自增,后自减 ) 先赋值,后增减。【注意,自增自减不会改变本身变量的数据类型】

  • +, (连接符)


     

赋值运算符

= ,+=,-=,/=,%=(取余等于)

short num1+=10;(不会改变本身变量的数据类型)

num2%=6;

结果:2


 

        int m=2,n=3;
      n*=m++;
      System.out.println(n);
      System.out.println(m);
      System.out.println("==============================================");
      int a=10;
      a+=(a++) + (++a);
      System.out.println(a);
输出结果:n=6
      m=3
      a=32

 

        int b = 1;
      b*=0.1;
      System.out.println(b);
      b++;
      System.out.println(b);
输出结果:0
      1

 

比较运算符

==等于,!=不等于, <小于, >大于, <=小于等于, >=大于等于

注意:比较运算的结果都是boolean类型,也就是true或者false。比较运算符“==”不能误写成“=”。

        int f1=5,f2=8;
      System.out.println(f1>=f2);//false
      System.out.println(f1<=f2);//true

 

        boolean q=true,w=false;
      System.out.println(q==w);//false
      System.out.println(w=q);//true

 

逻辑运算符

        int a=1;
      if(a++==2){
          System.out.println("我");
      }

      else{
          System.out.println("你");
      }
输出结果:你
      System.out.println("=============================================");
      int b=1;
      if (++b==2){
          System.out.println("我爱你");
      }

      else{
          System.out.println("你爱我");
      }
输出结果:我爱你
      int x=1,y=1;
      if(x++==1&&++y==1){
          x=7;
      }
      System.out.println("x="+x+",y="+y);
输出结果:x=2,y=2

 

位运算符

 

        int i=64;
      i= i>>2;
      System.out.println(i);
输出结果:16
      int i=64;
      i= i<<2;
      System.out.println(i);
输出结果:256

1000 0100 补码

1000 0011 反码

1111 1100 原码 -124

1110 0001 补码

1110 0000 反码

1001 1111 原码 -31( -124 >>2 == -31)

1111 0000 补码

1110 1111 反码

1001 0000 原码 -16 (-124>>3== -16)

三元运算符

1, 条件表达式的结果为boolean类型;

2, 根据条件表达式的真假,执行表达式1还是表达式2;

  • 如果表达式结果为true,则执行表达式1

  • 如果表达式结果为false,则执行表达式2;

3, 表达式1和表达式2要求是一致的;

4, 三元运算符可以嵌套使用;

5, 凡是可以使用三元运算符的地方,都可以使用if-else,反之可能不成立!

6, 如果程序既能用三元,又能用if-else,那就用三元,因为三元效率高。

        int a=10,b=20,c=30;
      int max=(a>=b)? a:b;
      int max1=(max>=c)? max:c;
      System.out.println("max1="+max1);
      输出结果:max1=30

不建议写下面这种,因为别人不容易看懂(我自己看了一分钟才看明白)

        int x=50,y=60,z=40;
      int max3=(((x>=y)? x:y)>=z)? ((x>=y)? x:y):z;
      System.out.println("max3="+max3);
      输出结果:max3=60

运算符的优先级

最简单一句话:你想让谁先执行,就给谁加()。

posted @ 2021-03-11 00:39  gAbraham  阅读(1082)  评论(0)    收藏  举报