黑马程序员技术交流社区
标题:
基础班第三天
[打印本页]
作者:
俏皮雅轩
时间:
2015-9-15 21:50
标题:
基础班第三天
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
运行结果是什么
作者:
K_LONG
时间:
2015-9-15 22:01
X = 2;,y = 2;
作者:
王海彬
时间:
2015-9-15 22:19
运行结果是: x=2 ,y=2
因为++这个运算符变量在左边和右边的优先级不同,x++ == 2 ,它可以看作是x==2 , x=x+1来看这样一来结果是false,而++y==2,可以看作是y=y+1,y==2来看结果当然是true,false&true结果为false,跳过if语句,但是变量x,y是在if语句外显示初始化的,所以x 被重新赋值x = 1+1,同等y也一样,运行结果也就出来了
作者:
five
时间:
2015-9-15 22:29
x=2,y=2 加几个字满十几个字符
作者:
five
时间:
2015-9-15 22:31
如果没有错的话就是下面这个结果了
x=2,y=2
作者:
xiaoya0o0o
时间:
2015-9-15 22:41
结果为:x=2,y=2
&并且两边都为ture结果为true,括号内&两边都要进行判断,比如:假如x++==2为假时,还得继续判断右边的++y==2
&&并且两边都为ture结果为ture,当&&的左边为假时就不用判断右边的了,直接为假
比如:假设x++==2为假时就不必判断右边的++y==2了
&&、||和&、|的区别:
1.逻辑&&和||具有短路行为,一旦确定整个表达式的结果,那么将不再执行剩余表达式;
++和--
如果表达式中,只做++或-- 一件事情,那么前++/--和后++/--效果一样的;
但如果表达式中做多件事情:
前++/--:先自增/自减,然后再参与表达式的其它运算;
后++/--:先参与表达式的运算,然后在自增/自减;
比如该题:在 if(x++==2 & ++y==2)中x++=2先是参与了 if 语句的判断再把x赋值为2了
而 ++y==是先将y赋值为2再参与了if 语句的判断
作者:
xingui66
时间:
2015-9-15 22:54
王海彬 发表于 2015-9-15 22:19
运行结果是: x=2 ,y=2
因为++这个运算符变量在左边和右边的优先级不同,x++ == 2 ,它可以看作是x==2 ...
佩服,谢过
作者:
13160123235
时间:
2015-9-15 23:03
顶大神啊……
作者:
xiao_D
时间:
2015-9-15 23:34
{:3_46:}{:3_47:}{:3_55:}
作者:
纳木错的程序猿
时间:
2015-9-16 22:02
自己再多写了几个,也算是对这个算术运算符和逻辑运算符的一个加深了解了。
作者:
任振铭
时间:
2015-9-16 22:27
结果是x=2,y=2
作者:
193936696
时间:
2015-9-16 22:36
就是敲!
作者:
哈哈我赢了
时间:
2015-9-16 22:46
X=2,Y=2
作者:
Hi不言而喻
时间:
2015-9-16 22:52
既然这么多大神在我也就默默的看着吧
作者:
人生苦旅
时间:
2015-9-16 23:01
感觉都是大神啊!加油加油!
作者:
談哋児
时间:
2015-9-16 23:27
当语句x++执行完之后,x还会自增1的
作者:
kaysun
时间:
2015-9-16 23:50
x=2 ,y=2
作者:
jake_liu
时间:
2015-9-16 23:55
在哪上基础班啊?我也在上基础班
作者:
zzy1990
时间:
2015-9-17 09:25
学习了,嘿嘿
作者:
ln0491
时间:
2015-9-17 09:39
2,,2.。。。。。。
作者:
水果牛牛
时间:
2015-9-17 10:11
原来弄混了,学习了
作者:
sxwnzbn
时间:
2015-9-17 10:13
x=2 ,y=2
作者:
丶不缺小哥范儿
时间:
2015-9-17 10:14
x=2,y=2.~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2