1.有限循环
概念:
又叫死循环。循环始终停不下来。
for格局:
for(;;){ System.out.println("循环执行始终在打印内容");}
解释:
初始化语句能够空着不写,示意循环之前不定义任何的控制变量。
条件判断语句能够空着不写,如果不写,默认示意true,循环始终进行。
条件管制语句能够空着不写,示意每次循环体执行结束后,控制变量不做任何变动。
while格局:
while(true){ System.out.println("循环执行始终在打印内容");}
解释:
小括号外面就不能省略了,true肯定要写进去,否则代码会报错。
do...while格局:
do{ System.out.println("循环执行始终在打印内容");}while(true);
解释:
小括号外面就不能省略了,true肯定要写进去,否则代码会报错。
有限循环的注意事项:
- 最为罕用的格局:while
- 有限循环上面不能再写其余代码了,因为永远执行不到。
2.条件管制语句
- break
- continue
break:
不能独自存在的。能够用在switch和循环中,示意完结,跳出的意思。
代码示例:
//1.吃1~5号包子for (int i = 1; i <= 5; i++) { System.out.println("在吃第" + i + "个包子"); //2.吃完第三个的时候就不吃了 if(i == 3){ break;//完结整个循环。 }}
continue:
不能独自存在的。只能存在于循环当中。
示意:跳过本次循环,继续执行下次循环。
代码示例:
//1.吃1~5号包子for (int i = 1; i <= 5; i++) { //2.第3个包子有虫子就跳过,持续吃上面的包子 if(i == 3){ //跳过本次循环(本次循环中,上面的代码就不执行了),继续执行下次循环。 continue; } System.out.println("在吃第" + i + "个包子");}
3. Random
Random跟Scanner一样,也是Java提前写好的类,咱们不须要关怀是如何实现的,只有间接应用就能够了。
应用步骤:
- 导包
import java.util.Random;导包的动作必须呈现在类定义的上边。
- 创建对象
Random r = new Random ();下面这个格局外面,只有r是变量名,能够变,其余的都不容许变。
- 生成随机数
int number = r.nextInt(随机数的范畴);下面这个格局外面,只有number是变量名,能够变,其余的都不容许变。随机数范畴的特点:从0开始,不蕴含指定值。比方:参数为10,生成的范畴[0,10)
代码示例:
//1.导包import java.util.Random;public class RandomDemo1 { public static void main(String[] args) { //2.创建对象 Random r = new Random(); //3.生成随机数 int number = r.nextInt(100);//包左不包右,包头不包尾 //0 ~ 99 System.out.println(number); }}
4. 逢七过
需要:
敌人团聚的时候可能会玩一个游戏:逢7过
游戏规则:从任意一个数字开始报数,当你要报的数字是蕴含7或者是7的倍数时都要说过:过
应用程序在控制台打印出1-100之间的满足逢七必过规定的数据
举例:
1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16 过 18 ...
代码示例:
/*敌人团聚的时候可能会玩一个游戏:逢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//完结:100for (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);}
5. 平方根
需要:
键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。后果只保留整数局部 ,小数局部将被舍去 。
代码示例:
/*需要:键盘录入一个大于等于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.键盘录入一个整数Scanner sc = new Scanner(System.in);System.out.println("请输出一个整数");int number = sc.nextInt();//2.从1开始循环判断//开始:1 完结: numberfor (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; }}
6.判断是否为质数
需要:
键盘录入一个正整数 x ,判断该整数是否为一个质数。
代码示例:
//需要:键盘录入一个正整数 x ,判断该整数是否为一个质数。//质数://如果一个整数只能被1和自身整除,那么这个数就是质数。否则这个数叫做合数//7 = 1 * 7 质数//8 = 1 * 8 2 * 4 合数//剖析://1.键盘录入一个正整数//numberScanner sc = new Scanner(System.in);System.out.println("请输出一个正整数");int number = sc.nextInt();//9//定义一个变量,示意标记//标记着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 + "不是一个质数");}
7. 猜数字小游戏
需要:
程序主动生成一个1-100之间的随机数,在代码中应用键盘录入去猜出这个数字是多少?
要求:
应用循环猜,始终猜中为止。
思路剖析:
- 生成一个1-100之间的随机数
- 应用键盘录入去猜出这个数字是多少
- 把重复猜的代码写在循环中
代码示例:
//1.生成一个1-100之间的随机数Random r = new Random();int number = r.nextInt(100) + 1;// 0 ~ 99 + 1 --- 1 ~ 100System.out.println(number);//2.应用键盘录入去猜出这个数字是多少?Scanner sc = new Scanner(System.in);while(true){ System.out.println("请输出一个整数"); int guessNumber = sc.nextInt(); //3.比拟 if(guessNumber > number){ System.out.println("您猜的数字大了"); }else if(guessNumber < number){ System.out.println("您猜的数字小了"); }else{ System.out.println("祝贺你,猜中了"); break; }}