Java流程控制
顺序结构
- Java的基本结构就是顺序结构
- 除非特别指明,否则就按照从上到下的顺序一句一句执行
- 顺序结构是任何一个算法都离不开的基本算法结构
选择结构
if语句
- if语句至多有一个else语句,else语句在所有else if语句之后
- if语句可以有若干个else if语句,else if语句必须在else语句之前
- 一旦有一个else if语句执行为true,接下来的else if以及else语句都将跳过执行
if单选择结构
package com.ezra.flow;
import com.ezra.base.HelloWorld;
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();
if (s.equals("Hello")){
System.out.println("Hello");
}
System.out.println("End");
scanner.close();
}
}
if双选择结构
package com.ezra.flow;
import java.util.Scanner;
public class ElseDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
double x = scanner.nextDouble();
if (x>=60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
scanner.close();
}
}
if多选择结构
package com.ezra.flow;
import java.util.Scanner;
public class ElseIfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
double x = scanner.nextDouble();
if (x<=100 && x>=90){
System.out.println("A");
}else if (x<90 && x>=80){
System.out.println("B");
}else if (x<80 && x>=70){
System.out.println("C");
}else if (x<70 && x>=60){
System.out.println("D");
}else if (x<60){
System.out.println("E");
}else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
嵌套的if结构
package com.ezra.flow;
import java.util.Scanner;
public class IfIfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Scanner scanner1 = new Scanner(System.in);
int num01=0;
int num02=0;
System.out.println("请输入第一个数:");
num01 = scanner.nextInt();
System.out.println("请输入第二个数:");
num02 = scanner1.nextInt();
if (num01!=num02){
if (num01>num02){
System.out.println("第一个数大于第二个数");
}else {
System.out.println("第一个数小于第二个数");
}
}else{
System.out.println("两个数相等");
}
scanner.close();
scanner1.close();
}
}
switch语句
- switch语句变量类型可以是byte,short,int,char
- 从Java SE 7开始,switch支持字符串String类型
- case标签必须为字符串常量或者字面量
switch多选择结构
package com.ezra.flow;
import java.util.Scanner;
public class SwitchDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的等级【大小写敏感】");
String grade;
grade = scanner.nextLine();
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;
default:
System.out.println("未知等级,请检查您输入的等级");
}
scanner.close();
}
}