标签:出现 没有 括号 算术 大于等于 ++ 情况下 现象 布尔类型
运算符:
*算术运算符
*逻辑运算符
*字符串连接运算符
*三元运算符
*赋值类运算符
关于java编程中运算符之:算术运算符
+ 求和
- 相减
* 乘积
/ 商
% 求余数【取模】
++ 自加1
-- 自减1
注意:一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。
//++出现在变量后
//规则:先做赋值运算,再对变量中保存的值进行自加1.
int a=100;//101
int b=a++;//100
//++出现在变量前
//规则:先进行自加
int m=20;//21
int n =++m;//21
关系运算符:
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
= 是赋值运算符
== 是关系运算符(关系运算符的运算结果一定是布尔类型:true/false)
关系运算符的运算原理:
int a=10;
int b=10;
a>b比较的时候,比较的是a中保存的10这个值和b这个值之间的大小比较。
逻辑运算符:
& 逻辑与
| 逻辑或
! 逻辑非(!false)//true||(!true)//false
^ 逻辑异或(true^false)//true || (false^false)//false || (true^true)//false
&& 短路与
|| 短路或
1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。
2、短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。
3、短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。
逻辑与和短路与
如:int x=10;
int y=8;
//逻辑与
system.out.println(x<y&++x<y);
system.out.println(x);//11;两边运算后再进行比较
//短路与
system.out.println(x<y&&++x<y);
system.out.println(x);//10;先比较后再运算
x<y 结果是false,整个表达式结果已经确定是false;
所有后面的表达式没有再执行,这种现象被称为短路现象。
短路与才会有短路现象,逻辑与是不会存在短路现象的。
从某个角度来看,短路与更智能,由于后面的表达式可能不执行,所以执行效率较高。这种方式在实际的开发中使用较多。短路与比逻辑与使用的多。短路与更常用。
但在某些特殊的也无逻辑当中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与,不能使用短路与,使用短路与可能导致右边的表达式不执行。
什么情况下发生短路或?
*第一个表达是执行结果是true,会发生短路或。
什么情况下发生短路与?
*第一个表达式执行结果是false,会发生短路与。
三元运算符/三目运算符/条件运算符
1、语法规则:
布尔表达式?表达式1:表达式2
2、三元运算符的执行原理?
当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果
当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果
如:char c= sex? ‘男‘:‘女‘;
标签:出现 没有 括号 算术 大于等于 ++ 情况下 现象 布尔类型
原文地址:https://www.cnblogs.com/zhuojinyong/p/11605623.html