continue关键字
- continue语句用在循环体中,用于结束本次循环而开始下一次循环。
- 只能用于循环结构中,提前结束本次循环继续下一次循环
案例题目
使用for循环打印1 ~ 20之间的所有整数,若遇到5的倍数则跳过不打印。
package demo;
public class ForContinueTest {
public static void main(String[] args) {
for(int i = 1; i <= 20; i++) {
if(0 == i % 5) {
continue;
}
System.out.println("i = " + i);
}
}
}
i = 1
i = 2
i = 3
i = 4
i = 6
i = 7
i = 8
i = 9
i = 11
i = 12
i = 13
i = 14
i = 16
i = 17
i = 18
i = 19
break关键字 😉
- break用于退出当前语句块, break用在循环体中用于退出循环。
- for(;;)这种没有循环条件的循环叫做 无限循环, 俗称“死循环”。
案例题目一
不断地提示用户输入聊天内容并输出,直到用户输入”bye”结束聊天。
package demo;
import java.util.Scanner;
public class ForBreakTest {
public static void main(String[] args) {
boolean flag = true;
for(;;) {
System.out.println("请" + (flag? "张三": "李四") +"输入要发送的聊天内容:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
if("bye".equals(str)) {
System.out.println("聊天结束!");
break;
}
System.out.println((flag? "张三说:": "李四说:") + str + "\n\n\n");
flag = !flag;
}
}
}
请张三输入要发送的聊天内容:
在
张三说:在
请李四输入要发送的聊天内容:
不在
李四说:不在
请张三输入要发送的聊天内容:
哦
张三说:哦
请李四输入要发送的聊天内容:
bye
聊天结束!
案例题目 二
猜数字游戏
- 随机生成数字n(1-100), 等待用户输入猜测数据, 根据用户的输入比较输出
猜大了,猜小了,猜对了, 如果用户猜对了就结束游戏 。
package demo;
import java.util.Random;
import java.util.Scanner;
public class ForGuessTest {
public static void main(String[] args) {
Random ra = new Random();
int temp = ra.nextInt(100) + 1;
int cnt = 0;
for(;;) {
System.out.println("请输入1 ~ 100之间猜测的整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
cnt++;
if(num > temp) {
System.out.println("猜大了,再小一点吧!");
} else if(num < temp) {
System.out.println("猜小了,再大一点吧!");
} else {
System.out.println("恭喜您猜对了,游戏结束!");
break;
}
}
if(1 == cnt) {
System.out.println("你果然是个大咖!");
} else if(cnt <= 6) {
System.out.println("水平不错,继续加油哦!");
} else {
System.out.println("你还可以多玩几次游戏!");
}
}
}
请输入1 ~ 100之间猜测的整数:
10
猜小了,再大一点吧!
请输入1 ~ 100之间猜测的整数:
50
猜大了,再小一点吧!
请输入1 ~ 100之间猜测的整数:
25
猜小了,再大一点吧!
请输入1 ~ 100之间猜测的整数:
40
猜大了,再小一点吧!
请输入1 ~ 100之间猜测的整数:
30
恭喜您猜对了,游戏结束!
水平不错,继续加油哦!
break关键字跳出多层循环 (双层循环学会了再看这个)
- 在嵌套的循环结构中, break用于退出所在循环体。
- 如果要退出外层循环体,需要使用标号的方式。
- 在可以用来跳出switch case结构,也可以跳出循环结构
for (...) { outer: for (...) {
for(...) { for(...) {
break; break outer;
} }
案例题目
package demo;
public class ForForPrimeTest {
public static void main(String[] args) {
for(int i = 2; i <= 100; i++) {
boolean flag = true;
for(int j = 2; j <= Math.sqrt(i); j++) {
if(0 == i % j) {
flag = false;
break;
}
}
if(flag) {
System.out.println("i = " + i);
}
}
}
}
i = 2
i = 3
i = 5
i = 7
i = 11
i = 13
i = 17
i = 19
i = 23
i = 29
i = 31
i = 37
i = 41
i = 43
i = 47
i = 53
i = 59
i = 61
i = 67
i = 71
i = 73
i = 79
i = 83
i = 89
i = 97
|