Java的运算符

▼魔方 西西 提交于 2019-12-01 09:59:41

运算符分类

  运算符指明对操作数的运算方式.组成表达式的java操作符有很多种..运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,他们分别对应1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符,关系运算符,逻辑运算符,位运算符和其他运算符

  操作数数目来分

    单目运算符

      ~(按位取反)、!(取非)、-(负号运算符)、++(自增)、--(自减)

        列如

 1 ~5 //按位取反
 2 
 3 -6 boolean flg=true;
 4 
 5 !flg //取非false
 6 
 7 -5 //负号运算符-5
 8 
 9 int a=5;
10 
11 //这里一定要注意自增++的位置很重要,++在前是先计算后应用,++在后是先应用后计算
12 
13 a++; //5
14 
15 ++a;//6
16 
17 //这里一定要注意自减--的位置很重要,--在前是先计算后应用,--在后是先应用后计算
18 
19 a--; //5
20 
21 --a; //4

    双目运算符

      +、-、*、/、%(取余)

1 6+5; //+运算符11 
2 6-5; //-运算符1 
3 6*5; //*运算符30 
4 6/5; ///运算符1 这里注意两个整型相除是会舍去小数点后面的数值 
5 7.25/5; //1.45 只有其中一个位浮点型时小数点后面的数值才会显示 
6 7%5; //%运算符2 
7 12%5 //2 

 

    三目运算符

      条件?a:b; 当?前面的条件成立为真时 执行a部分代码,反之执行b部分的代码

1 int a=6; 
2 int b=5; 
3 a<b?"成立":"不成立" //不成立

 

  其功能来分

    算数运算符

      +,-,*,/,%,++,--

    赋值运算符

      =

1  1 int a;
2  a=10;

    关系运算符

      >,<,<=,>=,==,!=, instanceof(是否继承或者实现这个类或者接口)

1 a>b; 
2 b<c; 
3 a>=b; 
4 a<=c; 
5 a==b; 
6 a!=c; 
7 List list=new ArrayList(); 
8 list instanceof ArrayList; //这里一定要注意,instanceof比较了类型必须是引用类型

    逻辑运算符

      &&,||,!

1 a<b&&a<c
2 a<b||a<c

 

    位运算符

      &,|,^,~,<<,>>,>>>

 1 /* &运算符想要知道怎么算 
 2 首先第一步就要把数字转换成二进制 
 3 9=1001 5=101 
 4 相同位都为1则取1,否则取0; 
 5 |运算符也是要先转换成二进制 
 6 相同位有一个为1则取1,都为0才取0; 
 7 ^运算符也是要先转换成二进制 
 8 不相同则取1,相同则取0; */ 
 9 9&5; //1 
10 5&9; //1 
11 9|5; //13 
12 5|9; //13 
13 9^5; //12 
14 5^9; //12 
15 9<<2; //36 
16 /* 9转为二进制是10001 
17 左移2为(就是多加两位,也就是两个0,也可理解左移动一位就是剩余2)
18  为1000100 转换成十进制就是36 
19 */ 
20 9>>2; //2 
21 9>>>2; //2 
22 /* 
23 >>运算符 9转为二进制是10001 右移2为(就是去掉后面两位) 
24 为10 转换成十进制就是2 
25 >>>运算符类似于>>运算符 
26 */ 

    条件运算符

      ?,:

    扩展赋值运算符

      +=,-=,*=,/=

  符号优先级高到低排列:

      [] () ++ -- ! ~ instanceof * / % + - << >> >>> <> <= > | == != & ^ && || ? : = op= 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!