1.循环结构(序)
for结构:应用率高、与次数相关的循环
1)语法:
1 2 3
for(要素1;要素2;要素3){
4
语句块/循环体----------------反复执行的语句
}
2)执行过程:
1243124312431243...2
案例演示1:随机加法运算器
import java.util.Scanner;
//随机加法运算器
public class Addition {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score = 0; //总分
for(int i=1;i<=10;i++){ //10次 (1)25+65=?
int a = (int)(Math.random()*100); //加数a--0到99的随机数
int b = (int)(Math.random()*100); //加数b--0到99的随机数
int result = a+b; //存正确答案
System.out.println("("+i+")"+a+"+"+b+"=?"); //1)出题
System.out.println("算吧!");
int answer = scan.nextInt(); //2)答题
if(answer==-1){ //3)判题
break;
}
if(answer==result){
System.out.println("答对了");
score += 10; //答对1题,加10分
}else{
System.out.println("答错了");
}
}
System.out.println("总分为:"+score);
}
}
3种循环结构如何选择:
先看循环是否与次数相关:
若相关---------------------------for循环走起
若无关,再看看第一要素和第三要素的代码是不是相同
若相同------------------------------直接上do...while循环
若不同------------------------------直接上while
continue关键字:
跳出循环体中剩余的语句而进入下一次的循环
案例演示:
//输出9的乘法表,只要不能被3整除
for(int num=1;num<=9;num++){
if(num%3!=0){
System.out.println(num+"*9="+num*9);
}
}
//输出9的乘法表,跳过能被3整除的
for(int num=1;num<=9;num++){
if(num%3==0){
continue; //跳过循环体中剩余语句而进入下一次循环
}
System.out.println(num+"*9="+num*9);
}
/*
num=1 1*9=9
num=2 2*9=18
num=3
num=4 4*9=36
num=5 5*9=45
num=6
num=7 7*9=63
num=8 8*9=72
num=9
num=10 false
*/
嵌套循环:
循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
执行规则:外层循环走一次,内层循环走所有
建议:嵌套的层数越少越好,能用一层就不用两层,能用两层就不用三层
break只能跳出一层循环
案例展示:控制台输出99乘法表
//九九乘法表
public class MultiTable {
public static void main(String[] args) {
for(int num=1;num<=9;num++){ //控制行
for(int i=1;i<=num;i++){ //控制列
System.out.print(i+"*"+num+"="+i*num+"\t");
}
System.out.println(); //换行
}
/*
执行过程:
num=3
i=1 1*3=3
i=2 2*3=6
i=3 3*3=9
i=4 false
换行
num=2
i=1 1*2=2
i=2 2*2=4
i=3 false
换行
num=1
i=1 1*1=1
i=2 false
换行
*/
}
}
2.一些知识点的补充:
1.变量的重名问题
作用域相同时,变量名称不能相同
2.\t: 水平制表位,固定占8位