知识点来源于《零基础学Java》等书籍。
循环语句共有3种常见的形式:for语句、while语句和do…while语句,接下来将详细地阐述。
1. for 循环语句
for循环语句的基本结构如下:
for(初始化表达式;判断表达式;递增(递减)表达式)
{
执行语句
}
【解释各项的意义】
- 初始化表达式:初始化表达式的意义在于定义循环之前变量的值是多少,如果没有这一项,就不知道应该从哪个值开始循环。
- 判断表达式:判断表达式的作用在于规定循环的终点。如果没有判断表达式,那么此循环就成死循环。
- 递增(递减)表达式:这一项规定每执行一次程序,变量以多少增量或减量进行变化。
【案例】
01 public class Control5 //定义一个Control5类
02 {
03 public static void main(String[] args) //主方法
04 {
05 int x; //定义整型变量x
06 int n=10; //定义循环的次数10
07 for( x=1;n>0;n--,x++) //通过循环实现连续加1共10次
08 {System.out.println(x);} //输出x的值
09 }
10 }
当n不再满足n>0,循环终止。
2. while语句
while可以理解为“当”,语法结构如下:
while(条件)
{
目的一;
目的二;
...
}
当满足某种条件,就执行“目的一”、“目的二”等,while语句的循环体在{ }中。
【案例】
01 //通过判断y是否大于0
02 //如果y大于0的话则将计费次数减1,x加1
03 public class Control8 //定义一个Control8类
04 {
05 public static void main(String[] args) { //主方法
06 int x=0; //定义整型变量x并赋值
07 int y=100; //定义整型变量y并赋值
08 int sum=0; //定义整型变量sum并赋值
09 while(y>0) //while循环
10 {
11 x=x+1;
12 y--; //值自减
13 sum+=x;
14 }
15 System.out.println(sum); //输出和
16 }
17 }
运行结果:5050
这个程序段是将数字从1一直加到100,条件是只要y大于0,就会执行大括号里的语句。y初始值是100,满足条件,所以执行大括号的表达式。先将x+1赋给x,因为x的初始值是0,所以x从1开始计数,然后,将y自减1,此时y变成了99,将sum加上x赋给sum。此时,执行语句结束了,又会回到小括号的条件,最后再比较y=99是否大于0,如果大于0,再继续执行大括号里的语句。
一旦y自减到小于等于0,则将结束执行大括号里的语句,开始执行大括号外的语句。在上面的程序段中,y就相当于一个计数器。
3. do…while语句
do…while语句和while语句的不同点是:do…while先执行大括号内的循环体再判断,如果条件不满足,下次就不再执行循环体。
do
执行代码
while(布尔表达式)
【案例】
01 public class Control10 { //定义一个Control10类
02 public static void main(String[] args) { //主方法
03 int x = 1; //定义整型变量x并赋值
04 do {
05 //首先判断这个数是否是3的倍数,并且是否不是5的倍数
06 if ((3*x)%5!= 0) {
07 if ((3*x)%9!= 0) { //再判断是否不是9的倍数
08 System.out.println(3*x); //输出3的倍数
09 }
10 }
11 x++; //x自加
12 } while (((3*x > 1) && (3*x < 100))); //最后判断是否在100以内
13 }
14 }
运算结果:
3
6
12
21
24
33
39
42
48
51
57
66
69
78
84
87
93
96