1.顺序结构
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。
2.选择结构
2.1-if单选择结构
在写程序时,有时候我们需要去判断一个东西是否可行,然后程序才去执行,这样一个过程在程序中用if语句来表示。
语法:
if(布尔表达式){
//如果布尔表达式为true则执行的语句
}
单if语句流程图:
2.2-if双选择结构
双分支if语句是指由某个条件的两种取值(真或假)构成两个分支,任何时候都会执行其中一个分支,这便形成了“二选一”的结构,双分支if语句。
语句:
if(布尔表达式){
//语句1(如果布尔表达式为true则执行的语句1)
}else{
//语句2(如果布尔表达式为false则执行的语句2)
}
双if语句流程图:
2.3-嵌套的if结构
2.3.1-初识嵌套if结构
嵌套if语句结构可以解决多分支
语法:
if else嵌套:
if (布尔表达式 1) {
if (布尔表达式2) {
//代码块1
} else {
//代码块2
}
} else {
//代码块3
}
if elseif语句:
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
if else语句流程图:
2.3.2-嵌套if结构代码详解
public class Test {
public static void main(String args[]){
int x=30;
if (x<0 || x > 100){
System.out.println("您的分数不符合规范");
}else {
// 这个else 语句里面 a的范围属于 0-100
if (90 < x) {
System.out.print("优秀");
} else if (80 < x) {
System.out.print("中等");
} else if (70 < x) {
System.out.print("良");
} else if (60 < x) {
System.out.print("及格");
} else if (x < 60) {
System.out.print("不及格");
}
}
}
}
输出结果:
注意事项:
if后的括号不能省略,括号里表达式的值最终必须返回的是布尔值。
如果条件体内只有一条语句需要执行,那么if后面的大括号可以省略,不推荐。
对于给定的if,else语句是可选的,else if 语句也是可选的。
else和else if同时出现时,必须以else来结尾。
如果有多条else if语句同时出现,那么如果有一条else if语句的表达式测试成功,那就不会执行其他所有的else if和else分支。
如果出现多个if,只有一个else的情形,else子句归属于最内层的if语句(就近原则)。
2.4 switch多选择结构
2.4.1-初识switch语句
多选择语句的另一种实现方式就是switch语句。
switch case语句判断一个变量与一系列值中某个值是否相等,每一个值都是一个分支。——多选择结构。
一个switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句,switch 语句终止。
case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个),default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
switch语句中的变量类型可以时:
byte,short,int或者char,String类型。
case标签必须是字符串常量。
2.4.2-switch语句代码详解
2.4.2.1-switch语句代码格式:
2.4.2.2-switch语句练习:通过用户交互,使用switch语句来实现等级判断 。
import java.util.Scanner;//导包
//通过Scanner 用户交互接收键盘,在使用switch语句判断等级。
public class Switch {
public static void main(String[] args) {
//接收键盘
Scanner scanner = new Scanner(System.in);
System.out.println("请在A-E之间选择:");
String str = scanner.next();
switch (str) {
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的程序:
不加break的程序:
default的作用:
注意事项:
通过实验可证,使用switch语句时break为必须。