-
if(结构):1条路
-
if...else结构:2条路
-
if...else if结构:多条路
-
switch...case结构:多条路
补充:
任何复杂的程序逻辑都可以通过三种结构来实现
- 顺序结构:从上往下逐行逐句的执行,每句必走
- 分支结构:有条件的执行某语句,并非每代码都走
- 循环结构:反复多次执行一段相同或相似的代码
if(结构):1条路
/*语法
if(boolean){
语句块---------基于条件执行的语句
}
执行过程:
判断boolean的值
若为true:则执行语句块(整个分支结束)
若为false:则直接结束
*/
int a=4,b=3;
if(b>3){
b++;
}
System.out.println(b);//3
if(a>3){
a++;
}
System.out.println(a);//6
System.out.println("继续执行")
if...else结构:2条路
/**
*if(boolean){
* 语句块1
* }else{
* 语句块2
* }
*
* 执行过程:
* 判断boolean的值:
* 若为true:则执行语句块1(整个分支结构结束)
* 若为false:则执行语句块2:(整个分支结构结束)
*
* 注:语句块1和2必须选择其一.
*/
int a=5;
if(a==5){
a++;
}else{
a--;
}
System.out.println(a);//6
if...else if结构:多条路,选择1条路
/*
语法:if(boolean1){
语句块1
}else if(boolean2){
语句块2
}else{
语句块3
}
执行过程:判断boolean1的值,若为true,则执行语句块1,结束分支结构,若为false
判断boolean2的值,若为true,则执行语句块2,结束分支结构,若为false
则执行语句块3的值,然后结束分支结构
注:这个也是必走其中一条分支结构
*/
int a=5
if(a<0){
a=0;
}else if(a>0){
a=1
}else{
a=2;
}
System.out.println(a);//2
既然要讲switch,我们可以说说Scanner;
Scanner接收用户输入的数据:共分三步
- 导入扫描仪
- 创建一个扫描仪
- 扫描一个用户输入的数赋值给我们的变量
package bao;
import java.util.Scanner://1.导入一个扫描仪
public class ScannerDemo{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);//2,创建一个扫描仪,加scan
System.out.println("请输入一个数字")
int num =scan.nextInt();//3.扫描一个整数并赋值给num
System.out.println("请输入一个小数")
int xnum=scan.nextDouble();//扫描一个小数并赋值给xnum
System.out.println("请输入名字")
String name=scan.nextLine();//3,扫描一个string类型的数给name
}
}
switch...case结构:多条路----多选1
- 优点:效率高,结构清晰
- 缺点:只能对整数判断相等
- break:跳出switch
package SS;
import java.util.Scanner;
public class s{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入成绩:1:90分以上;2:80分以上;3:70分以上;4:60分以上;不及格");
int score=scan.nextInt();
switch(score){
case 1:
System.out.print("等级A");
break;
case 2:
System.out.print("等级B");
break;
case 3:
System.out.print("等级C");
break;
case 4:
System.out.print("等级D");
break;
default:
System.out.print("等级E");
}
}
}