Java 实例说明 &&和&的区别
2017-02-08 17:47
330 查看
&和&&的区别 通过实例一眼就可以看出来:
int x = 11,y = 11;
if(x++>11 & y++>11) {
}
System.out.println(x + " " + y);
运行结果: 12 12
int x = 11,y = 11;
if(x++>11 && y++>11) {
}
System.out.println(x + " " + y);
运行结果: 12 11
拓展:
int x = 11,y = 11;
if(x++>11 & y++>11) {
}
System.out.println(x + " " + y);
运行结果: 12 12
int x = 11,y = 11;
if(x++>11 && y++>11) {
}
System.out.println(x + " " + y);
运行结果: 12 11
拓展:
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,
例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException 如果将&&改为&,则会抛出NullPointerException异常。
String str = null; if (str != null && !str.equals("")) {} System.out.println(str);
运行结果:null
String str = null; if (str != null &!str.equals("")) {} System.out.println(str);注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。运行结果:Exception in thread "main" java.lang.NullPointerException
补充:如果你熟悉JavaScript,那你可能更能感受到短路运算的强大,想成为JavaScript的高手就先从玩转短路运算开始吧。
相关文章推荐
- 短路与非短路运算符
- 【百日三千】之JAVA细节——短路
- JS短路原理的应用 精简代码的途径
- 位运算和逻辑运算
- matlab Floyd最短路计算
- 电路板上电源和地短路,电压一定会被拉到0v吗?
- PHP中逻辑运算符的短路特性
- &和&&的区别?【Java面试题】
- js短路,||、&&、!!短路运算符的使用
- 说说&和&&的区别
- 剑指offer-求1+2+3+...+n
- PHP 判断语句
- Java8新特性Stream短路终端操作实例解析
- 关于 safari浏览器 不支持new Date 显示NaN的问题记录
- 【死磕Java并发】-----深入分析volatile的实现原理
- springboot(九):定时任务
- java上传多张图片,并且可以删除上传的图片。
- springboot(八):RabbitMQ详解
- JAVA(2017-02-08)
- Java无需解压直接读取Zip文件和文件内容