【Java基础知识14讲-09:Java循环结构】
程序依据判断条件决定是否重复执行循环体内的语句。
Java中循环结构:
do
do while
while
- 9.1循环结构 while
如下:
while(条件表达式) {
语句;
}
如图:
当判断条件为真时,循环体语句就会重复执行
直到判断条件为假时才会跳出while循环
Java程序代码举例如下:
/**
* Created by zejunwzj on 2019/05/02.
*/
public class whileTest {
public static void main (String [] args){
//while 举例 1+。。。+100的和
int sum = 0 ;
int i = 1 ;
while (i <=100 ){
sum = sum + i;
i ++;
}
System.out.println("sum = " + sum);
}
}
在IDE中的运行结果如下:
- 9.2 循环结构 do while
如下:
do {
语句;
} while(条件表达式);
如下图:
While 和 do while区别:
while循环在进入循环体前会先判断循环条件的真假再决定是否执行循环主体
do while循环是无论循环条件是否为真都会先执行一次循环体,然后再判断条件的真假
do while循环至少会执行一次循环主体
- 9.3循环结构 for
如下:
for (表达式1; 表达式2; 表达式3) {
循环体语句;
}
如下图:
(1). 计算“表达式1”,完成必要的初始化⼯作
(2). 判断“表达式2”的值,如果是true则执⾏(3),否则执⾏(4)
(3). 执⾏循环体语句,然后计算“表达式3”来改变循环条件,执⾏(2)
(4). 结束for语句的执⾏
Java代码程序举例:
/**
* Created by zejunwzj on 2019/05/02.
*/
public class whileTest {
public static void main (String [] args){
//while 举例 1+。。。+100的和
int sum = 0 ;
int i = 1 ;
while (i <=100 ){
sum = sum + i;
i ++;
}
System.out.println("sum = " + sum);
//for举例,1+。。。+100的和
int sum2 = 0 ;
for (int j = 1; j <= 100; j++){
sum2 = sum2 + j;
}
System.out.println("sum2 = " + sum2);
//for循环和数组结合使用,计算数组中最大元素的值
int [] scores = {1,3,5,70,20,50};
int max = 0;
for (int k =0 ; k < scores.length ; k++){
if (max < scores[k]){
max = scores[k];
}
}
System.out.println("scores max =" + max);
}
}
在IED中运行结果如下:
- 9.4循环结构 嵌套循环
多个循环语句是可以嵌套操作的:
例如:打印九九乘法口诀表
Java代码:打印九九乘法口诀表,如下:
/**
-
Created by zejunwzj on 2019/05/02.
/
public class for_99 {
public static void main(String [] args){
//利用for循环嵌套,打印九九乘法口诀表
for (int i = 1; i <= 9; i++ ) {
for (int j =1 ; j <= i; j ++) {
System.out.print(“i” + "" + “j” + “=” + (i * j) + “\t”);
}
System.out.print("\n");
}}
}
在IDE中运行结果如下:
- 9.5循环结构 循环中断 break和continue
程序设计过程中有时会需要提前终⽌循环,或者跳过某次迭代中的部分语句直接进⼊下⼀次迭代。
1. break
2. continue
break语句可以用于switch语句和循环语句中用于跳出switch语句或者提前终止循环,如下:
for (int i = 0; i < 10; i++) {
if (i == 3) //如果i的值等于3,退出整个循环
break;
System.out.println(i);
}
continue语句实现提前结束循环的本次迭代,直接进入下一次迭代。如下代码:
for (int i = 0; i < 10; i++) {
if (i == 3) //如果i的值等于3,结束本次循环
continue;
System.out.println(i);
}
代码举例:break,和continue
/**
* Created by zejunwzj on 2019/05/02.
*/
public class break_continue {
public static void main(String[] args ){
//break,continue终止循环举例
//break
System.out.println("如下break程序举例输出。");
for (int i = 1; i < 10; i++){
if (i==3)
break; //i=3时终止循环
System.out.println( "i = " + i);
}
//continue
System.out.println("如下continue程序举例输出。");
for (int j =1; j < 10; j++){
if (j==3)
continue; //i=3时跳过本次循环,继续下一次循环
System.out.println("j = " + j);
}
}
}
在IDE中运行结果如下: