循环语句的介绍
一、for循环语句
for循环语句是最常用的循环语句,一般在循环次数已知的情况下。for循环的结构为:
for(初始化表达式;循环条件语句;操作表达式){
执行语句
......
}
接下来我们举个例子来了解一下for循环语句的运用,比如说我们需要求1~10的和
public class num{
public static void main(String[] args){
int sum = 0;//定义变量sum用于记住累加的和
for(int i = 1; i <= 10; i++){//因为我们要求1~10的和所以起始值为1,定义i的起始值为1,范围1~10,每次循环加一。
sum = sum + i;//实现i的累加。
}
System.out.println("sum = "+sum);//打印累加的数的和。
}
}
上述代码中,变量i的初始值为1,在判断条件i<=10为true的情况下,会执行循环体sum+=i,执行完毕后,会 执行操作表达式i++,i的值变为2,然后继续进行条件判断,开始下一次循环,直到i=11时,条件i<=10为false,结束 循环,执行for循环后面的代码,打印“sum=55”。
二、while循环语句
while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在 于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:
while(循环条件){
执行语句;
......
}
while循环的演示,我们通过一段代码来实现1~4之间整数的打印
public class WhileDemo {
public static void main(String[] args) {
int x = 1; // 定义变量x,初始值为1
while (x <= 4) { // 循环条件
System.out.println("x = " + x);// 条件成立,打印x的值
x++;// x进行自增
}
}
}
运行结果为x=1、x=2、x=3、x=4。
三、do...while循环语句
do...while与while的不同点在于do...while会先执行一次再进行判断,而while语句需先进行判断再执行。结构如下
do{
执行语句;
......
}while(循环条件)
四、死循环与跳转语句
有时我们希望一个循环能够不停的进行所以此时我们就需要运用到死循环,最简单的死循环如下:
while(true){
}或
for(;;){
}
当我们需要跳出循环的时候此时就需要运用到跳转语句break、continue。break的作用是跳出循环。结束本次循环。continue的作用是跳过这次循环继续执行下次循环。
举例:
public class BreakDemo {
public static void main(String[] args) {
int x = 1; // 定义变量x,初始值为1
while (x <= 4) { // 循环条件
System.out.println("x = " + x); // 条件成立,打印x的值
if (x == 3) {
break;
}
x++; // x进行自增
}
}
}
输出结果为x=1、x=2、x=3。
public class ContinueDemo {
public static void main(String[] args) {
int sum = 0; // 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // i是一个偶数,不累加
continue; // 结束本次循环
}
sum += i; // 实现sum和i的累加
}
System.out.println("sum = " + sum);
}
}
输出结果为100以内奇数的和2500,每当得到的是偶数时直接跳过所以最终得到的是奇数的和。
五、循环嵌套
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句 都可以进行嵌套,并且它们之间也可以互相嵌套,如常见的在for循环中嵌套for循环,格式如下:
for(初始化表达式; 循环条件; 操作表达式) {
………
for(初始化表达式; 循环条件; 操作表达式) {
执行语句;
………
}
…
}
public class ForForDemo {
public static void main(String[] args) {
int i, j; // 定义两个循环变量
for (i = 1; i <= 9; i++) {
// 外层循环
for (j = 1; j <= i; j++) {
// 内层循环
System.out.print("*"); // 打印*
}
System.out.println(); // 换行
}
}
}