黑马程序员技术交流社区
标题:
java基础中一些常见的易错程序
[打印本页]
作者:
王雷
时间:
2012-9-25 23:46
标题:
java基础中一些常见的易错程序
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2) {
x =7;
}
System.out.println("x="+x+",y="+y);
x=2 y=2
---------------------------------------------------
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2 y=1
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=7 y=2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=7 y=1
---------------------------------------------------
复制代码
作者:
史龙贤
时间:
2012-9-26 05:03
老套路:考查&和&&、|和||的区别,考查前++,后++区别。记住老毕说的,&前后都参与运算,如果前面为假,&&后面不参与运算。|前后都参与运算,如果前后为真,||后面不参与运算。前++,先回家吃饭再出去玩,后++先出去玩再回家吃饭。理解了上面,做题的时候仔细些,套公式就可以了。
第一题
思路:&前后都要运算。
x++ == 2表示x 是否等于2,否,然后x自增,结果x = 2;
++y == 2表示y 先自增1,此时y = 2,再判断 y == 2,结果是真。
if (假 & 真 = 假) {
x = 7;
}
显然 x 不会等于7,那么结果是x = 2, y = 2;
按照这样的思路下去后面不会出错的了,就写这么多!谢谢!
作者:
王雷
时间:
2012-9-26 08:49
哈哈 基础很不错啊 我有点蒙
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2