Java流程控制03:顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺序结构是最简单的算法结构。
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
package com.epfox.struct;
public class sequence {
public static void main(String[] args) {
System.out.println("Hello,World!1");
System.out.println("Hello,World!2");
System.out.println("Hello,World!3");
System.out.println("Hello,World!4");
System.out.println("Hello,World!5");
}
}
java流程控制04:if选择结构
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
-
我们很多时候需要求判断要给东西是否可行,然后我们采取执行,这样一个过程在程序中用if语句来表示
-
语法:
if(布尔表达式){ //如果布尔表达式为true讲执行的语句 }
package com.epfox.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(); if(s.equals("hello")){ System.out.println("hello"); } System.out.println("End"); scanner.close(); } }
if双选择结构
-
那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有个if-else结构。
-
语法:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
package com.epfox.struct; import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { 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(); } }
if多选择结构
-
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B…等等,在生活中我们很多时候的选择也不仅仅只是两个,所以我们需要一个多选择结构来处理这类问题!
-
语法:
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
package com.epfox.struct; import java.util.Scanner; public class IfDemo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩"); int score = scanner.nextInt(); if (score > 90 && score <= 100) { System.out.println("A"); } else if (score > 80 && score <= 90) { System.out.println("B"); } else if (score > 70 && score <= 80) { System.out.println("C"); }else if (score >= 60 && score <= 70) { System.out.println("D"); }else if(score < 60 && score >=0 ){ System.out.println("不及格"); }else{ System.out.println("输入的成绩不合法"); } scanner.close(); } }
嵌套的if结构
-
使用嵌套的if…else语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 esle if 语句。你可以像 if 语句一样嵌套 else if…else。
-
语法:
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }
java流程控制05: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.epfox.struct; public class SwitchDemo01 { public static void main(String[] args) { //case 穿透 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("未知成绩"); } } }
package com.epfox.struct; public class SwitchDemo02 { public static void main(String[] args) { String name = "epfox"; switch (name){ case "epfox": System.out.println("epfox"); break; case "frozen": System.out.println("frozen"); break; default: System.out.println("undefind"); break; } } }
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.epfox.struct; public class SwitchDemo02 { public SwitchDemo02() { } public static void main(String[] args) { String name = "epfox"; byte var3 = -1; switch(name.hashCode()) { case -1266085216: if (name.equals("frozen")) { var3 = 1; } break; case 96713796: if (name.equals("epfox")) { var3 = 0; } } switch(var3) { case 0: System.out.println("epfox"); break; case 1: System.out.println("frozen"); break; default: System.out.println("undefind"); } } }