运算符

 

基本运算符

 

 

 

 

 

 
1 // ++  --   自增,自减    单目运算符
2  int b = i++ ;  //执行完这行代码后,先给b赋值,再自增
3  int b = ++i ;  //执行完这行代码前,先自增,再给b赋值
4 5 6  //幂运算   用 Math.pow() ;  很多运算我们会使用一些工具类来操作
7  //计算2^3   2*2*2=8
8  double pow = Math.pow(2,3);

 

 

逻辑运算符

&& 逻辑与运算 都真才为真

|| 逻辑或运算 一真则真

! 逻辑非运算 真变假,假变真

注意:短路运算

1  int c = 5;
2  boolean d = (c<4) && (c++<4) 
3  //输出c的值为5,c++没有执行,因为逻辑与运算中&&前面一个判断为假就不会再执行下去了 

 

 

位运算符

  1. 与 &、或 |、非 ~、异或 ^

 
/*
  A = 0011 1100
  B = 0000 1101
  ---------------------------
  A & B = 0000 1100       按位与 &      都1才为1
  A | B = 0011 1101       按位或 |      都0才为0
  A ^ B = 0011 0001       按位异或 ^    对应相同为0,不同为1
  ~ B = 1111 0010         按位非 ~      1变0,0变1
  
  位运算内部的优先级从高到低为:
     ~   &   ^   |
     
  注:1)~为单目运算符,优先级与++等单目运算符同级,结合性为从右向左
     2)对于异或运算有  a ^ 0 = a   ,   a ^ a = 0
     3)对于双目的位运算符,若两个操作数的类型不相同,则需要将低精度的
       操作数转为对应的高精度的操作数,然后开始位运算
 */

 

  1. 左移、右移

 
/*效率极高!
 ​
   <<  左移             >>  右移
    相当于 *2           相当于 /2
    
    0000 0000    0
    0000 0010    2
    0000 0100    4
    0000 1000    8
    0001 0000    16
    
    2<<3        //结果为16
 */

 

 

字符串连接符 "+"

         
         int a = 10;
         int b = 20;    //String
         System.out.println(""+a+b);   //结果为1020(字符串在+号前面,会进行字符串连接)
         System.out.println(a+b+"");   //结果为30(字符串在+号后面,会依旧对前面先进行计算)

 

 

条件运算符(三目运算符)

x ? y : z

如果 x == true , 则结果为 y , 否则结果为z

 int score = 50;
 String type = score<60 ?"不及格":"及格";
 System.out.println(type);   //不及格

 

 

拓展赋值运算符

+=        -=           *=             /=

 a += b;   //a = a + b
 a -= b;   //a = a - b

 

 



posted @ 2021-08-01 21:35  平平无奇的程序媛  阅读(77)  评论(0)    收藏  举报