java & 和 && 和 II 和 I 区别

&& 是条件与。

&&在检查两边的BOOLEAN时,当左边的为假时是不会检测右边的值的。
表示一个一个执行下去,当全部为true才打印true,如果有一个结果是false则停止执行,打印false。

例1:false && ... = false

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a>10 && (a++)>10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 10
8 }
9 }

结果:
10

 

例2:true && false = false

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a==10 && (a++)>10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:
11

 

例3:true && true = true

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a==10 && (a++)==10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:
true
11

 

====================================================================================================

 

& 是布尔与。&不论左边的是真是假右边的表达式都会进行检测。
无论第一个操作元是true还是false,都要对第二个操作元计值。
全部执行完毕,都为true,则为true,否则为false。

例1:false & true = false

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a>10 & (++a)>10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:

11


例2:true & false = false

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a==10 & (a++)>10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:

11


例3:true & true = true

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a==10 & (++a)>10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:

true
11

 

例4:false & false = false

1 public class TestLogical {
2 public static void main(String[] args) {
3 int a = 10;
4 if(a<10 & (a++)<10){
5 System.out.println("true");
6 }
7 System.out.println(a); // 11
8 }
9 }

结果:

11

 

====================================================================================================

|| 表示一个一个执行下去,遇到true则不继续执行,打印ture,当全部为false,则打印false

 1 // true || false || false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a==10 || (a++)>10 || (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a);
 9 }
10 }

结果:

true
10

 1 // false || true || false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a!=10 || (a++)==10 || (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a);
 9 }
10 }

结果:

true
11

 

 1 // false || false || false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a!=10 || (a++)>10 || (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a);
 9 }
10 }

结果:

12

 

====================================================================================================

| 全部执行完毕后,如果全部为false,则结果为false。有一个结果为true,则结果为true。

 1 // true | false | false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a==10 | (a++)>10 | (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a); // 12
 9 }
10 }

结果:

true
12

 

 1 // false | true | false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a!=10 | a==10 | (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a); // 12
 9 }
10 }

结果:

true
12

 

 1 // false | false | false
 2 public class TestLogical {
 3 public static void main(String[] args) {
 4 int a = 10;
 5 if(a!=10 | (a++)>10 | (++a)<10){
 6 System.out.println("true");
 7 }
 8 System.out.println(a); // 12
 9 }
10 }

结果:

12

转载于:https://www.cnblogs.com/ybts/archive/2012/07/09/2583626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值