黑马程序员技术交流社区

标题: 这个题目不是很明白,求大神! [打印本页]

作者: 尼玛个鸡    时间: 2015-9-21 21:42
标题: 这个题目不是很明白,求大神!
class Demo
{
public static void main(String [] args)
{
        int a=10;
        if(a++>10)
{
        a=20;
}
        System.out.println(a);
}
}

作者: 劲爆对策    时间: 2015-9-21 21:50
这道题是在考你二元运算符的用法。a++表示先使用a本身的值再对自身加一。
作者: maxwell247    时间: 2015-9-21 21:52
11啊。这个很简单啊。

a++ 是先取 a的值用 ,再 +1
显然,a的初始值是10 , if()条件不成立,所以a就是11喽。
作者: yuzhouyichen    时间: 2015-9-21 21:55
++在右边的话就是先判断,然后在赋值,也就是说if 判断的是10>10,所以不执行if语句,但是a+1了  也就是11
作者: 劲爆对策    时间: 2015-9-21 21:57
所以在这一句中           if(a++>10)
a被第一次使用值是10,而10不大于10,所以跳过if语句。
与此同时,在a被比较后自身加一,所以结果为11。
                                   System.out.println(a);
作者: sniper170fly    时间: 2015-9-21 23:09
11,这个理解一下++的概念就知道了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2