arj*_*soh 2 java increment assignment-operator
有人能解释一下以下每个小程序的结果吗?:
public static void main(String[] args) {
int a = 10;
a = a++;
System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)
结果是:10
为什么不是11因为a应该在任务后增加?这是因为它涉及到opeartor左右不同的变量=?
下一个:
public static void main(String[] args) {
int a = 10;
a = ++a;
System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)
结果是:11
可理解,但编译器提出警告:"对变量a的赋值没有效果".结果不同意见.
更新:
我不修改我原来的问题,但我添加这个评论以澄清现在我抓住了警告的含义.也就是说,即使没有赋值(通过简单的语句++ a),结果也是相同的(11).
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |