一、while 循环
while(循环条件){
循环操作语句
}
* 循环3要素: 变量的初值、变量的判断、变量的更新
* 缺少循环变量的更新,循环将一直进行下去
public class WhlieDemo { public static void main(String[] args) { int i = 1; //循环变量的初值 while(i <= 10){ //循环的条件判断 System.out.printf("第%d次 ",i); i++; //循环变量的更新 } } }
//使用循环计算1-100的累加和 public class SumDemo { public static void main(String[] args) { int i = 1; int sum = 0; while(i <= 100){ sum += i; i++; } System.out.print(sum); } }
//计算输入的整型数字中每位数字之和 public class SumDemo { public static void main(String[] args) { //得到要计算的整型数字 Scanner input = new Scanner(System.in); System.out.print("请输入一个整型数字:"); //声明相关变量 int sum = 0; int num = input.nextInt(); //循环计算累加和 while(num > 0){ sum += num % 10; //取个位加到sum num /= 10; //更新num 去掉个位 } //打印结果 System.out.print("各位数字之和:"+sum); input.close(); } }
//使用循环实现三次密码输入错误退出系统 public class SumDemo { public static void main(String[] args) { final String PASSWORD = "123456"; //定义并初始化密码 int i = 0; //控制循环次数变量 Scanner input = new Scanner(System.in); while(i < 3){ i++; System.out.print("请输入密码:"); String password = input.nextLine(); if(PASSWORD.equals(password)){ //输入正确 System.out.println("密码输入正确,欢迎登陆……"); break; }else{if(i == 3){ //错误三次 System.out.println("输入三次自动退出"); System.exit(0); }else{ //3次之前输入错误 System.out.println("输入错误你还有"+(3-i)+"次机会"); } } } input.close(); } }
//某宝双十一2015年的交易额为800亿,每年递增25% //问:按此速度哪年交易额达到2000亿? public class SumDemo { public static void main(String[] args) { int year = 2015; //年份 double money = 800; //交易额 while(money <= 2000){ money *= 1.25; year++; } System.out.printf("%d年,交易额达到2000亿,交易额为%.2f亿元",year,money); } }
二、do-while 循环
do{
循环语句
}while(循环条件);
先执行再判断 ,至少执行一次
//选择登陆 public class WhlieDemo{ public static void main(String[] args){ Scanner input = new Scanner(System.in); String answer = "y"; do{ System.out.println("是否继续? (y/n)"); answer = input.nextLine(); }while(!"y".equalsIgnoreCase(answer)); //如果不是y就 重新输入 equalsIgnoreCase为忽略大小写 System.out.println("登陆中……"); input.close(); } }
三、for 循环
基本语法
for(表达式1;表达式2;表达式3)
{
语句:
}
表达式1 为循环变量赋初值 可省略
表达式2 循环条件 可省略
表达式3 更新循环变量 可省略
分号, 用于分隔三个表达式 不可省略 for(;;) 是死循环
public class ForDemo { public static void main(String[] args) { for(int i = 0; i < 5; i++) { System.out.println("i"); } } }
//求游戏工会玩家的平均战斗力 //录入至少3位玩家的战力 public class ForDemo{ public static void main(String[] args){ Scanner input = new Scanner(System.in); int fight; //战斗力 double sum = 0; //战力和 System.out.print("请输入玩家的数量:"); int player = input.nextInt(); //输入玩家数量 for(int i = 1; i <= player; i++) { System.out.printf("请输入第%d个玩家的战斗力:",i); fight = input.nextInt(); sum += fight; } System.out.printf("%d个玩家的平均战斗力为:%.2f",player,(sum / player)); input.close(); } }
//打印月历 public class ForDemo{ public static void main(String[] args){ //1.输出星期 System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期天"); //2.输出日期 System.out.print(" "); for(int i = 1; i <= 31; i++) { System.out.print(i); //打印日期 if((i + 1) % 7 == 0){ System.out.print(" "); }else{ System.out.print(" "); } } } }
四、break 、continue
使用场合
break可用于switch结构和循环结构中
continue只能用于循环结构中
作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句。
continue跳出本次循环,进入下一次循环