1、循环的语法
A、while循环语句语法
变量初始化
while(循环条件){
循环体;
修改循环变量;
}
B、do-while循环语句语法
变量初始化
do{
循环体;
修改循环变量;
}(循环条件);
C、for循环语句语法
for(变量初始化;循环条件;修改循环变量){
循环体;
}
2、各自的特点
A、while循环:先判断循环条件,再执行循环体。如果条件不成立,退出循环。
B、do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次
C、for循环:先执行变量初始化部份,再判断循环条件,然后再执行循环体,最后进行循环变量的计算。如果条件不成立,跳出循环。在循环次数确定的情况下,优先选用for循环。
3、循环结构的几个要素
变量初始化、循环体、循环条件、修改循环变量
4、跳转语句
break:结束所在循环,后续操作不执行,整个循环结束
continue:跳过本次循环,后续操作不执行,进入下一轮循环
作业:
1、输入一批整数,输入0时结束;输出其中的最大值和最小值
package com.java12_29; import java.util.Scanner; public class ZuiDa_Xiao { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int a = 0; int b = 0;//用来存取最大值 int c = 0;//用来存取最小值 while(true) { System.out.print("请输入一个整数:"); a = cxj.nextInt(); if(a==0) { break; } if(b==0){//用输入的第一个值覆盖掉原来的值,防止在全正数对比时最小为0或全负数时对比最大为0 b = a; c = a; } b = a>b?a:b;//与输入的a值作比较,取最大值 c = a<c?a:c;//与输入的a值作比较,取最小值 } System.out.println("最大的数是:"+b); System.out.println("最小的数是:"+c); } }
结果示例:
全正数:
全负数:
2、完善赌色子程序
package com.java12_29; import java.util.Scanner; //摇三个筛子,摇出来的三个数之和小于10为小,反之为大 public class ShaiZi_DaXiao { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int qian = 0; System.out.println("请输入您的本金:"); int money = cxj.nextInt(); System.out.println("请问您是否要进行开盘?y/n"); String kaipan = cxj.next(); boolean ccc = true; if(kaipan.equals("y")) { while(ccc) { if(money<1000) { System.out.println("报歉,本次消费最低1000! 是否继续充值?y/n"); kaipan = cxj.next(); if(kaipan.equals("y")) { System.out.println("请充值:"); qian = cxj.nextInt(); money +=qian; System.out.println("您当前本金有:"+money); }else { ccc=false; System.out.println("感谢您的光顾,请慢走!"); break; } } int a = (int)(Math.random()*6+1); int b = (int)(Math.random()*6+1); int c = (int)(Math.random()*6+1); System.out.println("请您下注:"); int xiazhu = cxj.nextInt(); if(xiazhu>money) { System.out.println("报歉您没有那么多钱,请重新输入:"); xiazhu = cxj.nextInt(); } System.out.println("您压大压小?"); String daxiao = cxj.next(); String sum = (a+b+c)>=10?"大":"小"; System.out.println("本期大小是:"+a+","+b+","+c+";"+sum); if(daxiao.equals(sum)) { System.out.println("是"+sum+",恭喜您压对了!"); money +=xiazhu; System.out.println("余额:"+money); System.out.println("请问您是否要继续下注?y/n"); kaipan = cxj.next(); if(kaipan.equals("y")) { ccc=true; continue; }else { System.out.println("感谢您的光顾,请慢走!"); break; } }else { System.out.println("报歉您压错了"); money -=xiazhu; System.out.println("余额:"+money); if(money>=1000) { System.out.println("请问您是否要继续下注?y/n"); kaipan = cxj.next(); if(kaipan.equals("y")) { ccc=true; continue; }else { ccc=false; System.out.println("感谢您的光顾,请慢走!"); break; } }else { System.out.println("报歉,您的本金不足1000! 是否充值?y/n"); kaipan = cxj.next(); if(kaipan.equals("y")) { System.out.println("请充值:"); qian = cxj.nextInt(); money +=qian; System.out.println("您当前本金有:"+money); }else { ccc=false; System.out.println("感谢您的光顾,请慢走!"); break; } } } } }else { System.out.println("感谢您的光顾,请慢走!"); } } }
结果示例: