8.运算符总结

运算符

1.二元运算符

 1 package JavaOperator;
 2 
 3 public class Operator01 {
 4     public static void main(String[] args) {
 5         /*
 6         运算符
 7         1、算数运算符:+ ,— ,* , /, %(取余), ++, ——。
 8         2、赋值运算符:=
 9         3、关系运算符:> , <, >=, <=, ==, !=
10         4、逻辑运算符:&&, ||, !。
11         5、位运算符:&, |, ^, ~, >>, <<, >>> 。
12         6、条件运算符:?, : 。
13         7、扩展赋值运算符:+=, —=, *=, /= 。
14              */
15 
16         //二元运算符
17         int a = 14;
18         int b = 64;
19         int c = 34;
20         int d = 68;
21 
22         System.out.println(a+b); // 78
23         System.out.println(a-c); // -20
24         System.out.println(a*d); //952
25         System.out.println(c/d); //0 .精度问题。
26         System.out.println((double)c/d); //0.5 .强制转换解决25行的精度问                        题。
27 
28         //不同数据类型相加会输出什么结果?
29         long h = 20L;
30         int m = 798;
31         short o = 128;
32         byte q = -1;
33         double l = 10.0;
34         System.out.println(q+l); //输出了double类型
35         System.out.println(h+m+o+q); //输出了long类型
36         System.out.println(m+o+q); //输出了int类型
37         System.out.println(o+q); //输出了int类型
38         System.out.println(h+l); //输出了double类型
39 
40         //多个数相加,有long类型,结果为long;否则为int类型。
41         //多个数相加,有double类型,结果为double;否则为int类型。
42         //double>long>int
43 
44 
45     }
46 }

 

2.关系运算符

 1 package JavaOperator;
 2 
 3 public class Operator02 {
 4     public static void main(String[] args) {
 5 
 6         //关系运算符返回的结果:ture、false (布尔值)
 7         int a = 10;
 8         int b = 30;
 9 
10         System.out.println(a>b); //f
11         System.out.println(a<b); //t
12         System.out.println(a==b); //f
13         System.out.println(a!=b); //t
14 
15         //取余 %
16         int d = 22;
17 
18         System.out.println(d%a); //2  成功取余2。
19 
20 
21         //幂运算  如何算2^3 ? 要运用math工具类运算。
22         double pow = Math.pow(2,3);
23         double pow1 = Math.pow(3,3);
24         System.out.println(pow);  // 8.0
25         System.out.println(pow1); // 27.0
26 
27 
28     }
29 }

 

3.自增自减运算符

 1 package JavaOperator;
 2 
 3 public class Operator03 {
 4     public static void main(String[] args) {
 5         //自增自减 ++ -- 。一元运算符号。
 6 
 7         //--a
 8         //该计算表达式产生的值是 x - 1
 9         //该表达式表达完毕之后,a的值也发生了变化 a = x - 1
10         int a = 10;
11 
12         System.out.println(a);  //10
13         System.out.println(--a);  //9
14         System.out.println(a);  //9
15 
16 
17         //a--
18         // 该计算表达式产生的值是 x
19         //该表达式表达完毕之后,a的值也发生了变化 a = x - 1
20         int a1 = 10;
21 
22         System.out.println(a1); //10
23         System.out.println(a1--); //10
24         System.out.println(a1); //9
25 
26 
27         //++a
28         // 该计算表达式产生的值是 x + 1
29         //该表达式表达完毕之后,a的值也发生了变化 a = x + 1
30         int a2 = 10;
31 
32         System.out.println(a2); //10
33         System.out.println(++a2); //11
34         System.out.println(a2); //11
35 
36 
37         //a++
38         // 该计算表达式产生的值是 x
39         //该表达式表达完毕之后,a的值也发生了变化 a = x + 1
40         int a3 = 10;
41 
42         System.out.println(a3); //10
43         System.out.println(a3++); //10
44         System.out.println(a3); //11
45 
46 
47         //实战
48         int b = 10;
49       
50         System.out.println(b); //10
51       
52         int c = b++;
53       
54         System.out.println(b); //11
55         System.out.println(c); //10 
56         System.out.println(b); //11
57       
58         int d = ++b;
59       
60         System.out.println(d); //12
61         System.out.println(b); //12 
62 
63     }
64 }

 

