前言
Java中的运算符时一些特殊的符号,主要用于数学函数,一些类型的赋值语句和逻辑比较方面。Java提供了丰富的运算符,分为了以下几个内容
赋值运算符
赋值运算符以符号“=”表示,它时一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。
使用赋值运算符为变量赋值,实例代码如下:
int a = 10;//声明int变量a
int b = 5;//声明int变量b
int c = a+b;//将变量a与b运算后的结果赋值给c
注意:
由于赋值运算符“=”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“=”运算符,会从最右方的“=”处理。
算术运算符
算术运算符:
注意:
在进行除法运算时,0不能做除数。
自增自减运算符
自增、自减运算符属于单目运算符,可以放在操作元之前,也可放在操作元之后。操作元必须是一个整型或浮点型变量。
自增、自减运算符放在操作元之前,会先将变量的值加1(减1),然后再使该变量参与表达式的运算。
自增、自减运算符放在操作元之后,会先使该变量参与表达式的运算,然后将变量的值加1(减1)。
示例代码:
++a(--a)//表示再使用变量a之前,使a的值加(减)1
a++(a--)//表示再使用变量a之后,使a的值加(减)1
注意:
1.如果单独使用,【前置++】和【后置++】没有任何区别
2.如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置 ++】先使用变量原来的值,表达式结束时给变量+1
3.只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改
比较运算符(关系运算符)
比较运算符:
注意:
当需要多次判断时,不能连着写。
逻辑运算符
逻辑运算符除了“!”为一元运算符,其他均为二元运算符
逻辑运算符:
结果为boolean型变量或表达式可以通过逻辑运算符组合为逻辑表达式。
使用逻辑运算符进行逻辑运算:
注意:
1.对于 && , 如果左侧表达式值为 false,则表达式结果一定是 false, 无需计算右侧表达式。属于“短路”运算符。
2.对于&则会判断两个表达式,属于“非短路”运算符。
3.对于 ||, 如果左侧表达式值为 true,则表达式结果一定是 true,无需计算右侧表达式.
4.& 和 | 如果表达式结果为 boolean 时,也表示逻辑运算,但与 && || 相比,它们不支持短路求值。
位运算符
位运算符:
1.位运算符除“按位与”和“按位或”运算符外,其他只能用于处理整数的操作数。
2.移位运算符适用的数据类型有byte、short、char、int和long。
3.无符号右移“>>>”,无论最高位是0还是1,左侧被移空单位都填入0。
三元运算符(条件运算符)
条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3;
当 表达式1 的值为 true 时,整个表达式的值为 表达式2 的值;
当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值;
int a = 10;
int b = 20;
int max = a > b ? a : b;//当a>b时max=a否则max=b
运算符的优先级
注意:运算符之间是有优先级的, 在可能存在歧义的代码中可以加上括号