黑马程序员技术交流社区

标题: 我刚接触java不久,请教一个小的问题 [打印本页]

作者: 为了你而出现    时间: 2013-11-1 19:30
标题: 我刚接触java不久,请教一个小的问题
public class Noname1{
        public static void main(String[]args){
        for(int i=0;i<3;i++){
        System.out.println("x="+i);
        }
        int y=0;
        while(y<3){
        System.out.println("y="+y);
        y++;
        }
        System.out.println("y===="+y);
        }
}
运行结果为:
x=0
x=1
x=2
y=0
y=1
y=2
y====3(这个是怎么得出的结果?它的循环顺序我没有理解。)

作者: 零下五度的水    时间: 2013-11-1 19:39
y 循环的判断条件是 y<3, 跳出循环时 y 的值自然是不小于 3 的,0, 1, 2 后面不就是 3 么

作者: 寻丶丶觅    时间: 2013-11-1 19:40
while(y<3)
{
        System.out.println("y="+y);
        y++;
        //当y值为3时,回去判断y<3,false。跳出while循环。下一次打印y值当然就是3了
}
  System.out.println("y===="+y);
作者: ☆╰學不会☆╮    时间: 2013-11-1 19:47
就是两种循环 一种是for循环 一种是while循环
for(int i=0;i<3;i++){
         System.out.println("x="+i);
         }
// for循环 先初始化i 再有一个条件表达式进行判断 循环每次i都加1 知道判断条件不成立了 循环结束 输出语句每次输出的i的值。
      
         int y=0;
         while(y<3){
         System.out.println("y="+y);
         y++;
         }
// while循环和for循环原理都差不多 区别就是 for循环定义的初始化值 int 1=0; 在循环结束后会在内存中消失
while 在循环之前定义好的初始化值 所以该初始化变量会一直存在。
         System.out.println("y===="+y);   //这一句就是y++ 把每次循环的结果相加 都输出了。
         }
作者: 为了你而出现    时间: 2013-11-1 19:53
嗯嗯,明白了,看来还是我不善于思考问题,谢谢大家了。




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