一、for循环
1、语法:
for(表达式1;表达式2;表达式3){
循环体.....;
}
2、表达式的作用:
表达式1:赋初始值,说明循环从哪里开始。
表达式2:设置循环条件,说明循环将在哪里结束。
表达式3:循环条件值的改变,步长。
注意:表达式可以省略,但是“;”不能省略。例如:for(;;){ ... }
3、表达式的执行顺序:
表达式1----->表达式2(真)----->循环体----->表达式3
4、举个栗子:
public class Test01{ public static void main(String[] args){ //打印1~5 int i=0; //i=1+2=3 i=3+2=5 i=5+2=7 i=7+2=9 i=9+2=11 for(i=1;i<=10;i=i+2){//i=1; 1<10 3<=10; 7<=10 9<=10 11<=10==false System.out.println("i="+i);//打印1,3,5,7,9 } } System.out.println("终止循环时:i="+i);//打印:循环终止在:i=11 }
PS:在后面的博客中会有更多的for循环小栗子等着你
二、while循环
1、语法:
while(表达式){//相当于for循环的表达式2
语句;
}注意:
for适合循环次数明确的时候
while适合循环次数不明确的时候
do...while适合至少循环一次的时候
2、举个小栗子:
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int menu=0,n;
System.out.println("|---------------------管理系统---------------------|");
float score,money,sum,avg;
String isOk;
System.out.println("|--2.职工信息管理 |");
System.out.println("|--1.学生信息管理 |");
System.out.println("|--------------------------------------------------|");
System.out.println("|--3.其他 |");
System.out.print("请选择:");
menu=in.nextInt();
switch(menu) {
while( "y".equals(isOk) == true ) {//当isOk的值是y时,继续录入下一个学生,否则终止
case 1:
sum=0;//和默认是0
n=0;//人数默认0
isOk="y";//是否继续默认是
System.out.println("学生成绩信息录入>>");
System.out.print("请输入第"+(n+1)+"个学生成绩:");
System.out.println(n+"个学生的总分是:"+sum+",平均分是:"+avg);
score = in.nextFloat();
sum=sum+score;
n=n+1;
System.out.print("是否继续(y/n)>>");
isOk=in.next();
}
avg=sum/n;
break;
case 2:
}
System.out.println("vip付费,请自行购买");
break;
default:
System.out.println("vip付费,请自行购买");
break;
}
}
三、do while
语法:do{
语句体;
}while(条件结构);//别忘记了分号
例子:(while与do while对比)
import java.util.Scanner; public class Test05{ public static void main(String[] args){ Scanner in = new Scanner(System.in); float n=0,sum=0,avg=0,max=0; int i=1,menu=0;//第几个人。 String isOk="n";//isOk="n" 是否继续:y继续,n不继续 System.out.println("|---------XDL管理系统-----------|"); System.out.println("|1.学生信息管理 |"); System.out.println("|2.职工信息管理 |"); System.out.println("|3.其他 |"); System.out.println("|-------------------------------|"); System.out.print("请选择:"); menu=in.nextInt(); switch(menu){ case 1: System.out.println("学生信息管理>>"); //循环录入过得学生成绩,统计求和 while("y".equals(isOk)==true){//"y".equals(?)==false System.out.print("请输入第"+i+"个学生成绩:"); n = in.nextFloat(); if(max<n) max=n; sum=sum+n; i=i+1; System.out.print("是否继续录入(y/n)>>"); isOk=in.next(); } avg=sum/(i-1); System.out.println("总成绩:"+sum+", 平均分:"+avg+",最高分:"+max); break; case 2: System.out.println("职工信息管理>>"); //循环录入职工工资,统计求和 do{ System.out.print("请输入第"+i+"个职工应发工资:"); n = in.nextFloat(); if(max<n) max=n; sum=sum+n; i=i+1; System.out.print("是否继续录入(y/n)>>"); isOk=in.next(); }while("y".equals(isOk)==true); avg=sum/(i-1); System.out.println("总下发工资:"+sum+", 平均工资:"+avg+" ,最高工资:"+max); break; default: System.out.println("其他vip项目,付费后使用..."); break; } } }