2020-11-14 10:27发布
一.算术运算符
算数运算符是完全符合数学运算的规律,其中包括:+ (加法运算)、- (减法运算)、*(乘法运算)、/ (除法运算)、%(取余)、++(自加运算)、–(自减运算)、++i; i先+1再参与运算、--i; i先-1再参与运算、i++; 先运算再+1、i--; 先运算再-1
二、关系比较运算符
> 、<、>=、<=、==、!=
三、 逻辑运算符
与或非:&&、&、 ||、 |
&&(双与): 两边都是true,结果才为true
&(与):两个同时为true,结果为true
||(双或): 有一个是true,结果就是true
|(或):两个有一个为true时,结果即为true
四、赋值运算符
= :将右边的值赋给左边。如:a = 1;
+=:左右两边的和相加赋予左边。如:int a = 2; a += 1;结果a为3
-=:左边减去右边的差赋予左边。如:int a = 2;a -= 1; 结果a为1
*=:两边数值相乘的值赋予左边。如:int a = 2;a *= 1;结果a为2
/=:左边除以右边的值赋予左边。如:int a = 2;a /= 1;结果a为2
%=:左边除以右边的余数赋予左边,如:int a =3;a%=2;结果a为1
五、三目运算符
布尔表达式的意思,计算的结果必须是boolean类型
表达式:变量=布尔表达式 ? 值1 : 值2;
判断为true输出值1.判断为false输出值2;
六、位运算
位运算就是使用二进制运算。
&位与运算:参与运算都为1,结果就为1,否则为0
I位或运算:参与运算其中一个为1,结果就为1
^异或运算:参与运算的两个值,相同为为0不同位就为1
~取反运算:按位取反,0变1,1变0
>>右移运算:最高位是0,左边补齐0,最高位是1,左边补齐1
>>>无符号右移:无符号右移,无论高位是0还是1,左边补齐0
<<左移运算 :左边最高位丢弃,右边补齐0
在Java中包含的运算符有:算数运算符,逻辑运算符,关系运算符等。
算术运算符
关系运算符
逻辑运算符
位运算符
其他运算符
ava运算符分为以下几种:
➤算术运算符:+,-,*,/,%,++,--
➤赋值运算符:=
➤扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
➤位运算符:&,|,~,^,<<,>>,>>>
➤比较运算符:>,>=,<,<=,==
➤逻辑运算符:&&,&,||,|,!,^
➤三目运算符:? :
一、算术运算符
1)+:加法运算符
例如如下代码:
int a = 1;
int b = 2;
int sum = a+b;
//sum的值为3
System.out.println(sum);
另外,+还可以作为字符串的连接运算符。
2)-:减法运算符
int a = 3;
int sub = a-b;
//sub的值为1
System.out.println(sub);
3)*:乘法运算符
int a = 5;
int b = 6;
int multiply = a*b;
//multiply 的值为30
System.out.println(multiply );
4)/:除法运算符
int a = 10;
int b = 5;
int div = a/b;
//div的值为2
System.out.println(div);
注:如果除法运算符的两个操作数都是整数类型,则计算结果为整数,除数不可以为0,否则会引发异常;如果除法运算符的两个操作数中至少一个是浮点数,则计算结果也是浮点数,此时除数可以为0或0.0,得到的结果是正无穷大或负无穷大。
5)%:求余运算符(取模运算符)
int b = 3;
int mod = a%b;
//mod 的值为1
System.out.println(mod );
注:求余运算符的结果不一定总是整数。如果求余运算符的两个操作数都是整数,则第二个操作数不能为0(同除法运算规则);如果求余运算符的两个操作数中至少一个是浮点数,则第二个操作数可以是0或0.0,但求余结果是是非数:NaN。
6)++:自加运算符
++自加运算符是单目运算符(一元运算符),只有一个操作数。运算符既可以放在操作数的左边也可以放在操作数的右边。如果把++放在左边,则先把操作数加1,然后再运算;如果把++放在右边,则先运算,然后再把操作数加1。
自加运算符放在操作数左边的代码:
int a = 2;
int b = ++a + 3; //a先自加,然后再执行算术运算
System.out.println(a); //a的值为3
System.out.println(b); //b 的值为6
自加运算符放在操作数右边的代码:
int b = a++ + 3; //a先执行算术运算,再自加
System.out.println(b); //b 的值为5
7)--:自减运算符
--自减运算符也是单目运算符(一元运算符),只有一个操作数。用法与++类似,只是将操作数的值减1;
注:自加和自减只能用于操作变量,不能用于操作数值直接量、常量或表达式。例如3--是错误的!
二、赋值运算符
赋值运算符用于为变量指定变量值。
例如 String str = "java"; //为变量str赋值java
三、扩展后的赋值运算符
● +=:对于a+=b,即对应于a=a+b。
● -=:对于a-=b,即对应于a=a-b。
● *=:对于a*=b,即对应于a=a*b。
● /=:对于a/=b,即对应于a=a/b。
● %=:对于a%=b,即对应于a=a%b。
● &=:对于a&=b,即对应于a=a&b。
● |=:对于a|=b,即对应于a=a|b。
● ^=:对于a^=b,即对应于a=a^b。
● <<=:对于a<<=b,即对应于a=a<
● >>=:对于a>>=b,即对应于a=a>>b。
●>>>=:对于a>>>=b,即对应于a=a>>>b。
四、位运算符
● &:按位与。当两位同时为1时才返回1。
● |:按位或。只要有一位为1就返回1。
● ~:按位非。单目运算符,将操作数的每一位(包括符号位)全部取反。
● ^:按位异或。当两位不同时返回1,相同时返回0。
● <<:左移运算符。
● >>:右移运算符
● >>>:无符号右移运算符
代码示例如下:
System.out.println(5&9); //输出1
System.out.println(5|9); //输出13
System.out.println(~-5); //输出4
System.out.println(5^9); //输出12
System.out.println(5<<2>
System.out.println(-5<<2>
System.out.println(-5>>2); //输出-2
//下面输出1073741822
System.out.println(-5>>>2);
五、比较运算符
比较运算符用于判断两个常量或变量的大小,比较结果是是一个布尔值(true或false)。
比较运算符有:>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)。
System.out.println(7>3); //输出true
System.out.println(7<=3); //输出false
六、逻辑运算符
逻辑运算符用于操作两个布尔的变量或常量,有如下6个:
● &&:与,两个操作数都为true才返回true,否则返回false。
● &:不短路与,作用与&&相同,但不会短路。
● ||:或,两个操作数只要有一个为true,就返回true,两个操作数都为false才返回false。
● |:不短路或,作用与||相同,但不会短路。
● !:非,或取反,如果操作数是true,则返回false。如果是false,则返回true。
● ^:异或,当两个操作数不同时才返回true,相同返回false。
下面代码示范了逻辑运算符短路与不短路的区别(以|和||的区别为例):
int b = 9;
if(a>2 | b++ >9){undefined
//输出10,说明b++ >9得到了计算
System.out.println(b);
}
if(a>2 || b++ >9){undefined
//输出9,说明b++ >9没有得到了计算
&与&&的区别与此类似。
七、 三目运算符
三目运算符:? :,语法格式如下:
(expression) ? if-true-statement : if-false-statement
三目运算符的语法规则是:先对逻辑表达式expression求值,如果expression返回true,则返回第二个操作数的值,否则返回第三个操作数的值。
程序实例如下:
String str = 7>4?"7大于4":"7不大于4";
System.out.println(str); //输出7大于4
比较运算符 名称说明示例结果==等于比较两个数值(数字、布尔)是否相同9==9true8==7false!=不等于比较两个数值(数字、布尔)是不同6!=6false5!=8true大于检查左边的数是否大于右边的数9>6true6>9false=6true...
()1!(很高)、++、--2先*、/、%后+、-3>、>=、
= 不能用于 NULL的比较 和 = 类型,,不同在于 值魏NULL 也可以正确的比较;BETWEEN 的用法,a BETWEEN min ADD max ; 相当于是 a在 min和 max之间;可以等于min和max;in 的用法 a in(1,2,3,4,5) ,a 是否存在 1 2 3 4 5 中;a IS NULL ;...
=:把右边的内容赋值给左边+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。注意: +=隐含了强制类型转换。 x+=y;等价与:x = (x的数据类型)(x + y);
不是算术运算符中,乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > = 】属于优先级第...
算术运算符中,乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > = 】属于优先级第六级...
基本的赋值运算符是=。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。
当然是右结合。譬如这个表达式: a == b ? a : b ? c : d它的结合是这样的 a == b ? a : (b ? c : d)如果是左结合,它的结合是这样的: a == (b ? a : b) ? c : d
1、= 赋值运算 符:变量=表达式,如:a=3,将a的值赋为3;2、/= 除后赋值:变量/=表达式,如:a/=3,即a=a/3;3、*= 乘后赋值:变量*=表达式,如:a*=3,即a=a*3;4、%= 取模后赋值:变量%=表达式,如:a%=3,即a=a%3;5、+= 加后赋值:变量+=表达式,如:a+=...
一、> :右移运算符,num >> 1,相当于num除以2三、>>> :无符号右移,忽略符号位,高位都以0补齐,无符号右移运算符>>> 只是对32位和64位的值有意义四、& :与运算,符号两边都为true,结果才是true,否则为false;对于数字,可将数字转换为2进制形式去理解,...
所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是...
typeof 运算符返回一个用来表示表达式的数据类型的字符串。typeof expression ;expression 参数是需要查找类型信息的任意表达式。说明typeof 是一个一元运算符,放在一个运算数之前。typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: ...
以下运算符优知先级顺序依次递增: Lambda #运算优先级最低逻辑道运算符: or逻辑运算符: and逻辑运算符:not成员测试: in, not in同一性专测试: is, is not比较: =,!=,==按位或: |按位异或: ^按位与: &移位: 加法与减法: + ,-乘法、除法与...
如下:
最多设置5个标签!
一.算术运算符
算数运算符是完全符合数学运算的规律,其中包括:+ (加法运算)、- (减法运算)、*(乘法运算)、/ (除法运算)、%(取余)、++(自加运算)、–(自减运算)、++i; i先+1再参与运算、--i; i先-1再参与运算、i++; 先运算再+1、i--; 先运算再-1
二、关系比较运算符
> 、<、>=、<=、==、!=
三、 逻辑运算符
与或非:&&、&、 ||、 |
&&(双与): 两边都是true,结果才为true
&(与):两个同时为true,结果为true
||(双或): 有一个是true,结果就是true
|(或):两个有一个为true时,结果即为true
四、赋值运算符
= :将右边的值赋给左边。如:a = 1;
+=:左右两边的和相加赋予左边。如:int a = 2; a += 1;结果a为3
-=:左边减去右边的差赋予左边。如:int a = 2;a -= 1; 结果a为1
*=:两边数值相乘的值赋予左边。如:int a = 2;a *= 1;结果a为2
/=:左边除以右边的值赋予左边。如:int a = 2;a /= 1;结果a为2
%=:左边除以右边的余数赋予左边,如:int a =3;a%=2;结果a为1
五、三目运算符
布尔表达式的意思,计算的结果必须是boolean类型
表达式:变量=布尔表达式 ? 值1 : 值2;
判断为true输出值1.判断为false输出值2;
六、位运算
位运算就是使用二进制运算。
&位与运算:参与运算都为1,结果就为1,否则为0
I位或运算:参与运算其中一个为1,结果就为1
^异或运算:参与运算的两个值,相同为为0不同位就为1
~取反运算:按位取反,0变1,1变0
>>右移运算:最高位是0,左边补齐0,最高位是1,左边补齐1
>>>无符号右移:无符号右移,无论高位是0还是1,左边补齐0
<<左移运算 :左边最高位丢弃,右边补齐0
在Java中包含的运算符有:算数运算符,逻辑运算符,关系运算符等。
算术运算符
关系运算符
逻辑运算符
位运算符
其他运算符
ava运算符分为以下几种:
➤算术运算符:+,-,*,/,%,++,--
➤赋值运算符:=
➤扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=
➤位运算符:&,|,~,^,<<,>>,>>>
➤比较运算符:>,>=,<,<=,==
➤逻辑运算符:&&,&,||,|,!,^
➤三目运算符:? :
一、算术运算符
1)+:加法运算符
例如如下代码:
int a = 1;
int b = 2;
int sum = a+b;
//sum的值为3
System.out.println(sum);
另外,+还可以作为字符串的连接运算符。
2)-:减法运算符
例如如下代码:
int a = 3;
int b = 2;
int sub = a-b;
//sub的值为1
System.out.println(sub);
3)*:乘法运算符
例如如下代码:
int a = 5;
int b = 6;
int multiply = a*b;
//multiply 的值为30
System.out.println(multiply );
4)/:除法运算符
例如如下代码:
int a = 10;
int b = 5;
int div = a/b;
//div的值为2
System.out.println(div);
注:如果除法运算符的两个操作数都是整数类型,则计算结果为整数,除数不可以为0,否则会引发异常;如果除法运算符的两个操作数中至少一个是浮点数,则计算结果也是浮点数,此时除数可以为0或0.0,得到的结果是正无穷大或负无穷大。
5)%:求余运算符(取模运算符)
例如如下代码:
int a = 10;
int b = 3;
int mod = a%b;
//mod 的值为1
System.out.println(mod );
注:求余运算符的结果不一定总是整数。如果求余运算符的两个操作数都是整数,则第二个操作数不能为0(同除法运算规则);如果求余运算符的两个操作数中至少一个是浮点数,则第二个操作数可以是0或0.0,但求余结果是是非数:NaN。
6)++:自加运算符
++自加运算符是单目运算符(一元运算符),只有一个操作数。运算符既可以放在操作数的左边也可以放在操作数的右边。如果把++放在左边,则先把操作数加1,然后再运算;如果把++放在右边,则先运算,然后再把操作数加1。
自加运算符放在操作数左边的代码:
int a = 2;
int b = ++a + 3; //a先自加,然后再执行算术运算
System.out.println(a); //a的值为3
System.out.println(b); //b 的值为6
自加运算符放在操作数右边的代码:
int a = 2;
int b = a++ + 3; //a先执行算术运算,再自加
System.out.println(a); //a的值为3
System.out.println(b); //b 的值为5
7)--:自减运算符
--自减运算符也是单目运算符(一元运算符),只有一个操作数。用法与++类似,只是将操作数的值减1;
注:自加和自减只能用于操作变量,不能用于操作数值直接量、常量或表达式。例如3--是错误的!
二、赋值运算符
赋值运算符用于为变量指定变量值。
例如 String str = "java"; //为变量str赋值java
三、扩展后的赋值运算符
● +=:对于a+=b,即对应于a=a+b。
● -=:对于a-=b,即对应于a=a-b。
● *=:对于a*=b,即对应于a=a*b。
● /=:对于a/=b,即对应于a=a/b。
● %=:对于a%=b,即对应于a=a%b。
● &=:对于a&=b,即对应于a=a&b。
● |=:对于a|=b,即对应于a=a|b。
● ^=:对于a^=b,即对应于a=a^b。
● <<=:对于a<<=b,即对应于a=a<
● >>=:对于a>>=b,即对应于a=a>>b。
●>>>=:对于a>>>=b,即对应于a=a>>>b。
四、位运算符
● &:按位与。当两位同时为1时才返回1。
● |:按位或。只要有一位为1就返回1。
● ~:按位非。单目运算符,将操作数的每一位(包括符号位)全部取反。
● ^:按位异或。当两位不同时返回1,相同时返回0。
● <<:左移运算符。
● >>:右移运算符
● >>>:无符号右移运算符
代码示例如下:
System.out.println(5&9); //输出1
System.out.println(5|9); //输出13
System.out.println(~-5); //输出4
System.out.println(5^9); //输出12
System.out.println(5<<2>
System.out.println(-5<<2>
System.out.println(-5>>2); //输出-2
//下面输出1073741822
System.out.println(-5>>>2);
五、比较运算符
比较运算符用于判断两个常量或变量的大小,比较结果是是一个布尔值(true或false)。
比较运算符有:>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)。
代码示例如下:
System.out.println(7>3); //输出true
System.out.println(7<=3); //输出false
六、逻辑运算符
逻辑运算符用于操作两个布尔的变量或常量,有如下6个:
● &&:与,两个操作数都为true才返回true,否则返回false。
● &:不短路与,作用与&&相同,但不会短路。
● ||:或,两个操作数只要有一个为true,就返回true,两个操作数都为false才返回false。
● |:不短路或,作用与||相同,但不会短路。
● !:非,或取反,如果操作数是true,则返回false。如果是false,则返回true。
● ^:异或,当两个操作数不同时才返回true,相同返回false。
下面代码示范了逻辑运算符短路与不短路的区别(以|和||的区别为例):
int a = 3;
int b = 9;
if(a>2 | b++ >9){undefined
//输出10,说明b++ >9得到了计算
System.out.println(b);
}
if(a>2 || b++ >9){undefined
//输出9,说明b++ >9没有得到了计算
System.out.println(b);
}
&与&&的区别与此类似。
七、 三目运算符
三目运算符:? :,语法格式如下:
(expression) ? if-true-statement : if-false-statement
三目运算符的语法规则是:先对逻辑表达式expression求值,如果expression返回true,则返回第二个操作数的值,否则返回第三个操作数的值。
程序实例如下:
String str = 7>4?"7大于4":"7不大于4";
System.out.println(str); //输出7大于4
相关问题推荐
比较运算符 名称说明示例结果==等于比较两个数值(数字、布尔)是否相同9==9true8==7false!=不等于比较两个数值(数字、布尔)是不同6!=6false5!=8true大于检查左边的数是否大于右边的数9>6true6>9false=6true...
()1!(很高)、++、--2先*、/、%后+、-3>、>=、
= 不能用于 NULL的比较 和 = 类型,,不同在于 值魏NULL 也可以正确的比较;BETWEEN 的用法,a BETWEEN min ADD max ; 相当于是 a在 min和 max之间;可以等于min和max;in 的用法 a in(1,2,3,4,5) ,a 是否存在 1 2 3 4 5 中;a IS NULL ;...
=:把右边的内容赋值给左边+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。注意: +=隐含了强制类型转换。 x+=y;等价与:x = (x的数据类型)(x + y);
不是算术运算符中,乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > = 】属于优先级第...
算术运算符中,乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > = 】属于优先级第六级...
基本的赋值运算符是=。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。
当然是右结合。譬如这个表达式: a == b ? a : b ? c : d它的结合是这样的 a == b ? a : (b ? c : d)如果是左结合,它的结合是这样的: a == (b ? a : b) ? c : d
算术运算符中,乘法运算符【*】、除法运算符【/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【< > = 】属于优先级第六级...
1、= 赋值运算 符:变量=表达式,如:a=3,将a的值赋为3;2、/= 除后赋值:变量/=表达式,如:a/=3,即a=a/3;3、*= 乘后赋值:变量*=表达式,如:a*=3,即a=a*3;4、%= 取模后赋值:变量%=表达式,如:a%=3,即a=a%3;5、+= 加后赋值:变量+=表达式,如:a+=...
一、> :右移运算符,num >> 1,相当于num除以2三、>>> :无符号右移,忽略符号位,高位都以0补齐,无符号右移运算符>>> 只是对32位和64位的值有意义四、& :与运算,符号两边都为true,结果才是true,否则为false;对于数字,可将数字转换为2进制形式去理解,...
所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是...
typeof 运算符返回一个用来表示表达式的数据类型的字符串。typeof expression ;expression 参数是需要查找类型信息的任意表达式。说明typeof 是一个一元运算符,放在一个运算数之前。typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: ...
以下运算符优知先级顺序依次递增: Lambda #运算优先级最低逻辑道运算符: or逻辑运算符: and逻辑运算符:not成员测试: in, not in同一性专测试: is, is not比较: =,!=,==按位或: |按位异或: ^按位与: &移位: 加法与减法: + ,-乘法、除法与...
如下: