Java流程控制
顺序结构
基本结构就是顺序结构。
顺序结构是最简单的顺序结构。
语句与语句之间,框与框之间是按从上到下的顺序来进行的。它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
实例:
package com.Howard.struct;
import java.util.Scanner;
public class IfDemo1 {
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();
}
}
结果:
请输入内容:
1
End
请输入内容:
Hello
Hello
End
判断成立则进行下一步,否则直接跳过。
if双选择结构
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
实例:
package com.Howard.struct;
import java.util.Scanner;
public class IfDemo2 {
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();
}
}
结果:
请输入成绩:
80
及格
请输入成绩:
50
不及格
if多选择结构
语法:
if(布尔表达式 1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式的值都不为true执行代码
}
实例:
package com.Howard.struct;
import java.util.Scanner;
public class IfDemo3 {
public static void main(String[] args) {
//考试分数大于60分就是及格,小于60分就不及格
Scanner scanner = new Scanner(System.in);
/*
if语句至多有1个else语句,else语句在所有的else if语句之后。
if语句可以有若干个else if语句,他们必须在else语句之前。
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
*/
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();
}
}
结果:
请输入成绩:90A级 请输入成绩:120成绩不合法
嵌套的if结构
语法:
if(布尔表达式 1){ 如果布尔表达式1的值为true执行代码 if(布尔表达式 2){ 如果布尔表达式2的值为true执行代码 }}
实例:
package com.Howard.struct;import java.util.Scanner;public class IfDemo4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入分数"); int score = scanner.nextInt(); if(score>0 && score<=9){ if(score>5 && score<=9){ System.out.println("高级"); }else{ System.out.println("低级"); } }else{ System.out.println("不成立"); } scanner.close(); }}
结果:
请输入分数5低级 请输入分数9高级 请输入分数120不成立
switch多选择结构
多选阿泽结构还有一个实现方式就是switch case语句。
switch case语句判断一个变量与一系列值某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
- byte、short、int或者char
- 从Java SE 7 开始
- switch支持字符串String类型
- 同是case标签必须为字符串常量或者字面量
语法:
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default: //可选 //语句}
实例:
package com.Howard.struct;public class SwitchDemo1 { 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("未知等级"); } }}
结果:
及格