一循环
1.定义:反复执行同一个操作内容2.语法: a.while(条件){ 循环语句 } b.do{ 循环语句 }while(条件); c.for(表达式1;条件表达式2;表达式3){ 循环内容 } 表达式1=循环变量的初始化 表达式2=循环条件 表达式3=循环变量的操作 3.循环的三要素: a:循环变量的初始化 b:循环条件 c:循环变量的操作4.三种循环的特点是: a。while是先判断条件再执行循环体 b。do while 是先执行一次循环体再判断条件,也就是说一定会执行一次 c.for是先判断再执行5.循环语法的适用场合 a.while:适合循环次数不确定 b.for:适合循环次数确定的场合6.如何控制循环的流程 a.break:是退出循环,break在哪个循环中就退出哪个循环 b.contiune:结束本次循环的剩余部分,继续下一次循环 c.都要搭配if来使用二.例子
package com.demo1025;import java.math.BigDecimal;import java.util.Scanner;public class Demo { //while案例 打印输出"我喜欢java" 10遍// public static void main(String[] args) {// int i=1;//循环变量的初始化// while(i<=10){//循环条件// System.out.println("我喜欢java");// i++;//循环变量的操作// }// System.out.println("完成作业");// } //练习3 求 1--1000中的偶数和// public static void main(String[] args) {// int i=0;// int sum = 0;//求和的变量 while(i<=1000){ if(i%2==0){ sum += i;//sum = sum+i; } i++; }// while(i<=1000){// sum += i;// i+=2;// }// System.out.println(sum);// } //练习4 输入一个数:打印输出该数的加法口诀// 输入:6// 0+6 = 6// 1+5 = 6// 2+4 = 6// 3+3 = 6// 4+2 = 6// 5+1 = 6// 6+0 = 6// public static void main(String[] args) {// Scanner sc = new Scanner(System.in);// int num = sc.nextInt();// int i = 0;// int j = num; while(i<=num){ System.out.println(i + "+" +(num-i) +"=" +num); i++; }// while(i<=num){// System.out.println(i + "+" +j +"=" +num);// i++;// j--;// }// } //a:循环变量的初始化 一个字符串 str // b:循环条件 str.equals("y") // c:循环变量的操作 str = sc.next(); //练习5.系统打印输出“正在提供数据” 然后询问用户是否继续?y/n 当用户输入 y的时候继续提供数据,并且继续询问是否继续,当用户输入n时停止询问 结束程序// a:循环变量的初始化 一个字符串 str// b:循环条件 str.equals("y")// c:循环变量的操作 str = sc.next();// public static void main(String[] args) {// Scanner sc = new Scanner(System.in);// String str = "";// do{// System.out.println("正在提供数据");// System.out.println("是否继续?y/n");// str = sc.next();// }while(str.equals("y"));// System.out.println("程序结束");// } //练习7.请输出如下数列:1 3 5 7 9 11 13 15 输出20位。// public static void main(String[] args) { int a=1; for(int i=1;i<=20;i++,a+=2){ System.out.print(a+" "); }// for (int i = 1;i<=20;i++) {// System.out.print(2*i-1+" ");// }// } //8:输入一个整数,将其倒序输出// 例如:输入124578 输出875421// 用循环做// public static void main(String[] args) {// Scanner sc = new Scanner(System.in);// System.out.println("请输入一个整数:");// int num = sc.nextInt();// while(num!=0){// System.out.print(num%10);// num/=10;// }// } //有如下数列:0 1 1 2 3 5 8 13 21 34 55 //用程序算出该数列第15位是什么数字?// public static void main(String[] args) {// int a1=0,a2=1,a3=1;// for(int i=1;i<=13;i++){// a3 = a1 + a2;// a1 = a2;// a2 = a3;// }// System.out.println(a3);// } //break// public static void main(String[] args) {// int i=0;// while(true){// System.out.println("我在跑第"+i+"圈");// i++;// if(i==10){// break;//退出循环// }// }// } //continue// public static void main(String[] args) {// for(int i=0;i<5;i++){// System.out.println(i);// if(i==3){// continue;// }// System.out.println("我是第"+i+"个数");// }// } //练习10:计算1到100的偶数和,要求使用continue来实现 public static void main(String[] args) { int sum = 0; for(int i=1;i<=100;i++){ if(i%2==1){ continue; } sum += i; } System.out.println(sum); }}
/* * 1.循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误 break */package com.class1026;import java.util.Scanner;public class Test001 { public static void main(String[] args) { // TODO Auto-generated method stub int score=0; double altal=0; Scanner sc=new Scanner(System.in); for(int i=1;i<=5;i++) { System.out.println("请输入第"+i+"门课成绩"); score=sc.nextInt(); if(score>100||score<0) { System.out.println("输入错误"); break; } altal+=score; } altal=altal/5; System.out.println("平均成绩为:"+altal); }}
/* * 2.1~10之间的整数相加,得到累加值大于20的当前数 break */package com.class1026;public class Test002 { public static void main(String[] args) { // TODO Auto-generated method stub int altal=0; for(int i=1;i<=10;i++) { altal+=i; if(altal>20) { System.out.println(i+" "+altal); break; } } }}
package com.demo1025;public class Work1 { //1:从100每次递减5输出直至5// public static void main(String[] args) {// int num = 100;// while(num>=5){// System.out.println(num);// num -= 5;// }// } //2.1至50中是7的倍数的数值之和// public static void main(String[] args) {// int i = 1;// int sum = 0;// while(i<=50){// if(i%7==0){// sum = sum+i;// }// i++;// }// System.out.println(sum);// } //3:已知操场上有一群人,人数不确定,但是肯定小于100人。// 现在将这群人按5人一组分,最后会余下4人。// 按4人一组分,最后会余下3人。// 按3人一组分,最后会余下2人。// 请问这群人总共有多少?(编程题)// public static void main(String[] args) {// int i = 1;// while(i<=100){// if(i%5==4 && i%4==3 && i%3==2){// System.out.println(i);// }// i++;// }// } //4.今有鸡兔同笼,上有三十五头,下有九十四足。问鸡兔各几只// public static void main(String[] args) {// int ji = 1;// while(ji<=35){// if(ji*2+(35-ji)*4==94){// System.out.println("鸡"+ji+"只,兔子"+(35-ji)+"只");// }// ji++;// }// } //5.2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人? public static void main(String[] args) { double count = 8; int year = 2006; while(count<20){ count = count * (1+0.25); year++; } System.out.println(year); }}