一、for循环
语法格式:
For(){}
for(初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
二、while循环
语法格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
三、do…while循环
初始化语句;
do {
循环体语句;
控制条件语句;
} while(判断条件语句);
四、嵌套循环
五、break,continue,return
1. Break
break的作用是跳出当前循环块(for、while、do while)或程序块(switch)
那么在循环中的作用是什么?分别讨论单层循环和多层循环的情况
用于循环中
break; 结束本层循环。
也可以这样用(跳出标识符所指的循环):
break [flag]; 结束带有[flag]标记层到本层的所有循环
2. Continue
continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻结束循环体
结束本层的本次循环。
3. Return
结束整个程序
作业:
一、作业
1. 整理课堂笔记
2. 练习课堂案例
3. 求出1-100之间偶数和
代码如下:
public class OuHe{ public static void main(String[] args){ int i; int sum=0; for(i=1;i<=100;i++){ if(i%2==0){ sum+= i; } } System.out.println("1-100的偶数之和为:"+sum); } } |
4. 求出1-100之间奇数和
代码如下:
public class JiHe{ public static void main(String[] args){ int i; int sum=0; for(i=1;i<=100;i++){ if(i%2 != 0){ sum+= i; } } System.out.println("1-100的奇数之和为:"+sum); } } |
5. 求出1-100之间既能被3整除又能被5整除的(且要求跳过能够被10整除的数)所有数之和。
代码如下:
public class ZhengChuHe{ public static void main(String[] args){ int i; int sum=0; for(i=1;i<=100;i++){ if(i%10 != 0){ if(i%3 == 0&&i%5 == 0){ System.out.println(i); sum+= i; } } } System.out.println("1-100之间既能被3整除又能被5整除的(且要求跳过能够被10整除的数)所有数之和为"+sum); } } |
6. 求出100以内前6个3的倍数的数字之和
代码如下:
public class SanBei{ public static void main(String[] args){ int sum=0; int j = 0; for(int i=1;i <= 100;i++){ if(i%3 == 0){ sum+= i; System.out.println(i); j++; if(j==6){ break; } } } System.out.println("100以内前6个3的倍数的数字之和为"+sum); } } |
7. 模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,则提示“账号被冻结”,其他情况则提示还有多少次输入机会
效果图如下:
代码如下:
import java.util.Scanner; public class JiaoYan{ public static void main(String[] args){ int realPassword = 123456; Scanner sc = new Scanner(System.in); for(int i = 1;i<=3;i++){ System.out.println("请输入密码:"); int userIuput = sc.nextInt(); if(userIuput == realPassword){ System.out.println("随便取款吧"); }else{ if(i == 3){ System.out.println("账号已被冻结,请携带身份证前往银行办理"); return; } System.out.println("你还有"+(3-i)+"次机会\n是否继续录入密码?若继续请输入y,退出请输入其他任意键"); String userIuput2 = sc.next(); if(!userIuput2.equals("y")){ System.out.println("感谢您使用**银行系统,欢迎下次再来"); return; } } } } } |
8. 要求循环录入2个班的学员成绩,假设每个班都有3个学员,依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。
代码如下:
import java.util.Scanner; public class AVG{ public static void main(String[] args){ int sum=0; int ecellentNumber = 0; double avg; for(int i=1;i<=2;i++){ for(int j=1;j<=3;j++){ Scanner sc = new Scanner(System.in); System.out.println("请输入第"+i+"个班第"+j+"个学员的成绩"); int score = sc.nextInt(); if(score>=90){ ecellentNumber++; sum+= score; } } } avg = sum/ecellentNumber; System.out.println("超过90的人数有:"+ecellentNumber); System.out.println("超过90的这批学员的平均分为:"+avg); } } |
9,做一个剪刀石头布的对战小程序
代码如下:
import java.util.Scanner; public class guess{ public static void main(String[] args){ int robertNumber = (int)(Math.random()*3)+1; String robert=null; if(robertNumber == 1){ robert = "拳"; } if(robertNumber == 2){ robert = "剪刀"; } if(robertNumber == 3){ robert = "布"; } System.out.println("只能输入“剪刀”或“石头”或“布”\n你要出什么?"); Scanner sc = new Scanner(System.in); String me = sc.next(); System.out.println(" 你出的是"+me+"\n电脑出的是"+robert+"\n"); if(me.equals("拳")){ if(robert.equals("布")){ System.out.println("你输了"); } if(robert.equals("拳")){ System.out.println("打平"); } if(robert.equals("剪刀")){ System.out.println("你赢了"); } } if(me.equals("剪刀")){ if(robert.equals("布")){ System.out.println("你赢了"); } if(robert.equals("拳")){ System.out.println("你输了"); } if(robert.equals("剪刀")){ System.out.println("打平"); } } if(me.equals("布")){ if(robert.equals("布")){ System.out.println("打平"); } if(robert.equals("拳")){ System.out.println("你赢了"); } if(robert.equals("剪刀")){ System.out.println("你输了"); } } } } 显示如下:
|