我是靠谱客的博主 甜美狗,这篇文章主要介绍循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏,现在分享给大家,希望可以做个参考。
01 - 无限循环和跳转控制语句
无限循环
无限循环:循环一直停不下来。
1. 中间的条件判断语句,默认为true
复制代码
1
2
3
4//for格式的无限循环 for(;;){ System.out.println("学习"); }
2. true 不能省略
复制代码
1
2
3
4//while格式的无限循环 while(true){ System.out.println("学习"); }
3. 基本不使用
复制代码
1
2
3do{ System.out.println("学习"); }while(true)
注意事项
无限循环的下面不能再写其他代码了,因为循环永远停不下来,那么下面的代码永远执行不到
Unreachable statement —— 不能到达的模块
报错
跳转控制语句
案例1:小老虎吃包子
小老虎吃包子,第三个包子有虫子,跳过
中断,接着执行
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13public class SkipLoopDemo1 { public static void main(String[] args) { //1.跳过某一次循环 //5.fori for (int i = 1; i <= 5; i++) { if(i == 3){ //结束本次循环,继续下次循环。 continue; } System.out.println("小老虎在吃第" + i + "个包子"); } } }
案例2:小老虎吃包子
小老虎吃包子,吃完第三个就饱了
结束,到此为止
复制代码
1
2
3
4
5
6
7
8
9
10
11
12public class SkipLoopDemo2 { public static void main(String[] args) { //2.结束整个循环 for (int i = 1; i <= 5; i++) { System.out.println("小老虎在吃第" + i + "个包子"); if(i == 3){ //结束整个循环 break; } } } }
总结
循环的两个关键字
02 - 逢七过
案例1:逢7过
朋友聚会的时候可能会玩一个游戏:逢7过
游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据
复制代码1
2
3
4//分析: //个位7 十位7 7倍数 //1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16 过 18 19 20 过.... //69 过 过 过 过 过 过 过... 80复制代码1
2
3//1.得到1~100之间的每一个数字 //开始:1 //结束:100复制代码1//2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public class LoopTest1 { public static void main(String[] args) { //1.得到1~100之间的每一个数字 //开始:1 //结束:100 //100.fori for (int i = 1; i <= 100; i++) { //2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字 if(i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0){ System.out.println("过"); continue; } System.out.println(i); } } }
总结
- 为什么采取 for 循环结构?因为已知循环次数和循环范围。
- 为什么采取 逻辑或 || ?因为只要 多个条件中满足一个条件,表达式的返回值就为true 。
- 关键字continue的作用?结束本次循环,继续下次循环。
03 - 平方根
案例2:平方根
复制代码1
2需求:键盘录入一个大于等于2的整数x,计算并返回x的平方根。 结果只保留整数部分,小数部分将被舍去。
复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18//分析: //平方根 16的平方根4 // 4的平方根2 //10 //1 * 1 = 1 < 10 //2 * 2 = 4 < 10 //3 * 3 = 9 < 10 //4 * 4 = 16 > 10 //推断:10的平方根是在3~4之间。 //20 //1 * 1 = 1 < 20 //2 * 2 = 4 < 20 //3 * 3 = 9 < 20 //4 * 4 = 16 < 20 //5 * 5 = 25 > 20 //推断:20的平方根是在4~5之间。复制代码1
2
3
4
5//在代码当中 //从1开始循环,拿着数字的平方跟原来的数字进行比较 //如果小于的,那么继续往后判断 //如果相等,那么当前数字就是平方根 //如果大于的,那么前一个数字就是平方根的整数部分复制代码1
2
3
4//1.键盘录入一个整数 //2.从1开始循环判断 //开始:1 结束:number //用i * i 再跟number进行比较
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24import java.util.Scanner; public class LoopTest2 { public static void main(String[] args) { //1.键盘录入一个整数 Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数"); int number = sc.nextInt(); //2.从1开始循环判断 //开始:1 结束:number for (int i = 1; i <= number; i++) { //用i * i 再跟number进行比较 if(i * i == number){ System.out.println(i + "就是" + number + "的平方根"); //一旦找到了,循环就可以停止了,后面的数字就不需要再找了,提高代码的运行效率。 break; }else if(i * i > number){ System.out.println((i - 1) + "就是" + number + "的平方根"); break; } } } }
04 - 判断是否为质数
案例3:求质数
复制代码1需求:键盘录入一个正整数x ,判断该整数是否为一个质数。
复制代码1
2
3
4//质数: //如果一个整数只能被1和本身整除,那么这个数就是质数。否则这个数叫做合数。 //7 = 1 * 7 质数 //8 = 1 * 8 2 * 4 合数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44import java.util.Scanner; public class LoopTest3 { public static void main(String[] args) { //分析: //1.键盘录入一个正整数 //number Scanner sc = new Scanner(System.in); System.out.println("请输入一个正整数"); int number = sc.nextInt(); //定义一个变量,表示标记 //标记着number是否为一个质数 //true: 是一个质数 //false: 不是一个质数 //表示最初就认为number是一个质数 boolean flag = true; //2.判断 //写一个循环,从2开始判断,一直判断到number - 1 为止 //看这个范围之内,有没有数字可以被number整除 for (int i = 2; i < number; i++) { //i 依次表示这个范围之内的每一个数字 //看number是否能够被i整除就可以了 if(number % i == 0){ // 9 % 2 == 1 flag = false; //System.out.println(number + "不是一个质数"); break; }/*else { System.out.println(number + "是一个质数"); }*/ } //只有当这个循环结束了,表示这个范围之内所有的数字都判断完毕了 //此时才能断定number是一个质数 if(flag){ System.out.println(number + "是一个质数"); }else { System.out.println(number + "不是一个质数"); } } }
简化思路
复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30public class LoopTest4 { public static void main(String[] args) { // 100000 // 2 ~ 99999 //循环的次数:将近10万次 //推荐一个简化的思路 //81 这个叫因式分解来着??? //1 * 81 //3 * 27 //9 * 9 //以81的平方根9,为中心 //而且假设 a * b = 81 //那么a 和 b 中,其中有一个必定是小于等于9的。 //另一个是大于等于9的。 //假设,都是大于9 --- 9.1 * 9.1 > 81 //假设,都是小于9 --- 8.9 * 8.9 < 81 //其中一个数字一定是小于等于平方根 //另外一个数字一定是大于等于平方根 int number = 100; //如果这个范围之内,所有的数字都不能被number整除 //那么number就一定是一个质数。 /*for (int i = 2; i <= number的平方根; i++) { }*/ } }
总结
- 标记思想
- 简化思路,涉及数学,平方根
05 - 猜数字小游戏
案例4:猜数字小游戏
★ 获取随机数
Java帮我们写好一个类叫Random,这个类就可以生成随机数。
0 到 任意数 之间的随机数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24//1.导包 import java.util.Random; public class LoopTest5 { public static void main(String[] args) { //先获取一个随机数。 //范围: 0~10 //2.创建对象 Random r = new Random(); //3.生成随机数 //判断技巧: //在小括号中,书写的是生成随机数的范围 //这个范围一定是从0开始的。 //到这个数-1结束 //口诀:包头不包尾,包左不包右 for (int i = 0; i < 100; i++) { int number = r.nextInt(10); // 0 ~ 9 System.out.println(number); } } }
任意数 到 任意数 之间的随机数
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25import java.util.Random; public class LoopTest6 { public static void main(String[] args) { //需求: //随机数范围:1~100 //创建对象 Random r = new Random(); //生成随机数 int number = r.nextInt(100) + 1; //1~100 System.out.println(number); //秘诀 //用来生成任意数到任意数之间的随机数 7 ~ 15 //1.让这个范围头尾都减去一个值,让这个范围从0开始 -7 0~8 //2.尾巴+1 8 + 1 = 9 //3.最终的结果,再加上第一步减去的值。 /*Random r = new Random(); int number = r.nextInt(9) + 7;// 7 ~ 15 // 0 ~ 8 + 7 System.out.println(number);*/ } }
复制代码1
2
3//需求:程序自动生成一个1~100之间的随机数字,使用程序实现猜出这个数字是多少? //扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51import java.util.Random; import java.util.Scanner; public class LoopTest7 { public static void main(String[] args) { //需求:程序自动生成一个1~100之间的随机数字,使用程序实现猜出这个数字是多少? //扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。 //注意点: //生成随机数的代码int number = r.nextInt(100) + 1; //不能写在循环的里面的,否则每一次都会产生一个新的随机数 //2.抽奖机制 //用点券去抽水晶 //保底 360次 //计数器 //用来统计当前已经猜了多少次。 int count = 0; //分析 //1.生成一个1~100之间的随机数字 Random r = new Random(); int number = r.nextInt(100) + 1; //2.猜这个数字是多少 Scanner sc = new Scanner(System.in); while (true){ System.out.println("请输入你要猜的数字"); int guessNumber = sc.nextInt(); //3.判断两个数字给出不同的提示 //猜的数字大了,提示 大了 //猜的数字小了,提示 小了 //猜的数字一样,提示猜中了 count++; if(count == 3){ System.out.println("猜中了"); break; } if(guessNumber > number){ System.out.println("大了"); }else if(guessNumber < number){ System.out.println("小了"); }else { System.out.println("猜中了"); break; } } } }
总结
- 生成随机数
- 猜数字小游戏
- 计数器
最后
以上就是甜美狗最近收集整理的关于循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏的全部内容,更多相关循环高级综合练习01内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复