&&和&:
这两个都是java中逻辑运算符,&&可称为短路与,&称为逻辑与。
再使用&&时有两个判断条件: 条件1&&条件2 ,这时候如果检测到条件1不成立就直接返回false,不会再判断条件2是否成立。
再使用&时假设也有两个条件:条件1&条件2,此时即便是检测出了条件1不成立也会继续进行判断条件2是否成立,当条件全部判断完以后再返回false。
&&代码演示
可以看出&&在第一个条件已经为false时不会去判断第二个条件是否是对错,直接返回false。
&代码演示
可以看出&在第一个条件已经为false时任会去判断第二个条件是否是对错,然后再返回false。
|| 和 |
这个与&&、&同理,||再判断出第一个条件成立时不会再去判断第二个条件是否正确,会直接返回ture。而|会对第二个条件是否成立进行判断,然后再返回ture。
||代码示例
可以看出再a<b成立的时候没有再判断 Integer.valueOf("sds")<b 是否正确,直接返回ture。
|代码示例
可以看出它还执行 Integer.valueOf("sds")<b这段代码,所以报错了。