9.JavaSE之运算符

Java语言支持如下运算符operator:优先级()
  • 算数运算符 :+ ,- ,* ,/ ,% ,++ ,--
  • 赋值运算符 :=
  • 关系运算符 :> ,< ,>= ,<= ,==!= ,instanceof
  • 逻辑运算符 :&&,||,!与或非
  • 位运算符 :& ,| ,^ ,~ ,>>右移 ,<<左移 ,>>>
  • 条件运算符 ?:
  • 扩展赋值运算符 :+= ,-= ,*= ,/=
首先为了方便管理,建一个包,把之前的类放进去

 

 

 

 

 

 

基本运算符:
 1 package operator;
 2 
 3 public class Demo01 {
 4     public static void main(String[] args) {
 5 
 6         //二元运算符:两个数
 7         //Ctrl+D :复制当前行到下一行
 8         int a = 10;
 9         int b = 20;
10         int c = 25;
11         int d = 25;
12 
13         System.out.println(a + b);//30
14         System.out.println(a - b);//-10
15         System.out.println(a * b);//200
16         System.out.println(a / (double) b);//0.5
17 
18     }
19 }
 1 package operator;
 2 
 3 public class Demo02 {
 4     public static void main(String[] args) {
 5         long a = 123123123123L;
 6         int b = 123;
 7         short c = 10;
 8         byte d = 8;
 9         System.out.println(a + b + c + d);//如果有long类型操作数,那么结果为long类型 123123123264,double也一样
10         System.out.println(b + c + d);//int 141
11         System.out.println(c + d);//int 18
12     }
13 }
 1 package operator;
 2 
 3 public class Demo03 {
 4     public static void main(String[] args) {
 5         //关系运算符的返回结果:正确,错误 布尔值
 6         //if
 7 
 8         int a = 10;
 9         int b = 20;
10         int c = 21;
11 
12         //取余,模运算
13         System.out.println(c % a);// c/a  21/10  = 2...1
14         System.out.println(a > b);//  false
15         System.out.println(a < b);//  true
16         System.out.println(a == b);// false
17         System.out.println(a != b);// true
18 
19     }
20 }
自增自减运算符、初识Math类:
 1 package operator;
 2 
 3 public class Demo04 {
 4     public static void main(String[] args) {
 5         //++  --  自增,自减 一元运算符
 6         int a = 3;
 7 
 8         int b = a++;  //执行完这行代码后,先给b赋值,再自增
 9         //a = a + 1;
10         System.out.println(a);//4
11         //a = a + 1;
12         int c = ++a; //执行完这行代码前,先自增,再给c赋值
13 
14 
15         System.out.println(a);//5
16         System.out.println(b);//3
17         System.out.println(c);//5
18 
19         //幂运算 2^3 2*2*2=8 ,很多运算,我们会使用一些工具类来操作!
20         double pow = Math.pow(2, 3);//8.0
21         System.out.println(pow);
22     }
23 }
逻辑运算符:
 1 package operator;
 2 
 3 //逻辑运算符
 4 public class Demo05 {
 5     public static void main(String[] args) {
 6         //与(and)   或(or)  非(取反)
 7         boolean a = true;
 8         boolean b = false;
 9 
10         System.out.println("a && b:" + (a && b));//false      逻辑与运算:同真为真
11         System.out.println("a || b:" + (a || b));//true       逻辑或运算:有真就真
12         System.out.println("! (a && b):" + !(a && b));//true
13 
14         //短路运算 
15         int c = 5;
16         boolean d = (c < 4) && (c++ < 4);
17         System.out.println(d); //false
18         System.out.println(c); //5
19 
20     }
21 }

 

位运算符:
 1 package operator;
 2 
 3 public class Demo06 {
 4     public static void main(String[] args) {
 5         /*
 6          A = 0011 1100
 7          B = 0000 1101
 8 
 9          A&B = 0000 1100  同为1才为1
10          A|B = 0011 1101  有1为1
11          A^B = 0011 0001          异或 相同为0,不同为1
12          ~B  = 1111 0010  按位取反
13 
14          2*8 = 16   2*2*2*2
15 
16          效率极高!直接跟底层,二进制打交道
17           <<左移  *2
18           >>右移  /2
19         */
20 
21         System.out.println(2<<3);//16
22 
23     }
24 }

 

赋值运算符:
 1 package operator;
 2 
 3 public class Demo07 {
 4     public static void main(String[] args) {
 5         int a = 10;
 6         int b = 20;
 7 
 8         a += b;//a = a + b
 9         System.out.println(a);         //30
10 
11         a -= b;//a = a - b
12         System.out.println(a);         //10
13 
14         //字符串连接符  +   有String 就为字符串
15         System.out.println(a + b);     //30
16         System.out.println("" + a + b);//1020
17         System.out.println(a + b + "");//30
18 
19     }
20 }

 

三元运算符及小结:
 1 package operator;
 2 
 3 public class Demo08 {
 4     public static void main(String[] args) {
 5         // x ? y : z
 6         // 如果 x ==true ,则结果为y ,否则结果为z
 7 
 8         int score = 80;
 9         String type = score < 60 ? "不及格" : "及格";
10         //if
11         System.out.println(type);//及格
12 
13     }
14 }

 

posted @ 2020-01-21 15:45  断浮  阅读(157)  评论(0编辑  收藏  举报