Java基本运算符
运算符图表

常用实例
 package operator;
 
 public class Demo03 {
     public static void main(String[] args) {
         //关系运算符的结果:正确  错误  以布尔值表达
         int a = 10;
         int b = 20;
         int c = 22;
 
         //取余,模运算
         System.out.println(c%a);  //2
 
         System.out.println(a>b);  //False
         System.out.println(a<b);  //True
         System.out.println(a!=b);  //True
     }
 }
自增自减运算符
运算符:
- 
自增: ++ (默认加一)
 - 
自减: -- (默认减一)
 
自增展开:
- 
a++ 与 a=a+1相同
 - 
a-- 与 a=a-1 相同
 
 package operator;
 
 public class Demo04 {
     public static void main(String[] args) {
         //增增运算  一元运算符
         int a = 5;
         int b = a++;   //执行代码时,先给b赋值,再进行自增
         //默认就是:a=a+1
         System.out.println(b);  //5   b=5  a=6
         System.out.println(a);  //6  已被加一
 
         //a再原先加一上,再加一
         int c = ++a;   //执行代码前,先自增,在给b赋值
         System.out.println(c);   //7  c=7  a=7
         System.out.println(a);   //7  a=7
 
         System.out.println("==============自减运算===============");
 
         //自减运算  一元运算符
         int d = 10;
         int e = d--;
         //默认就是:a=a-1
         System.out.println(e);   //结果10  先赋值,后自减
         System.out.println(d);   //结果9   已经被-1
 
         int f = --d;
         System.out.println(f);   //在原先已经被-1上,再减一
         System.out.println(d);   //8
 
 
     }
 }
总结:
- 
运算符在前,先赋值,再自增
 - 
运算符在后,先自增,再赋值
 
逻辑运算符
运算符
- 
与运算(and):&&
 - 
或运算(or):||
 - 
非运算(取反):!
 
运算符含义:
- 
与运算:两个表达式结果都为真,结果为True
 - 
或运算:两个表达式只有一个为真,结果为True
 - 
非运算:如果为真,则变为假,如果为假,则变为真,取反
 
实验例子:
 package operator;
 
 public class Demo05 {
     public static void main(String[] args) {
         //逻辑运算(and)   与  或(or)  非(取反)
         boolean a = true;
         boolean b = false;
 
         System.out.println("a && b: "+(a&&b));  //False  与运算
         System.out.println("a || b: "+(a||b));  //True   或运算
         System.out.println("!(a && b): "+!(a&&b));  //True   非运算
         System.out.println("!(a || b): "+!(a||b));  //False   非运算
 
         //短路运算
         int c = 7;
         int i = 9;
 
         boolean d = (c<4)&&(c++<4);  //第一条件:单纯对比大写
         System.out.println(c);  //7
         boolean e = (c++<4)&&(c<4);  //第一条件:自增加一
         System.out.println(c);  //8
 
         boolean f = (i++>4)||(i++>4);  //只加一
         System.out.println(i);
         boolean g = (i++<4)||(i++<4);  //加二
         System.out.println(i);
 
 
     }
 }
注意:
- 
与运算时,在遇到一个条件为False时,后面的运算不会被执行
 - 
或运算时,在遇到一个条件为True时,后面的运算不会被执行
 
位运算
位运算直接操作计算机底层,效率极高,通常再要求效率中的程序中使用像:源码、汇编等
 package operator;
 
 public class Demo06 {
     public static void main(String[] args) {
         /*
         A = 0101 0011
         B = 0011 1100
         ===============================
         A&B = 0001 0000  两个都为1则为1,其余都为0
         A|B = 0111 1111  两个都为0则为0,其余都为1
         A^B = 0110 1111  两个值不同时为1,相同时为0
         ~B = 1100 0011   0变1,1变0,取反
 
         2*8 =16   可以看作:2*2*2*2 也就是2的4次方,也就是幂运算
         但是java中并没有幂运算符号,可以使用Math数学工具
         效率极高的方式是:使用位运算符。
 
         首先要明白:计算机原理中的二进制
         0000 0000  0
         0000 0001  1
         0000 0010  2
         0000 0011  3
          */
         System.out.println(2<<3);  //16  在2对应的二进制位上,向左位移三位
         System.out.println(64>>1);  //48  再64对应的二进制位上,向右位移一位
     }
 }
条件运算符
条件运算符是逻辑运算与if类似,比较简便使用熟练后,可以减少代码量加强代码可读性
语法与正常使用:
 // 变量 = 1值 >值2 ?"True值结果":"False结果";
 System.out.println(变量)
实验例子
 package operator;
 
 public class Demo07 {
 
     //三元运算符
     public static void main(String[] args) {
         // x ?  y:z
         //如果x为True,那么结果为y,否则为z
         int score1 = 35;
         int score2 = 61;
 
         //如果score1大于60为及格,否则不及格
         String type1 = score1 >60 ?"及格":"不及格";
         System.out.println(type1);  //不及格
 
         String type2 = score2 >60 ?"及格":"不及格";
         System.out.println(type2);  //及格
 
     }
 }
 

                
            
        
浙公网安备 33010602011771号