执行结构概述
1996 年,计算机科学家 Bohm 和 Jacopini 证明了:任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本结构组合而成。它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环。
顺序结构
顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作
分支结构
分支结构又被称为选择结构,根据条件成立与否来执行操作
循环结构
循环结构是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止。
分支结构
一、if条件语句
if 条件结构是根据条件判断之后再做处理
if(条件语句){…}
if (条件语句){…}else{…}
if (条件语句){…}else if(条件语句){…}
if (条件语句){…}else if(条件语句){…}else{…}
例子:用户输入学生成绩,判断成绩是否及格,判断条件为 优良: > 90、良好:81-90、中:60-80、不及格:<60
1 import java.util.Scanner; 2 public class Demo4{ 3 public static void main(String[] args){ 4 Scanner input = new Scanner(System.in); 5 System.out.println("请输入成绩:"); 6 int score s= input.nextInt(); // 91 优 81-90 良 60-80 中 60 差 7 if(score >= 91){ 8 System.out.println("您的成绩是优秀!继续加油哦!"); 9 }else if(score >= 81 & score < 91){ 10 System.out.println("您的成绩是良好!还要努力哦!"); 11 }else if(score >= 60 & score <= 80){ 12 System.out.println("您的成绩是中等!还要加倍努力哦!"); 13 }else{ 14 System.out.println("您的成绩是差!准备补考费吧!"); 15 } 16 } 17 }
二、switch语句
switch(表达式){
case 取值 1: 语句块 1;break;
case 取值 n: 语句块 n;break;
default: 语句块 n+1;break;
}
switch 语句有关规则
表达式的返回值必须是下述几种类型之一:int, byte, char, short,String;
case 子句中的取值必须是常量,且所有 case 子句中的取值应是不同的;
default 子句是可选的;
break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果 case 后面没有写 break 则直接往下面执行!
Case 后面的执行体可写{ }也可以不写{ }
例题:多分支月份输出天数(充分利用语句特性)
1 import java.util.Scanner; 2 public class Demo6{ 3 public static void main(String[] args){ 4 Scanner input = new Scanner(System.in); 5 System.out.println("请输入月份:"); 6 int month = input.nextInt(); 7 switch(month){ 8 case 1: 9 case 3: 10 case 5: 11 case 7: 12 case 8: 13 case 10: 14 case 12: 15 System.out.println(month + "月共有 31 天"); 16 break; 17 case 4: 18 case 6: 19 case 9: 20 case 11: 21 System.out.println(month + "月共有 30 天"); 22 break; 23 case 2: 24 System.out.println(month + "月共有 28 天"); 25 break; 26 default : 27 System.out.println("友情提示,您输入有误!"); 28 break; 29 } 30 } 31 }
循环结构
循环结构功能
在循环条件满足的情况下,反复执行特定代码
循环结构分类
for 循环
while 循环
do/while 循环
while循环
符合条件,循环继续执行;否则,循环退出
特点:先判断,再执行
语法:
while(条件表达式){
//语句块;
}
实现示例:录入班级人数和学员成绩,计算班级学员的平均成绩
使用 while 循环的步骤:
1、分析循环条件和循环操作
2、套用 while 语法写出代码
3、检查循环是否能够退出
1 int sum = 0; 2 int score = 0; 3 int avg = 0; 4 int studentNum = 20; 5 while(i<=studentNum){ 6 System.out.print("请输入第" + i + "位同学的成绩:"); 7 score = input.nextInt(); 8 sum = sum + score; i++; 9 } 10 avg = sum / stuNum ;
do...while循环
先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出
特点:先执行,再判断
语法:
do {
循环操作
}while ( 条件表达式 );
while 循环和 do-while 循环的区别?
while:先判断条件,如果条件满足,再执行循环操作
do while:先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。
for循环
语法:
for(初始化参数;判断条件 ;更新循环变量){
循环体;
}
应用举例
1 public class ForLoop { 2 public static void main(String [] args){ 3 int result = 0; 4 for(int i=1; i<=100; i++) { 5 result += i; 6 } 7 System.out.println("result=" + result); 8 } 9 }