求大仙解释。。。

wangxinyi158 2013-05-23 08:09:55
public class Text {
public static void main(String[] args){
for(int i = 0;i <6;i++){
int k = ++i;
while(k < 5){
System.out.print(i);
k+=2;
}
}
}
}


结果是113

为什么是这个结果,求大仙解释
...全文
146 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongzi998 2013-05-23
  • 打赏
  • 举报
回复
第一次到k=++i,k=i=1,随后while中输出两次i。11 第二次到k=++i,k=i=3,随后while中输出一次i。3 第三次,k=i=5,不进入while循环。 所以最终输出113.
菖蒲老先生 2013-05-23
  • 打赏
  • 举报
回复
引用 8 楼 wangxinyi158 的回复:
k =1;i=1;进入while循环,应该是这个意思吧
k=1,i=1 打印 1 k=3,i=1 打印 1 k=3,i=3 打印 3 不挺好理解的么,你debug就知道了。。。
wangxinyi158 2013-05-23
  • 打赏
  • 举报
回复
k =1;i=1;进入while循环,应该是这个意思吧
  • 打赏
  • 举报
回复
System.out.print(i);输出没有换行
Acesidonu 2013-05-23
  • 打赏
  • 举报
回复
int k = ++i; 看看这个什么意思
wangxinyi158 2013-05-23
  • 打赏
  • 举报
回复
我真的不会,哪里错了 啊?我可是刚学
小丑哥_V5 2013-05-23
  • 打赏
  • 举报
回复
楼主是在恶搞吗?
wangxinyi158 2013-05-23
  • 打赏
  • 举报
回复
先执行for语句:当i=0时,开始执行while里的语句:k =1时; 输出i=0;继续执行while里的循环,k = 3,输出i = 0继续执行while里的循环,k=5,while循环中止; 继续执行for语句:i =1时;,开始执行while里的语句:k =2时; 输出i=1;继续执行while里的循环,k = 4,输出i = 1继续执行while里的循环,k=5,while循环中止; 继续执行for语句:i =2时;,开始执行while里的语句:k =4时; 输出i=2;继续执行while里的循环,k = 5,while循环中止; 继续执行for语句:i =3时;,开始执行while里的语句:k =5时; while循环中止; 这样一来不就是输出0011223吗?
LCore 2013-05-23
  • 打赏
  • 举报
回复
楼主开了好大个玩笑...嘿嘿
菖蒲老先生 2013-05-23
  • 打赏
  • 举报
回复
System.out.print(i); 和 System.out.println(i); 实际是输出3次, 分别是 1 1 3

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