不运行,你能猜到这些个小程序的输出结果么?
看第一题:
class Test {static int numA=0;static int numB=0;public static void main(String[] args){if(true|funA()){}if(false&funB()){}System.out.println("A:"+numA+",B:"+numB);}static Boolean funA(){numA++;return false;}static Boolean funB(){numB++;return false;}} ?这个题的考点儿在&和|的用法上,其实说白了就是让你知道&&和&以及||和|的区别,死记两点儿:
&和&&的区别是:&是即使左边是false老子也要去执行下右边的,虽然没什么意思,其余两者功能一样
|和||的区别是:|是即使左边是true还是不死心的去右边看一下,当然也是徒劳 O(∩_∩)O哈哈~ 其余两者功能一样
1 楼 SunShineBoy 2008-11-04 这些问题怎么发现的? 2 楼 wuhua 2008-11-04 好东西。慢慢研究 3 楼 sd080134 2008-11-04 对于第一题,if(b=true)这个语句,里面本来就是个赋值语句,相当于if(true),自然是打印出true,如果想要比较,要使用==才对,而非=。并非Boolean特殊 4 楼 renyanwei 2008-11-04 sd080134 写道对于第一题,if(b=true)这个语句,里面本来就是个赋值语句,相当于if(true),自然是打印出true,如果想要比较,要使用==才对,而非=。并非Boolean特殊
恩 我也是这个意思,呵呵 没表达清楚 受教了 5 楼 racnow 2008-11-04 额,不怎么样,题太简单了 6 楼 racnow 2008-11-04 额,不怎么样,题太简单了 7 楼 licn_javaeye_vip 2008-11-04 只是感觉楼主是不是故意出这个问题
逗大家开心呢。 8 楼 renyanwei 2008-11-04 licn_javaeye_vip 写道
只是感觉楼主是不是故意出这个问题
逗大家开心呢。
哎 老大 兼顾初学嘛,不要想着人人都是如你样高手 9 楼 xiaoliu216 2008-11-06 引用&和&&的区别是:&是即使左边是false老子也要去执行下右边的,虽然没什么意思,其余两者功能一样
|和||的区别是:|是即使左边是true还是不死心的去右边看一下,当然也是徒劳 O(∩_∩)O哈哈~ 其余两者功能一样
原来是这样