4.逻辑运算符 和 短路运算

 1 package JavaOperator;
 2 
 3 public class Operator04 {
 4     public static void main(String[] args) {
 5         //逻辑运算符 与& 或| 非!
 6 
 7         boolean a = true;
 8         boolean b = false;
 9 
10         System.out.println(a && b); // false。辑与运算,变量都为真,结果才为真。
11         System.out.println(a || b); // ture。逻辑或运算,变量有一真,结果直接为真。
12         System.out.println(!(a && b)); // ture。如果是真输出假,如果是假输出真。
13 
14         //短路运算。
15         int c = 5;
16         boolean d = (c<4)&&(c++<4); //在&&与运算中,如果&&前面的数(c<4)为假,则不进行&&后面的数(C++<4)的运算.
17       
18         System.out.println(d); // false
19         System.out.println(c); // 5 。从c输出5可以知道,c++并没有被执行,否则结果为6。证明了上面的运算出现短路。
20 
21         int x = 5;
22         boolean l = (x>1)||(x-->2);
23 
24         System.out.println(l); // ture
25         System.out.println(x); // 5. ||运算前的数据(x>1)为真,则结果直接为真,不再进行(x-->2)的运算,所以结果为5而不为4。
26 
27 
28     }
29 }

 

5.位运算

package JavaOperator;

public class Operator05 {
    public static void main(String[] args) {
        //位运算: 是二进制的运算
        /*
        A = 0011 1100
        B = 0000 1101

        A&B = 0000 1100  .上下都为1才得1,否则得0。
        A|B = 0011 1101  .上下都为0才得0,否则得1。
        A^B = 0011 0001  .上下相同得0,不相同得1。
        ~B = 1111 0010   .取反操作
        ~A = 1100 0011
         */

        // <<左移 ,>>右移

        System.out.println(2<<3);  // 16 why?
        /*         表示
        0000 0000   0
        0000 0001   1
        0000 0010   2
        0000 0011   3
        0000 0100   4
        0000 1000   8ß
        0001 0000   16

        得出:2在二进制中的1左移三位得到 16 的二进制。
        结论:<<意味着*2 ,>>意味着/2 。


         */
        System.out.println(2<<2); //8
        System.out.println(80>>1); //40



    }
}

 

6.扩展赋值运算符

 1 package JavaOperator;
 2 
 3 public class Operator06 {
 4     public static void main(String[] args) {
 5         int a = 10;
 6         int b = 20;
 7 
 8         /*
 9         a+=b; 从输出结果=30可以推出本式子表示的意思为 a = a+b
10         b-=a;  b = a-b .
11         //a-=b means a = b-a.
12         //偷懒写法,在初学时不要使用。
13 
14         System.out.println(a); //30
15         System.out.println(b); //-10
16         */
17 
18         //字符串链接符
19         System.out.println(a+b); //30
20         System.out.println(""+a+b); //1020
21         System.out.println(a+b+""); //30
22         //字符串在前,链接后拼接。
23         //字符串在后,前面的a+b正常计算。
24 
25 
26     }
27 
28 }

 

7.条件运算符

 1 package JavaOperator;
 2 
 3 public class Operator07 {
 4     public static void main(String[] args) {
 5         //三元运算符
 6         //偷懒算法,但是必须掌握。
 7         //开发中很常见。
 8 
 9         //x ? y :z
10         //如果x==ture,则结果为y,否则为z。
11 
12         int score = 80;
13         int score1 = 54;
14         String ok = score < 60?"不及格":"及格";
15         String ok1 = score1 < 60?"不及格":"及格";
16         System.out.println(ok); //及格
17         System.out.println(ok1); //不及格
18     }
19 }

 

本文总结于:狂神说java:https://www.bilibili.com/video/BV12J41137hu?from=search&seid=13867334794067845764

posted @ 2020-12-30 22:15  jyurokuya  阅读(127)  评论(0)    收藏  举报