5.1循环的定义
当一个业务过程需要多次重复执行一个程序单元时可以考虑使用循环流程控制实现
5.2循环三要素
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环的结束变)
注:循环变量:在整个循环过程中所反复改变的那个数
且(for中的循环变量的作用域仅在当前for中)
5.3循环结构
循环共有三种结构,分别是while、do...while、for。
5.3.1 while结构
5.3.1.1语法:
while(boolean){
语句块------反复执行的代码
}
5.3.1.2执行过程:
判断boolean的值,若为true则执行语句块,
再判断boolean的值,若为true则执行语句块,
再判断boolean的值,若为true则执行语句块,
以此类推,直到boolean的值为false时,while循环结束
案例:
Scaner scan = new Scanner(System.in)
int num = (int)(Math.random()*1000+1);//1-1000之内的随机数
System.out.println(num);
System.out.println("猜吧!");
int guess = scan.nextInt();
while(guess != num){
if(guess>num){
System.out.println("太大了!");
}else{
System.out.println("太小了!");
}
System.out.println("猜吧!");
guess = scan.nextInt();
}
System.out.println("恭喜你猜对了!")
5.3.2 do...while结构
5.3.2.1语法:
do{
语句块
}while(boolean);
5.3.2.2执行过程:
先执行语句块,再判断boolean的值,若为true则
再执行语句块,再判断boolean的值,若为true则
再执行语句块,再判断boolean的值,若为true则
再执行语句块,以此类推,直到boolean的值为false时,循环结束
案例:
Scaner scan = new Scanner(System.in)
int num = (int)(Math.random()*1000+1);//1-1000之内的随机数
System.out.println(num);
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt();
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}else{
System.out.println("恭喜你猜对了!");
}
}while(guess!=num);
5.3.3 比较while和do...while
*while结构:先判断后执行,有可能一次都不执行
*do...while结构:先执行后判断,至少执行一次
5.3.4 for结构
for结构主要实现与次数相关的循环,应用率高。
5.3.4.1 语法
for (要素1;要素2 ;要素3 )
{
语句块/循环体-------反复执行的代码
}
(for中的 循环变量 的作用域仅在当前for中)
5.3.4.2 执行过程
案例:
//输出数字1-100
for (int i=1;i<=100 ;i++ )
{
System.out.println(i);
}
//输出6的乘法表
5.4 break和continue
5.4.1 break:
break可以用在switch中也可以用在循环中,用在循环中用于跳出当前循环(结束循环)
案例:
for (int num=1;num<=9 ;num++ )
{
if (num==5)//在某种特定条件下,提前结束循环
{
break;//跳出循环
}
System.out.printl
5.4.2 continue:
continue跳过当前当次循环,进入下一次循环
嵌套循环:
1)循环中套循环,外层循环控制行,内层循环控制列
2)执行过程:外层循环走一次,内层循环走所有次
3)建议:嵌套层数越少越好(最好不要超过三层),能用一层就不用两层,能用两层就不用三层