黑马程序员技术交流社区

标题: java基础1-10求和问题~~~ [打印本页]

作者: Makise_Kurisu    时间: 2015-12-5 00:11
标题: java基础1-10求和问题~~~
class Test {
  public static void main(String[] args) {
  int sum =0  ;
   for (int i =1;i < 11 ;i ++ ) {
    sum +=i;//i+=i
  }
  System.out.println(sum);
  }
}
问题是~ 如果不定义sum变量,在for中执行i+=i的话,得到的结果会是15
求教i+=i在这是怎么运算的

作者: 汐枫wait    时间: 2015-12-5 07:16
循环完I变量就会消失吧
作者: 李永佳    时间: 2015-12-5 09:43
i不能用在循环之外
作者: 王帅---    时间: 2015-12-5 13:50
i+=i等同于i=i+i
第一个可以自动完成强转
作者: Jerson_ZF    时间: 2015-12-5 14:35
i += i; 语句变成了 i = (i+i); 每次执行该语句实际上是乘以了2,之后执行i++。程序一共运行三次,i的值分别是:3,7,15。所以最后的结果是15
作者: kingxiao    时间: 2015-12-6 21:32
基础班学习中
作者: 小曼_r9qDE    时间: 2015-12-7 00:40
运算时相当于把i+i赋值给i




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