A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Makise_Kurisu 中级黑马   /  2015-12-5 00:11  /  1256 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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在这是怎么运算的

6 个回复

倒序浏览
循环完I变量就会消失吧
回复 使用道具 举报
i不能用在循环之外
回复 使用道具 举报
i+=i等同于i=i+i
第一个可以自动完成强转
回复 使用道具 举报
i += i; 语句变成了 i = (i+i); 每次执行该语句实际上是乘以了2,之后执行i++。程序一共运行三次,i的值分别是:3,7,15。所以最后的结果是15
回复 使用道具 举报
基础班学习中
回复 使用道具 举报
运算时相当于把i+i赋值给i
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马