我是靠谱客的博主 甜美狗,最近开发中收集的这篇文章主要介绍循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
01 - 无限循环和跳转控制语句
无限循环
无限循环:循环一直停不下来。
1. 中间的条件判断语句,默认为true
//for格式的无限循环
for(;;){
System.out.println("学习");
}
2. true 不能省略
//while格式的无限循环
while(true){
System.out.println("学习");
}
3. 基本不使用
do{
System.out.println("学习");
}while(true)
注意事项
无限循环的下面不能再写其他代码了,因为循环永远停不下来,那么下面的代码永远执行不到
Unreachable statement —— 不能到达的模块
报错
跳转控制语句
案例1:小老虎吃包子
小老虎吃包子,第三个包子有虫子,跳过
中断,接着执行
public 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:小老虎吃包子
小老虎吃包子,吃完第三个就饱了
结束,到此为止
public 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之间的满足逢七必过规则的数据
//分析: //个位7 十位7 7倍数 //1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16 过 18 19 20 过.... //69 过 过 过 过 过 过 过... 80//1.得到1~100之间的每一个数字 //开始:1 //结束:100//2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字
public 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:平方根
需求:键盘录入一个大于等于2的整数x,计算并返回x的平方根。 结果只保留整数部分,小数部分将被舍去。
//分析: //平方根 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开始循环,拿着数字的平方跟原来的数字进行比较 //如果小于的,那么继续往后判断 //如果相等,那么当前数字就是平方根 //如果大于的,那么前一个数字就是平方根的整数部分//1.键盘录入一个整数 //2.从1开始循环判断 //开始:1 结束:number //用i * i 再跟number进行比较
import 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:求质数
需求:键盘录入一个正整数x ,判断该整数是否为一个质数。
//质数: //如果一个整数只能被1和本身整除,那么这个数就是质数。否则这个数叫做合数。 //7 = 1 * 7 质数 //8 = 1 * 8 2 * 4 合数
import 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 + "不是一个质数");
}
}
}
简化思路
public 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.导包
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);
}
}
}
任意数 到 任意数 之间的随机数
import 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~100之间的随机数字,使用程序实现猜出这个数字是多少? //扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。
import 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 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复