1、无限循环
无限循环:循环一直停不下来。有三种格式,格式如下:
for(;;){
System.out.println("学习");
}
while(true){
System.out.println("学习");
}
do{
System.out.println("学习");
} while(true);
2、跳转控制语句
continue:跳过本次循环,继续执行下次循环。
break:结束整个循环。
for( int i = 1 ; i <= 5 ; i++){
if(i == 3){
continue;
}
System.out.println("吃第" + i + "个包子");
}
输出结果为:
吃第1个包子
吃第2个包子
吃第4个包子
吃第5个包子
for( int i = 1 ; i <= 5 ; i++){
if(i == 3){
break;
}
System.out.println("吃第" + i + "个包子");
}
吃第1个包子
吃第2个包子
案例1:平方根
import java.util.Scanner;
public class LoopText2 {
public static void main(String[] args) {
/* 需求:键盘录入一个大于等于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 结束:number
for (int i = 1;i <= number;i++){
if (i * i == number){
System.out.println(i + "就是" + number + "的平方根");
break;
} else if (i * i > number) {
System.out.println((i - 1) + "就是" + number + "平方根的整数部分");
}
}
}
}
案例2:判断质数:
package Test03;
import java.util.Scanner;
public class test05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = sc.nextInt(); //记录输入的整数
int i;
for(i = 2 ; i <= number ; i++) {
if (number % i == 0)
break; //找到能被number整除的数
}
if(i == number) //判断这个数是不是number本身,如果是则number是质数
System.out.println("是质数");
else
System.out.println("不是质数");
}
}
3、随机数的生成
1、导包——Random这个类在哪
import java.util.Random;
导包的动作必须出现在类定义的上面
2、创建对象——表示我要开始用Random这个类了
Random r = new Random();
上面这个格式里面,只有r是变量名,可以变,其他的都不允许变。
3、生成随机数——真正开始干活了
int number = r.nextInt(随机数的范围);
上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。
int number = r.nextInt(bound:100); //生成的随机数范围为0-99,范围的默认起
始点为0,终止点为所填数字的值减1。
int number = r.nextInt(bound:10) + 7; //生成的随机数范围为7~16。因为原本生成的
范围是0~9,但是在这个范围的基础上加7之后,随机数的范围就变成了7~16
实战:猜数游戏
本次游戏有保底机制,即猜三次时,无论最后是否猜中,系统都提示猜中。
Random r = new Random(); //创建随机数对象
//在范围内生成一个随机数,此语句放在循环外,因为只生成一次随机数
int number = r.nextInt(bound:100)+1;
Scanner sc = new Scanner(System.in); //创建键盘录入对象
int count = 0; // 记录猜数字的次数
while(true){ //利用循环,让用户一直猜。在循环条件中利用true,让循环无限
循环,只有遇到break的情况下循环才终止。猜数游戏才结束。
System.out.println("请输入你要猜的数字");
int guessNumber = sc.nextInt();
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; //猜中之后循环终止
}
}