请详细说明|与||的区别, &与&&的区别, 谢谢! 关于短路运算符的问题:请详细说明|与||的区别, &与&&的区别, 需要举具体例子出来, 如果有参考网址也可以发上来, 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 | & 是位运算符|| && 逻辑运算符具体可以看下这个例子http://91in.bokee.com/2782991.html class A1 { public static void main(String[] args) { int x = 0; int y = 1; if (x != 0 && (y/x==1))//&& 换成 & 试试 { System.out.println("x!=0"); } }}//换成&后编辑就出错误了 为什么呢 因为&&是一个短路语句//当前面的x != 0(我们知道x=0)&&就不执行后面的语句了//(&&要求条件全部 既然前面已经不满足了 后面的就没必要执行了 //而&不同 它不管三七二十一就要吧语句全部执行)//而上面的问题是为什么呢 我们知道除数不能为0 而y/x x=0 所以出错误// 或符号 || 和 |的关系 (和上面是一样的)////& | ^在二进制运算是如何运算的://我们知道二进制数只有0和1//& 当参加运算的两位都为1 结果才为1 否则为0//| 当参加运算的两位都为0 结果才为0 否则为1//^ 当参加运算的两位不相同 结果才为1 否则为0博客地址http://www.cnblogs.com/kao331431214/archive/2009/01/10/1373472.html | & :短路|| &&:非短路 & 在两边是数值类型时充当的是位与运算符。当两边是布尔类型时它充当的是布尔与运算符。布尔与(&)与逻辑与(&&)运算结果是一样的,仅有一些小的差别:1,前者为非短路运算,后者为短路运算;2,前者的运算优先级别高于后者;3,前者可以和等号(=)组成布尔与赋值(&=)运算符,而后者不行。类似地,还拥有布尔异或(^)和布尔或(|)这两个与布尔与(&)统称为布尔逻辑运算符。 学Java是不是都要学点框架 关于引用的问题 如何用java实现控制被调用出来的程序!! 如何让JTextField框响应TAB键事件? 请教几个概念方面的问题,弄懂马上揭贴! 毕业设计的最新要求,关于JAVA3D,答对就给分 日期与天相加的问题??? 请教各位高人何为List组件中的multiple change events? 在java中生成文件时如何使用系统环境变量来指标文件路径?(在线等待) 在JBuilder中如何使用网格控件? java如何保存时间到文件,如何计算时间差 真的需要逻辑思维
|| && 逻辑运算符
具体可以看下这个例子http://91in.bokee.com/2782991.html
{
public static void main(String[] args)
{
int x = 0;
int y = 1;
if (x != 0 && (y/x==1))//&& 换成 & 试试
{
System.out.println("x!=0");
}
}
}
//换成&后编辑就出错误了 为什么呢 因为&&是一个短路语句
//当前面的x != 0(我们知道x=0)&&就不执行后面的语句了
//(&&要求条件全部 既然前面已经不满足了 后面的就没必要执行了
//而&不同 它不管三七二十一就要吧语句全部执行)
//而上面的问题是为什么呢 我们知道除数不能为0 而y/x x=0 所以出错误
// 或符号 || 和 |的关系 (和上面是一样的)
//
//& | ^在二进制运算是如何运算的:
//我们知道二进制数只有0和1
//& 当参加运算的两位都为1 结果才为1 否则为0
//| 当参加运算的两位都为0 结果才为0 否则为1
//^ 当参加运算的两位不相同 结果才为1 否则为0
博客地址http://www.cnblogs.com/kao331431214/archive/2009/01/10/1373472.html
|| &&:非短路
2,前者的运算优先级别高于后者;
3,前者可以和等号(=)组成布尔与赋值(&=)运算符,而后者不行。类似地,还拥有布尔异或(^)和布尔或(|)这两个与布尔与(&)统称为布尔逻辑运算符。