🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Java编程那些事儿35——while语句语法 郑州游戏学院 陈跃峰 出自:[http://blog.csdn.net/mailbomb](http://blog.csdn.net/mailbomb) **5.4 循环语句** 循环语句在程序设计中用来描述有规则重复的流程。在实际的程序中,存在很多需要重复执行的流程,为了简化这些重复的执行流程,在程序设计语言中新增了该类语句。 在学习循环语句时,最重要的就是发现流程的规律,然后再用程序设计语言将该规律描述出来,从来实现程序要求的流程。 循环语句是流程控制中最复杂,也是最有用、最难掌握的语句,在最初接触时,首先要熟悉基本的语法,然后需要能够快速观察出流程的规律,这个观察能力需要依靠大量的阅读和编写程序进行培养,这就是基本的逻辑思维,然后将该规律描述出来即可。所以在学习循环语句时,学习语法只是基本的内容,更多的是培养自己观察规律的能力,这个才是真正学习循环语句时的难点,也是重点。 本节主要讲述循环语句的三种语法格式:while语句、do-while语句和for语句。 **5.4.1 while语句** while关键字的中文意思是“当……的时候”,也就是当条件成立时循环执行对应的代码。while语句是循环语句中基本的结构,语法格式比较简单。 while语句语法格式:                    while(循环条件)                             循环体; 为了结构清楚,并且使循环体部分可以书写多行代码,一般把循环体处理成代码块,则语法格式变为:                    while(循环条件){                             循环体;                    } 语法说明:和if语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。 执行流程:在执行while语句时,首先判断循环条件,如果循环条件为false,则直接执行while语句后续的代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。 下面结合具体的示例来演示一下while语句的基本使用。首先我们来实现一个无限循环,也称死循环,具体代码如下: ~~~                    while(true){                             System.out.println(‘a’);                    } ~~~ 下面讲解一下该while语句的执行顺序,首先判断while语句的循环条件,条件成立,则执行循环体的代码,输出字符a,然后再判别循环条件,条件成立,继续执行循环体代码,输出a,再判断循环条件……,依次类推,因为循环条件一直成立,所以该程序的功能是一直输出a,永不停止。 说明:在控制台下执行死循环的程序,可以按Ctrl+C结束循环,在Eclipse中运行死循环的程序,可以选择执行窗口中的红色按钮“Terminate”结束程序。 下面是使用while语句输出0-9这10个数字,程序实现的原理是使用一个变量代表0-9之间的数字,每次输出该变量的值,每次对该变量的值加1。变量的值从0开始,只要小于数字10就执行该循环。具体的示例代码如下: ~~~                    int i = 0;                    while(i < 10){                             System.out.println(i); //输出变量的值                             i++; //变量的值增加1                    } ~~~ 其执行流程为: 1、 执行int I = 0; 2、 判断i<10是否成立,如果不成立则结束,否则执行下一步 3、 输出变量i的值 4、 i的值增加1 5、 跳转到步骤2继续执行 需要注意的是,首先while语句中的条件是循环成立的条件,也就是该条件成立则继续循环,所以在书写时注意。另外,内部代码的书写有顺序,同样是上面的代码,如果调整内部代码的顺序,如下所示: ~~~                   int i = 0;                    while(i < 10){                             i++; //变量的值增加1                             System.out.println(i); //输出变量的值                    } ~~~ 则程序的执行结果将变为输出数字1-10。所以在循环语句中,代码之间的顺序也影响整个程序的逻辑。 下面是用循环实现一个简单的数学逻辑,求1-10这10个数字的和。程序的原理是这样:声明一个变量i,从1变化到10,在声明一个变量sum,每次和i的值相加以后赋值给自身,下次再使用sum是变化以后的i相加,循环结束以后,得到的结果就是数字1-10之间所有数字的和。 示例代码如下: ~~~          int i = 1;     //循环变量          int sum = 0;  //数字和          while(i <= 10){                    sum += i;   //和当前的i值相加                    i++;       //变量i增加1          } ~~~ 这样,第一次循环是把和1相加的结果赋值给sum,然后再使用sum的值和2相加再赋值给sum,依次类推,则得到1-10之间所有变量的和。 在使用循环语句时,发现规律需要的时间比编写和调试代码需要的时间多得多,所以要善于发现规律,善于思考。