循环的作用是反复执行一段相同或相似的代码。
循环的三要素:
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环结束的方向改变)
循环变量:在整个循环过程中所反复改变的那个数
循环结构有以下三种
1) while:先判断后执行,有可能一次也不执行
2)do...while:先执行一次再判断,满足条件则继续执行
循环的三要素中1)和3)相同时,首选do...while
3)for:应用率最高,适用于固定次数循环
另外,break--跳出循环;continue--跳过循环体中剩余语句而进入下一次循环。
案例一:猜数字之while
思路----1)定义一个随机数 2)接受用户输入的数 3)while判断不等,判断与随机数的大小,用户继续输入直到结束循环
int num=(int)(Math.random()*1000+1);
Scanner scan=new Scanner(System.in);
System.out.println("请输入一个整数(0到1000,输0退出):");
int guess=scan.nextInt();
while(guess!=num){
if(guess==0){
System.out.println("再见!!");
break;
}
if(guess>num){
System.out.println("猜大了!");
}else{
System.out.println("猜小了!");
}
System.out.println("请输入一个整数(0到1000,输0退出):");
guess=scan.nextInt();
}
scan.close();
if(guess==num){
System.out.println("恭喜你猜对了!!!");
}
案例一:猜数字之do...while
思路----1)定义一个随机数 2)do接受用户输入的数,判断与随机数的大小3)while判断不等,用户继续输入直到结束循环
int num=(int)(Math.random()*1000+1);
Scanner scan=new Scanner(System.in);
int guess;
do{
System.out.println("请输入一个整数(0到1000,输0退出):");
guess=scan.nextInt();
if(guess==0){
System.out.println("再见!!");
break;
}
if(guess>num){
System.out.println("猜大了!");
}else if(guess<num){
System.out.println("猜小了!");
}
}while(guess!=num);
scan.close();
if(guess==num){
System.out.println("恭喜你猜对了!!!");
}
案例三:随机加法运算之for
思路----1)出题,定义两个随机数 2)答题,接收用户的输入3)判题,答对分数累计,答错不加分
Scanner scan=new Scanner(System.in);
int score=0;
for(int i=1;i<=10;i++){
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*100);
System.out.println("("+i+")"+a+"+"+b+"=?");
System.out.println("请输入答案(输入-1可退出):");
int answer=scan.nextInt();
if(answer==-1){
System.out.println("再见!!");
break;
}
if(answer==a+b){
System.out.println("答对了");
score+=10;
}else{
System.out.println("答错了");
}
}
scan.close();
System.out.println("最终得分为:"+score+"分");