一、运算符号优先级
二、按功能区分运算符
算术运算符:+,-,*,/,%,++,--
赋值运算符:=
扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
关系比较运算符:>,>=,<,<=,==
逻辑运算符:&&,&,||,|,!,^
位运算符:&,|,~,^,<<,>>,>>>
其他运算符(三目运算符):? :
1、算术运算符:
(1)+(加法)
int a = 3;
int b = 2;
in sum = a+b; /sum的值为5
(2)-(加法)
int a = 3;
int b = 2;
int sub = a-b; //sub的值为1
(3)*(乘法)
int a = 3;
int b = 2;
int multiply = a*b; //multiply 的值为6
(4)/(除法--取整)
int a = 8;
int b = 4;
int div = a / b; //div的值为2
(5)%(求取--取模)
int a = 8;
int b = 5;
int div = a % b; //div的值为3
(6)++(自增)
运算符既可以放在操作数的左边也可以放在操作数的右边。
如果把++放在左边,则先把操作数加1,然后再运算;
自加运算符放在操作数左边的代码:
int a = 2;
int b = ++a + 3; //a先自加,然后再执行算术运算
System.out.println(a); //a的值为3
System.out.println(b); //b 的值为6
如果把++放在右边,则先运算,然后再把操作数加1。
自加运算符放在操作数右边的代码:
int a = 2;
int b = a++ + 3; //a先执行算术运算,再自加
System.out.println(a); //a的值为3
System.out.println(b); //b 的值为5
(7)--(自减)(与自增相似)
也可以查看
a++与++a的区别
2、赋值运算符:=(用来为变量指定变量值;)
扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
(1)+=:对于a+=b,即对应于a=a+b。
(2) -=:对于a-=b,即对应于a=a-b。
(3) *=:对于a*=b,即对应于a=a*b。
(4) /=:对于a/=b,即对应于a=a/b。
(5) %=:对于a%=b,即对应于a=a%b。
(6) &=:对于a&=b,即对应于a=a&b。
(7) |=:对于a|=b,即对应于a=a|b。
(8) ^=:对于a^=b,即对应于a=a^b。
(9) <<=:对于a<<=b,即对应于a=a<<b。
(10) >>=:对于a>>=b,即对应于a=a>>b。
(11)>>>=:对于a>>>=b,即对应于a=a>>>b。
3、关系比较运算符:
>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)
4、逻辑运算符:
(1)&&(与):两个操作全为true,才返回true,反之返回false;
(2)&(不短路与):作用同&&,但不会短路;
(3)||(或):两个操作只要有一个为true,就返回true,全为false才返回false;
(4)|(不短路或):作用同 || ,但不会短路;
(5)!(非):即取反,若操作数为true,则返回false,反之;
(6)^(异或):两个操作数不同时返回true,相同时返回false;
5、位运算符:(转换为二进制进行计算)
(1)&(按位与)
按位与 规则:(全 1 为 1)
1 & 1 =1
1 & 0 =0
0 & 1 =0
0 & 0=0
(2)|(按位或)
按位或 规则:(有 1 为 1)
1 | 1 =1
1 | 0 =1
0 | 1 =1
0 | 0 =0
(3)~(按位非)
非运算规则:(将操作数的每一位(包括符号位)全部取反。)
~ 1 = 0
~ 0 = 1
(4)^(按位异或)
按位异或 规则:(相同为 0 ;相异为 1 )
(5)<<(左移运算符)
System.out.println (5<<2); //输出20
左移 2 位,也就相当于:5*2*2=20;
或是将数字转换为二进制,即5====》101
左移两位:101=====》101 00
二进制转十进制:10100 ====》20
(6)>>(右移运算符)
System.out.println (16>>3); //输出2
右移 3 位,就相当于:16 / 2 / 2 /2 =2;
与左移相似:
将数字转换为二进制,即16====》1000 0
右移三位:1000 0=====》10
二进制转十进制:10 ====》2
System.out.println (-8>>1); //输出-4
(7)>>>(无符号右移运算符)
>>> 和 >> 的区别在于:
>>> 负数高位补 0;
>> 负数高位补1;
6、其他运算符(三目运算符):? :
语法格式:(expression) ? if-true-statement : if-false-statement
如:String str = 6>4 ? "6大于4" : "6不大于4" ;文章来源:https://www.toymoban.com/news/detail-443558.html
System.out.println(str); //输出6大于4文章来源地址https://www.toymoban.com/news/detail-443558.html
到了这里,关于Java语言中运算符号优先级的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!