while循環(huán)結(jié)構(gòu)
- while(循環(huán)條件)
{
循環(huán)操作
}
練習(xí)題
-
老師每天檢查張三的學(xué)習(xí)任務(wù)是否合格,如果不合格晴楔,則繼續(xù)進(jìn)行厘贼。老師給張三安排的每天的學(xué)習(xí)任務(wù)為:上午閱讀教材,學(xué)習(xí)理論部分葵第,下午上機(jī)編程绘迁,掌握代碼部分。
String input = "n";
while(input.equals("n"))
{
System.out.println("合格了嗎羹幸?(y/n):");
Scanner scanner = new Scanner(System.in);
//接收用戶輸入
input = scanner.next();
if(input.equals("n"))//說明不合格
{
System.out.println("商務(wù)閱讀教材脊髓!下午上級編程!");
}
}
System.out.println("完成學(xué)習(xí)任務(wù)栅受!");
do-while循環(huán)結(jié)構(gòu)
- do
{
循環(huán)操作
}while(循環(huán)條件);
for循環(huán)結(jié)構(gòu)
- for(1參數(shù)初始化将硝;2條件判斷;4更新循環(huán)變量)
{
3循環(huán)操作屏镊;
}
練習(xí)題
-
循環(huán)輸入某同學(xué)高考考試的5門課成績依疼,并計(jì)算平均分
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("輸入學(xué)生姓名");
String name = scanner.next();
int grade = 0;
int total = 0;
for(int i = 1; i <= 5; i++)
{
System.out.println("請輸入5門功課中第"+i+"門課的成績");
score = scanner.nextInt();
total = total + grade;
}
System.out.println(name+"的平均分是"+total/5);
}
}
-
輸出如圖所示加法表
public class lingshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入一個值");
int num = scanner.nextInt();//6
int j = num;
for(int i = 0; i <= num; i++)
{
System.out.println(i+"+"+j+"="+num);
j--;
}
}
}
break
- 用于do-while、while而芥、for中時(shí)律罢,可跳出循環(huán)而執(zhí)行循環(huán)后面的語句
練習(xí)題
-
循環(huán)錄入某學(xué)生5門課的成績并計(jì)算平均分,如果某分?jǐn)?shù)錄入為負(fù)棍丐,停止錄入并提示錄入錯誤
--分析
循環(huán)錄入成績误辑,判斷錄入正確性:錄入錯誤,使用break語句立刻跳出循環(huán)歌逢;否則巾钉,累加求和
1.自己的方法
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入學(xué)生姓名:");
String name = scanner.next();
int sum = 0;
int grade = 0;
for (int i = 1; i <= 5;i++)
{
System.out.print("請輸入第" + i + "門課的成績:");
grade = scanner.nextInt();
if (grade < 0 || grade > 100) {
System.out.println("抱歉,分?jǐn)?shù)錄入錯誤秘案,請重新輸入砰苍!");
break;
}
sum += grade;
}
if (grade >= 0 && grade <= 100){
System.out.print(name + "平均成績是" + sum/5);
}
else {
}
}
}
2.老師的方法(運(yùn)用boolean)
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入學(xué)生姓名:");
String name = scanner.next();
int sum = 0;
int grade = 0;
boolean error = false;//假設(shè)用戶輸入沒有錯誤
for (int i = 1; i <= 5;i++)
{
System.out.print("請輸入第" + i + "門課的成績:");
grade = scanner.nextInt();
if (grade < 0 || grade > 100) {
error = true;
break;
}
sum += grade;
}
if (error == false){
System.out.print(name + "平均成績是" + sum/5);
}
else {
System.out.println("錄入有錯誤潦匈,請重新輸入");
}
}
}
- 1~10之間的整數(shù)相加,得到累加值大于20的當(dāng)前數(shù)
public class linshi {
public static void main(String[] args) {
int sum = 0;
int i = 1;
for ( i = 1; i<=10;i++ )
{
sum += i;
if (sum > 20)
{
break;
}
}
System.out.println(i);
}
}
continue
- 跳過循環(huán)體中剩余的語句而執(zhí)行下一次循環(huán)
練習(xí)題
-
循環(huán)錄入Java課的學(xué)生成績赚导,統(tǒng)計(jì)分?jǐn)?shù)大于等于80分的學(xué)生比例
--分析:
1.通過循環(huán)茬缩,獲得分?jǐn)?shù)大于等于80分的學(xué)生人數(shù)num
2.判斷:如果成績<80,不執(zhí)行num++吼旧,直接進(jìn)入下一次循環(huán)
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System .in);
System.out.print("請輸入班級總?cè)藬?shù):");
int number = scanner.nextInt();
int count = 0;
for (int i = 1;i <= number;i++)
{
System.out.print("請輸入第" + i + "位學(xué)生的成績:");
int grade = scanner.nextInt();
if (grade < 80)
{
continue;
}
else
{
count++;
}
}
System.out.println("80分以上的學(xué)生人數(shù)是:" + count);
System.out.println("80分以上的學(xué)生所占的比例是:" + (double)count/number);
}
}
- 求1~10之間的所有偶數(shù)和
--分析:
1.使用循環(huán)進(jìn)行累加凰锡,循環(huán)的范圍是從1至10
2.判斷當(dāng)前數(shù)是否為偶數(shù)
3.如果為奇數(shù)跳過,執(zhí)行下一個循環(huán)黍少,如果為偶數(shù)寡夹,進(jìn)行累加
public class linshi {
public static void main(String[] args) {
int sum = 0;
for (int i = 1;i <= 10;i++)
{
if(i%2 == 1)
{
continue;
}
else
{
sum += i;
}
}
System.out.println("偶數(shù)和:" + sum);
}
}
break和continue小結(jié)
- break語句終止某個循環(huán),程序跳轉(zhuǎn)到循環(huán)塊外的下一條語句
- continue跳出本次循環(huán)厂置,進(jìn)入下一次循環(huán)