1.顺序结构
- JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺序结构是最简单的算法结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TjnRwlcP-1648139497952)(D:\浏览器\顺序.png)]
- 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本结构算法
package com.song.struct;
//顺序结构
public class Order01 {
public static void main(String[] args) {
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
System.out.println("6");
System.out.println("7");
}
}
2.选择结构
if单选择结构
- 语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
package com.song.struct;
import java.util.Scanner;
//if单选择结构
public class IfSlect01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
//equals:判断字符串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
if双选择结构
- 语法
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xpfkIf8-1648139497954)(D:\浏览器\未命名文件.png)]
- 代码案例:
package com.song.struct;
import java.util.Scanner;
public class IfSlect02 {
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多选择结构
- 语法:
if(布尔表达式1){
//如果布尔表达式的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式的值为true执行代码
}else if(布尔表达式4){
//如果布尔表达式的值为true执行代码
}else{
//如果布尔表达式都不为true执行代码
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-InFRcG9I-1648139497954)(C:\Users\86183\Documents\Tencent Files\3140142060\FileRecv\MobileFile\1648137590191.jpg)]
- 代码案例:
package com.song.struct;
import java.util.Scanner;
public class IfSlect03 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
/*
if语句至多有一个else语句,else语句在所有的else if()语句之后。
if语句可以有若干个else if 语句,它们必须在esle语句之前。
一旦其中一个else if()语句检测为true,其他的else if以及else语句都将跳过执行
*/
System.out.println("请输入成绩:");
int score = s.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("成绩不合法");
}
}
}
嵌套的if结构
- 使用嵌套的if…else语句是合法的,也就是说你可以在另一个if或者else if语句种使用if或者else if语句。你可以像if 语句一样嵌套 else if…else
- 语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
switch多选择结构
- 多选择结构还有一个实现方式是switch case语句。
- switch case语句判断一个变量与一系列中某个值是否相等,每个值称为一个分支
switch(expression){
case value:
//语句
break;
case value:
//语句
break;
default://可选
//语句
}
- switch语句中的变量类型可以是:
- byte、short、int、enum枚举以及String类型,不能是boolea类型
- case标签必须为字符串常量或者字面量。
package com.song.struct;
import java.util.Scanner;
public class SwitchSlect01 {
public static void main(String[] args) {
//case穿透 //switch匹配一个具体的值
Scanner s = new Scanner(System.in);
System.out.println("请输入数据");
char grade = s.next().charAt(0);//输入字符的格式
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("未知等级");
break;
}
}
}
package com.song.struct;
public class SwitchSlect02 {
public static void main(String[] args) {
//字符的本质还是数字
String name = "张三";
//反编译 java --class(字节码文件) ----反编译(IDEA)
switch (name) {
case "张三" -> System.out.println("帅比");
case "小小张" -> System.out.println("还是帅比");
}
}
}