循环
1.1while
语法: while (
布尔表达式
) { // 循环的内容 }
执行流程:
1 执行到while时,开始判断表达式
2 如果表达式结果为true,就执行{}内的内容
3 执行完后,继续回头再判断while内的表达式
4 如果为true,继续执行{}内的内容
5 执行完后,继续回头执行while内容
6 只有当while后的内容判断为false时就跳过{},不再循环
循环有四要素:
1 循环要有初始值
2 循环要有控制条件
3 循环要有迭代
4 循环要有循环体
例如
public static void main(String[] args) {
// 向控制台输出10句 :你好
/*
* while (布尔表达式) {
* // 循环的内容
* }
*/
int i = 1; // 循环初始值
while (i <= 10) { // 循环控制条件
System.out.println("你好"); // 循环体
i++; // 循环迭代
}
}
1.2 do-while
语法: do { // 循环体 // 循环迭代 }while(布尔表达式);
执行流程:
1 先执行do内的代码
2 再判断while后表达式,
3 如果结果为ture,就继续执行do内的代码
4 然后再判断while,直到while后的内容false就不再循环
举例
public static void main(String[] args) {
// 使用dowhile.输出1-10
int i = 1;
do {
System.out.print(i+" ");
i++;
} while (i <= 10);
System.out.println();
// 使用dowhile.输出10-1
int j = 10;
do {
System.out.print(j + " ");
j--;
} while (j >= 1);
System.out.println();
// 使用dowhile.输出1-100之间的偶数
int k = 1;
do {
if (k % 2 == 0) {
System.out.print(k +" ");
}
k++;
} while (k <= 100);
}
while与do-while的区别:
1.while 当型循环 , do-while 直到型循环
2.while先判断后执行,do-while是先执行后判断
3.do-while至少会执行一次
1.3for循环
语法: for(初始值;条件;迭代) { 循环体; }
// 输出 1- 10 for(int i = 1;i <= 10;i++) { System.out.print(i+" "); }
for循环的执行流程:
-
循环初始值,只执行一次
-
进行判断
-
判断为true,就向下执行循环体
-
循环体执行完,回头执行i++
-
然后再判断,如果为true,继续向下执行循环体
-
继续自增,直到判断为false,循环不再执行
小例子
public static void main(String[] args) { // 循环输出1-100的和 int sum = 0; for (int i = 1; i <= 100; i++) { sum = sum + i; } System.out.println("sum = " + sum); // 循环输出100-999之间的水仙花数 // 水仙花数是:三位数,每位数单独的立方相加等于其本身 // 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27 for (int num = 100;num < 1000;num++) { // 将每个三位数拆解,分别得到个十百位 int ge = num % 10; int shi = num / 10 % 10; int bai = num / 100; if (num == ge * ge * ge + shi * shi * shi + bai * bai * bai) { System.out.println(num +"是水仙花数"); } } }
1.3.1for循环的嵌套
/* * 打印三角形 * * * ** * *** * **** * ***** * ****** * ******* */ // 外层循环控制行数 for (int i = 1;i <= 7;i++) { // 内层循环控制列数 // 列数不固定 for (int j = 1;j <= i;j++) { System.out.print("*"); } System.out.println(); }
1.4continue
continue : 继续,只能在循环中使用.
作用: 中断当前这一次循环,继续后续循环
例如
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
/*
* 1 continue 只能在循环中使用
* 2 用来中断这一次循环,继续下次循环
*/
continue;
}
System.out.println(i);
}
}
ps: continue和break的区别:
continue是打断这一次循环,继续下次循环
break是打断当前整个循环,不再执行循环
1.5return
return不是流程控制语句关键词,因为流程控制语句关键词(break,continue)只能放在流程控制语句中.
return可以放在程序方法内的任何位置.
程序一旦执行到return,该 “方法” 就结束,该方法后续所有代码不再执行!
例子
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
if (i == 5) {
return; // 执行到return,该方法结束,后续不再执行
}
System.out.println(i);
}
System.out.println("程序结束~");
}