Java控制流程
1. Java的顺序结构
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
2. 选择结构
2.1 单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
语法如下:
if (布尔表达式){
//如果布尔表达式为true将执行的语句
}
if单选择结构代码示例:
package com.Gao.struct;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//equals :判断字符串是否相等
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
2.2 if双选择结构
语法:
if (布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
** if双选择结构代码示例**
package com.Gao.struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//成绩大于60分及格,小于60分不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
scanner.close();
}
}
2.3 if 多选择结构
语法:
if (布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if (布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if (布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
** if 多选择结构代码实例
package com.Gao.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
//成绩大于60分及格,小于60分不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score==100){
System.out.println("恭喜满分");
}else if (score<100 && score>=90){
System.out.println("A级");
}else if (score<90 && score>=80){
System.out.println("B级");
}else if (score<80 && score>=70){
System.out.println("C级");
}else if (score<70 && score>=60){
System.out.println("D级");
}else if (score<60 && score>=0){
System.out.println("不及格");
}else {
System.out.println("成绩输入错误");
}
scanner.close();
}
}
** 注意事项**
- if 语句至多有1个else语句,else语句在所有的else if 语句之后。
- if 语句可以有若干个else if 语句,它们必须在else 语句之前。
- 一其中一个else if 语句检测为true,其他的else if 以及else 语句都将跳过执行
2.4 嵌套的if结构
使用嵌套的if…else语句是合法的。也就是说你可以在另一个if 或者else if 语句中使用if 或者else if 语句。你可以像if 语句一样嵌套 else if … else。
语法:
if (布尔表达式 1){
//如果布尔表达式 1的值为true 执行代码
if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}
}
** 嵌套的if结构代码示例**
package com.Gao.struct;
import java.util.Scanner;
public class IfDemo04 {
public static void main(String[] args) {
//成绩大于60分及格,小于60分不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score>=60){
if (score==100){
System.out.println("恭喜满分");
}else if (score<100 && score>=90){
System.out.println("A级");
}else if (score<90 && score>=80){
System.out.println("B级");
}else if (score<80 && score>=70){
System.out.println("C级");
}else if (score<70 && score>=60){
System.out.println("D级");
}
} else if (score<60 && score>=0){
System.out.println("不及格");
}else {
System.out.println("成绩输入错误");
}
scanner.close();
}
}
2.5 switch多选择结构
多选择结构还有一个实现方式就是switch 语句。
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch 语句中的变量类型可以是:
* byte、short、int或者char
* 从 Java SE7开始,switch支持字符串String类型了
* 同时case标签必须为字符串常量或字面量。
语法:
switch(expression){
case value :
//语句
break;//可选
case value :
//语句
break;//可选
//可以有任意数量的case语句
default : //可选
//语句
}
** switch多选择结构代码示例**
package com.Gao.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
// case 穿透 switch匹配一个具体的值
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;//可选
case 'B':
System.out.println("良好");
break;//可选
case 'C':
System.out.println("及格");
break;//可选
case 'D':
System.out.println("再接再厉");
break;//可选
case 'E':
System.out.println("挂科");
break;//可选
default:
System.out.println("未知等级");
}
}
}