&与&&区别
来源:互联网 发布:卫士系列火箭炮知乎 编辑:程序博客网 时间:2024/06/11 01:19
1.&和&&都有逻辑与 运算的功能
当逻辑与运算符两边都为bool(布尔型)时
功能如同and,
bool a,b;
bool result1=a&b;
bool result2=a&&b;
当且仅当a和b都为真(true)的时候,result才为真(true);
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
2.&还是位运算符
当&两边都不为bool型,例如都为int,则&为按位与运算符;
例如:int a=1;//a=0x01
int b=2;//b=0x10
(a&b)=0;
当&左右两边有一边为bool,另外一边为int或者long或者short型时,bool型自动升为int,按位与运算
例如:bool c=true;//c=0x01
long d=2L;//d=0x10
(c&d)=0;
- &&与&区别
- ...与[]区别
- &与&&区别
- | 与 || 区别
- &与&&区别
- &与&&区别
- $@ 与 $*区别
- <!-- --> 与 <%-- --%>区别!!
- &与&&区别
- &与&&区别
- $与#区别
- &&与&,||与| 的区别
- &与&&,|与||区别
- &与&& ,|与||的区别
- -> 与 .的区别,&与*
- |与||,&与&&区别
- &与&& ,|与||的区别
- 注释区别???/与//的区别
- 如何查看oracle的执行计划
- 数字图像处理的基本原理和常用方法
- linux高级字符设备驱动以及实例(TQ2440)
- VS2012发布网站
- Qt Radiobutton 学习
- &与&&区别
- HTTP协议详解
- 数据结构之(红黑树)
- 46.搜狐:四对括号可以有多少种匹配排列方式
- 小甜饼吃多了会出现404错误
- 程序执行的概念与意义
- 程序员在 5 月 20 日这天有什么特别的表白方式?
- equals和==最根本的区别
- python 摸索(二) 让我爱上python的一句1000阶乘代码