这个或布尔表达式就是不一样

你猜猜这段程序那个信息框会显示出来??

注意:这是C#.net的代码! 与Java的结果不一样.

            int n=3;
            if (true || (++n) >= 3)
            {
            }
            if (n == 4) System.Windows.Forms.MessageBox.Show("第一次判断语句成立");
            if (true | (++n) >= 3)
            {  
            }
            if (n == 4) System.Windows.Forms.MessageBox.Show("第二次判断语句成立");
            if (false || (++n) >= 3)
            {
            }
            if (n == 5) System.Windows.Forms.MessageBox.Show("第三次判断语句成立");
            if (false | (++n) >= 3)
            {
            }
            if (n == 5) System.Windows.Forms.MessageBox.Show("第四次判断语句成立");
            if (false && (++n) >= 3)
            {
            }
            if (n == 6) System.Windows.Forms.MessageBox.Show("第五次判断语句成立");
            if (false & (++n) >= 3)
            {
            }
            if (n == 6 ) System.Windows.Forms.MessageBox.Show("第六次判断语句成立");  

           if (true & (++n) >= 3)
            {
            }
            if (n == 8) System.Windows.Forms.MessageBox.Show("第七次判断语句成立");

结果是23567.

^_^,没有想到吧!

||如果左值为true,右边的等式就不会被执行,但是|即使左值为true,也会去判断右边的等式。

如果在Java里面,&&和&也会如此,但.net与Java却不一样,.net不管&&的左侧等式是否为false,都会执行右侧。而Java就 只有 2367。

&& 和||的运算效率会比&和|高!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值