三大流程控制语句:
顺序:
从上往下依次执行
选择:
根据条件执行对应的内容
if结构;if else结构;多重if;嵌套if;switch结构
循环:
循环执行,反复执行
while; do while; for
循环嵌套
break语句
continue语句
==================分割线=======================
1. 多重if结构
package com.vipkid.flow; import java.util.Scanner; public class ScoreAssess { public static void main(String[] args) { /* 成绩大于等于90,输出优 成绩大于等于80且小于90,输出良 成绩大于等于60且小于80,输出中 成绩小于60,输出不及格 */ System.out.println("请输入成绩:"); Scanner sc = new Scanner(System.in); int score = sc.nextInt(); if(score >= 90){ System.out.println("优"); } else if(score>=80){ System.out.println("良"); } else if(score>=60){ System.out.println("中"); } else{ System.out.println("不及格"); } } }
2. 嵌套if结构
package com.vipkid.flow; public class IntCompare { public static void main(String[] args) { //比较两个整数的大小,并输出 int x=10,y=90; if(x==y){ System.out.println("x等于y"); }else{ if(x>y){ System.out.println("x>y"); }else{ System.out.println("x<y"); } } } }
3. switch
if结构:判断条件是布尔类型,判断条件是一个范围
switch结构:判断条件是常量值
(1)switch的表达式为int类型
package com.vip.flow; import java.util.Scanner; public class WeekDemo1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入1-7之间的数字:"); int n = sc.nextInt(); switch (n){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("您输入的数字不正确,超出了1-7的范围"); } } }
(2)switch表达式为String类型
package com.vip.flow; import java.util.Scanner; public class WeekDemo2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入表示星期的英文单词:"); String week = sc.next(); week = week.toUpperCase(); //把输入的week变成大写 switch (week) { case "MONDAY": System.out.println("星期一"); break; case "TUESDAY": System.out.println("星期二"); break; case "WEDNESDAY": System.out.println("星期三"); break; case "THURSDAY": System.out.println("星期四"); break; case "FRIDAY": System.out.println("星期五"); break; case "SATURDAY": System.out.println("星期六"); break; case "SUNDAY": System.out.println("星期日"); break; default: System.out.println("单词输入错误"); } } }
4. while循环
package com.vip.flow; public class PlusDemo { public static void main(String[] args) { //求1-5的累加和 1+2+3+4+5 int n = 1; int sum = 0; while(n<=5){ sum = sum + n; n++; } System.out.println("1——5的累加和为:"+sum); } }
代码分析如下图:
又一个例题:
package com.vip.flow; public class CharDemo { public static void main(String[] args) { //循环输出26个小写英文字母,分两行 char ch = ‘a‘; int count = 1; //控制换行 while(ch <=‘z‘){ System.out.print(ch+" "); if(count%13==0){ System.out.println(); } count++; ch++; } } }
5.do while循环
do while循环至少执行一次;
循环条件后的分号不能丢;
使用do while实现1——5的累加和例题
package com.vip.flow; public class DoWhileDemo { public static void main(String[] args) { //求1到5的累加和 int n =1; int sum = 0; do{ sum = sum + n; n++; } while (n<=5); System.out.println("1到5的累加和为:"+sum); } }
猜数游戏:要求猜一个介于1到10之间的数字,然后将猜测的值与实际值进行比较,并给出提示,以便能更接近实际值,直到猜中为止。
package com.vip.flow; import java.util.Scanner; public class GuessInt { public static void main(String[] args) { //设置一个要猜的随机数 int number = (int)(Math.random()*10+1); //Math.random()得到的是[0,1)之间的double数 *10+1后未[1,11)之间的数,大于等于1,小于11 System.out.println("随机数number="+number); int guess; System.out.println("猜一个1-10之间的整数"); do{ System.out.println("请输入您猜测的数:"); Scanner sc = new Scanner(System.in); guess = sc.nextInt(); if(guess>number){ System.out.println("猜测太大"); } else if(guess<number){ System.out.println("猜测太小"); } } while (guess != number); System.out.println("恭喜你猜对了,答案为:"+number); } }
6.for循环
使用for循环求1-5的累加和
package com.vip.flow; public class ForDemo { public static void main(String[] args) { int sum=0; for(int n=1;n<=5;n++){ sum = sum + n ; } System.out.println("1-5的累加和为:"+sum); } }
循环输入数字1-10并输出,如果输入0则跳出(break??)循环
package com.vip.flow; import java.util.Scanner; public class NumInput { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n; while(true){ n = sc.nextInt(); if(n==0){break;} System.out.println("n="+n); } } }
7.嵌套循环
使用嵌套的while循环,输入10行10列星号
package com.vip.flow; public class StarDemo1 { public static void main(String[] args) { int m = 1; //外重循环变量 // int n = 1; //内重循环变量 System.out.println("输出10行10列星号"); //外循环控制输出几行 while(m<=10){ //内循环控制每行输入几个星号 int n = 1; //内重循环变量 while (n<=10){ System.out.print("*"+" "); n++; } System.out.println(); m++; } } }
求1!+2!+3!+……+10! 求阶乘累加之和
package com.vip.flow; public class Jiecheng { public static void main(String[] args) { int sum=0; for(int i=1;i<=10;i++){ int s = 1; for(int j=1;j<=i;j++){ s = s*j; //s存放阶乘计算的结果 } sum = sum + s; } System.out.println("1!+2!+3!+……+10!阶乘之和为:"+sum); } }
8.break语句
break语句可以跳出当前循环结构;
执行完break语句后,循环体中位于break语句后面的语句就不会被执行;
多重循环中,break只向外跳一层。
9.continue语句
continue只能用在循环里;
continue语句可以结束当前循环的执行,但是要继续下一次循环的执行
原文:https://www.cnblogs.com/mpp0905/p/11521696.html