注意:

各循环可互相嵌套

一般不超过三层

外层循环变量变化一次,内层循环变量要变化一遍

1.循环录入某学生5门课的成绩,并计算平均分,如果某分数录入为负,停止录入并提示录入错误.

System.out.println("输入学生姓名 :");
Scanner input=new Scanner(System.in);
String name=input.next();
int i=1;
int sum=0;
double avg=0;
int status=1;
while (i<6) {
  System.out.println("输入第"+i+"门课程的成绩:");
  i++;
  Scanner input1=new Scanner(System.in);
  int noe=input1.nextInt();
  sum=sum+noe;
  if (noe<0) {
    System.out.println("抱歉,录入错误,请重新进行录入");
    status=0;
    break;
  }
}
avg=sum/5;
if (status==1) {
  System.out.println(name+"的平均分是:"+avg);	
}

2. 1~10之间的整数相加,得到累加值大于20的当前数

int num=0;
int sum=0;
while (num<10) {
  sum=sum+num;
  num++;
  if(sum>20) {
    break;
  }
}
System.out.println(sum);

3.循环录入java课的学生成绩,统计分数大于等于80分的学生比例

  System.out.println("输入班级总人数:");
  Scanner input=new Scanner(System.in);
  int name=input.nextInt();
  int i=1;
  int sum=0;
  double avg;
  int status=1;
  while (i<name+1) {
    System.out.println("输入第"+i+"门课程的成绩:");
    i++;
    Scanner input1=new Scanner(System.in);
    int noe=input1.nextInt();
      if(noe<80) {
      continue;
    }
      sum++;	
}
  avg=(double)sum/(double)name*100;
  System.out.println("80分以上学生数:"+sum);
  System.out.println("80分以上学生所占比例为:"+avg+"%");

对比break和continue

程序的调试

4.输出一下图形

for(int i=0;i<=6;i++) {
  for(int j=0;j<=5;j++) {
    System.out.print("*");
  }
  System.out.println();
}
for (int i = 0; i < 5; i++) {
     for (int j = 0; j < 4-i; j++) {
       System.out.print(" ");
     } 
     for (int j = 0; j < 6; j++) {
       System.out.print("*"); 

     } 
     System.out.println();//换行 
   }
for(int i=1;i<=5;i++) {
  for(int j=5;j>=i;j--) {
    System.out.print(" ");
  }for(int v=1;v<i+i;v++) {
    System.out.print("*");
  }
  System.out.println();
}

 

5.多从循环做出九九乘法表

int num=9;
for(int i=1;i<=num;i++){
  for(int j=1;j<=i;j++){
    System.out.print(j+"*"+i+"="+j*i+" ");
  }
  System.out.println();
}