# 格式
- while 循环
初始化循环条件的代码1
while(条件2){
循环体3
只要条件一直成立,这里的条件就会一直走
控制循环条件的代码4
}
执行循序:1-->2--判断条件--true--> 3--> 4--> 2--判断...
--false-->结束循环
-do while 循环
do{
循环体
控制循环条件代码
}while(条件4);
执行循序:1--> 2--> 3--> 4--判断--true--> 2--3--4--判断...
--false--> 结束循环
- for 循环
for(初始化条件1; 判断条件2; 控制条件3){
循环体4
}
执行循序:1--2--判断--true--4--3--2--判断...
--false--结束循环
例:九九乘法表
package shape;
public class Shape06 {
public static void main(String[] args) {
System.out.println("# 输出九九乘法表");
for(int a=0;a<9;a++) {
for(int b=0;b<a+1;b++) {
System.out.print((b+1)+"x"+(a+1)+"="+(a+1)*(b+1)+" ");
}
System.out.println();
}
}
}
# 循环的使用场景
当 重复性的、有规律的做一件事时,可以考虑使用循环
# 循环的思想
- 累加的思想
1+2+3+4+5++++100=5050
重复:加法
规律:每次加的时候,数字都会比前面多1
package shape;
public class k {
public static void main(String[] args) {
int sum=0;
for(int a=1;a<=100;a++) {
sum=sum+a;
}
System.out.println(sum);
}
}
# 循环跳转
- break
- 在switch中,可以结束/跳出当前的分支判断
- 在循环中,可以结束/跳出当前的循环
通常会配合if一起使用
- continue
- 智能使用在循环中,结束本次,继续下次 --> 跳过
通常会配合if一起使用
- return
只能使用在方法中,代表结束当前方法
如果用于循环,通常会配合if一起使用
# 无限循环
for(;;){
}
while(true){
}
例:石头剪刀布
package stu;
import java.util.Random;
import java.util.Scanner;
public class Stu02 {
public static void main(String[] args) {
System.out.println("--欢迎来到猜拳游戏--");
while(true) {
System.out.println("请出拳:1-石头 2-剪刀 3-布");
System.out.println("按0退出游戏");
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
Random ran = new Random();
int b = ran.nextInt(3) + 1;
if (a >= 0 && a < 4) {
if (a == 1) {
if (b == 1) {
System.out.println("玩家出:石头");
System.out.println("电脑出:石头");
System.out.println("平局!");
} else if (b == 2) {
System.out.println("玩家出:石头");
System.out.println("电脑出:剪刀");
System.out.println("恭喜玩家获胜!");
} else {
System.out.println("玩家出:石头");
System.out.println("电脑出:布");
System.out.println("电脑胜!");
}
} else if (a == 2) {
if (b == 1) {
System.out.println("玩家出:剪刀");
System.out.println("电脑出:石头");
System.out.println("电脑胜!");
} else if (b == 2) {
System.out.println("玩家出:剪刀");
System.out.println("电脑出:剪刀");
System.out.println("平局!");
} else {
System.out.println("玩家出:剪刀");
System.out.println("电脑出:布");
System.out.println("恭喜玩家获胜!");
}
} else if(a == 0){
System.out.println("已退出!");
break;
}else {
if (b == 1) {
System.out.println("玩家出:布");
System.out.println("电脑出:石头");
System.out.println("恭喜玩家获胜!");
} else if (b == 2) {
System.out.println("玩家出:布");
System.out.println("电脑出:剪刀");
System.out.println("电脑胜!");
} else {
System.out.println("玩家出:布");
System.out.println("电脑出:布");
System.out.println("平局!");
}
}
} else {
System.out.println("出拳有误,请重新输入");
}
}
}
}