如下语句通过算术运算和逻辑运算之后i和 j的结果是( )
1 2 3 4 5 6 |
|
A i=0;j=0
B i=1;j=1
C i=0;j=1
D i=1;j=0
懵逼树下懵逼果,懵逼树前你和我
逻辑运算符(Java中)有四类:
&&(短路与),&
||(短路或), |
短路与是JAVA语言中的一个逻辑运算符,记作&&,与编程语言中的与逻辑相似,但具有短路性质。
符号为:&&。
A&&B, 当A为false时,不去计算B的值而直接返回false;当A为true时,计算B的值。(来自百度百科)
而A&B,需要计算A和B的值才会返回值。
简单的来说:
&&和&都是表示与,区别是&&若第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。
例1
public class Demo{public static void main(String[] args) {int i = 4;if ((i++ > 6) & (i++ < 9)) {System.out.println(i);System.out.println("if为真");}System.out.println(i);}
}
运行结果为 : 6
因为 i 自加两次。
例2:
public class Demo{public static void main(String[] args) {int i = 4;if ((i++ > 6) && (i++ < 9)) {System.out.println(i);System.out.println("if为真");}System.out.println(i);}
}
运行结果为 : 5
因为 i 自加一次。
同理,| 和 || 也是类似情况。
百度百科:
短路或是JAVA语言中的一个逻辑运算符,记作||。所谓短路,即在第一项为true的情况下,不再进行第二项的判断。
a||b:只有a与b都为false,结果才为false;有一个为true,结果为true。
简单的来说:
|| 和 | 都是表示与,区别是 || 若第一个条件不满足,后面条件就不再判断。而 | 要对所有的条件都进行判断。
所以答案为D
文章仅个人理解,来在各大网站。如有不合理之处,欢迎吐槽。
阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691
阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882
阅读目录(置顶)(长期科技领域知识)https://blog.csdn.net/weixin_43392489/article/details/102600114
歌谣带你看java面试题 https://blog.csdn.net/weixin_43392489/article/details/102675944