在java中&和&&都属于逻辑运算符,都是判断两边条件为真时为真,否则则为假。

在程序中:

1         int i = 1;
2         if ((i++ > 1) & (i++ > 3)) {
3             System.out.println("啦啦啦");
4         } else {
5             System.out.println("噢噢噢");
6         }
7         System.out.println(i);

运行结果:

1 噢噢噢
2 3

 & 逻辑运算符实际上会把前后两个判断条件都执行一次,也就是 i 自身加两次 出现结果为 3 。  

1         int i = 1;
2         if ((i++ > 1) && (i++ > 3)) {
3             System.out.println("啦啦啦");
4         } else {
5             System.out.println("噢噢噢");
6         }
7         System.out.println(i);

 运行结果:

1 噢噢噢
2 2

&& 逻辑运算符实际上只判断了前边一个条件为假时,得出判断为false,出现结果为:2

区别:

&& 会出现短路,通过第一个表达判断整个表达式的结果,后面的表达式将不会运算。

&不会出现短路,将整个表达式都进行运算,&既可操作 boolean 数据还可以操作 数

相关文章:

  • 2021-12-17
  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
猜你喜欢
  • 2021-10-27
  • 2022-01-08
  • 2021-11-09
  • 2021-10-06
  • 2021-07-14
  • 2021-08-23
  • 2021-10-15
相关资源
相似解决方案