文章目录
- 前言
- 一、无限循环
- 1.这三种循环中哪一种无限循环是最常用的呢?
- 2.注意事项:
- 二、跳转控制语句
- 三、逢七过
- 四、平方根
- 五、判断该整数是否为一个质数
- 六、猜数字小游戏
- 保底机制
- 总结
前言
一、无限循环
1.这三种循环中哪一种无限循环是最常用的呢?
当然是右上角的while循环啦~
2.注意事项:
无限循环的下面不能写其他的代码了,因为循环永远停不下来,下面的代码永远执行不到
二、跳转控制语句
continue 跳过本次循环,继续执行下次循环
break 结束整个循环
三、逢七过
public class test1 {
/*游戏规则:从任意一个数字开始报数,当你要报的数字是包含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
*/
public static void main(String[] args) {
//1.得到1-100之间的每一个数字
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);
}
}
}
四、平方根
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
/*需求:键盘录入一个大于等于二的整数x,计算并返回x的平方根
结果只保留整数部分,小数部分将舍去
分析:
平方根相当于数学中的开根号 16的平方根4
10
1*1=1<10
2*2=4<10
3*3=9<10
4*4=16>10
推断:10的平方根在3-4之间
在代码当中
从1开始循环,拿着数字的平方根和原来的数字进行比较
如果小于,那么继续往后判断
如果等于,那么当前数字就是平方根
如果大于,那么前一个数字就是平方根的整数部分
*/
//1.键盘录入一个整数
Scanner sc= new Scanner(System.in);
System.out.println("请输入一个整数:\n");
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;
}
}
}
}
五、判断该整数是否为一个质数
import java.util.Scanner;
public class test3 {
public static void main(String[] args) {
/*需求:键盘录入一个正整数x,判断整数是否为一个质数
质数:
如果一个整数只能被1和他本身整除,那么这个数就是质数,否则这个数就是合数
7=7*1 质数
8=8*1 2 *4 合数
*/
//分析:
//1.键盘录入一个正整数
//number
Scanner sc= new Scanner(System.in);
System.out.println("请输入一个整数:");
int number =sc.nextInt();
//3.定义一个变量表示标记
//标记着number是否为一个质数
//true 是一个质数
//false 不是一个质数
boolean flag=true;//表示在一开始number是一个质数
//2.判断
//写一个循环,从2开始判断,一直判断到number-1为止
//看这个范围之内,有没有数字可以被number整除
for(int i=2;i<number;i++){
//i依次表示这个范围之内的每一个数字
//看number是否被i整除就可以了
if(number%i==0){
flag=false;
}
//System.out.println(number+"不是一个质数");
break;
}
//只有当这个循环结束了,表示这个范围之内所有数字都判断完了
//此时才能判定number是一个质数
if(flag){
System.out.println(number+"是一个质数");
}else{
System.out.println(number+"不是一个质数");
}
}
}
优化思路:
public class test4 {
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++) {
}*/
}
}
六、猜数字小游戏
首先我们要来学习一下随机数的生成:
import java.util.Random;
public class test5 {
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);
}
}
}
可以发现随机数生成的数值在0-9之间
import java.util.Random;
public class test6 {
public static void main(String[] args) {
//需求:
//随机数范围:1-100
/*
//创建对象
Random r=new Random();
//生成随机数
int number= r.nextInt(101);//0~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随机数
Random r=new Random();
int number= r.nextInt(100)+1; //0~99 +1 = 1~100
System.out.println(number);
}
}
猜数字最终代码:
import java.util.Random;
import java.util.Scanner;
public class test7 {
public static void main(String[] args) {
/*需求:程序指定生成一个1-100之间的随机数字,使用程序是先猜出这个数字是多少?
*/
// 分析
//1.生成一个1-100之间的随机数字
Random r=new Random();
int number= r.nextInt(100)+1;
//2.猜这个数字是多少
Scanner sc=new Scanner(System.in);
//3.判断两个数字给出不同的提示
//猜的数字大了,提示大了
//猜的数字小了,提示小了
//猜的数字一样,提示猜中了
while(true) {
System.out.println("请输入你要猜的数字:\n");
int guessnumber=sc.nextInt();
if (guessnumber > number) {
System.out.println("猜大了");
} else if (guessnumber < number) {
System.out.println("猜小了");
} else {
System.out.println("猜中了");
break;
}
}
}
}
注意事项:
生成随机数的代码
int number= r.nextInt(100)+1;
不能写在循环的里面的,否则每一次都会生成一个新的随机数
保底机制
import java.util.Random;
import java.util.Scanner;
public class test7 {
public static void main(String[] args) {
/*需求:程序指定生成一个1-100之间的随机数字,使用程序是先猜出这个数字是多少?
扩展小需求:
加一个保底机制,三次猜不中,直接提示猜中了
*/
// 分析
//1.生成一个1-100之间的随机数字
Random r=new Random();
int number= r.nextInt(100)+1;
//2.猜这个数字是多少
Scanner sc=new Scanner(System.in);
//计数器:用来统计当前猜了多少次
int count=0;
//3.判断两个数字给出不同的提示
//猜的数字大了,提示大了
//猜的数字小了,提示小了
//猜的数字一样,提示猜中了
while(true) {
System.out.println("请输入你要猜的数字:\n");
int guessnumber=sc.nextInt();
count++;
if(count==3){
System.out.println("猜中了\n");
break;
}
if (guessnumber > number) {
System.out.println("猜大了");
} else if (guessnumber < number) {
System.out.println("猜小了");
} else {
System.out.println("猜中了");
break;
}
}
/* 注意事项:
1.生成随机数的代码
int number= r.nextInt(100)+1;
不能写在循环的里面的,否则每一次都会生成一个新的随机数
2.抽奖机制
用点券去抽水晶
保底 360次
*/
}
}
总结
今天的内容你是否有所收获呢友友们🥰如果有写的不对的地方,欢迎大家帮我指正.最后,希望友友们点赞收藏一下博客关注后续的Java学习内容哦~😘💕💕