精华笔记:
- 分支结构(上):基于条件执行某语句
-
if结构:1条路
-
if…else结构:2条路
-
if…else if结构:多条路
-
switch…case结构:多条路
-
优点: 效率高、结构清晰
-
缺点:只能对整数判断相等
-
break:跳出switch
switch可以作用于的数据类型有: byte,short,char,int,String,枚举
-
-
笔记:
-
分支结构(上):基于条件执行的语句
-
if结构:1条路
1)语法: if(boolean){ 语句块--------------基于条件执行的语句 } 2)执行过程: 判断boolean的值: 若为true,则执行语句块(整个结束) 若为false,则直接结束
//1)偶数的判断: int num = 5; //带数(6,5) if(num%2==0){ System.out.println(num+"是偶数"); } System.out.println("继续执行..."); //2)满500打8折: double price = 600.0; //消费金额 带数(600.0,300.0) if(price>=500){ //满500 price *= 0.8; //打8折 } System.out.println("最终结算金额为:"+price); //3)判断成绩合法----在0和100之间(包括) double score = -54; if(score>=0 && score<=100){ //95,850,-54 System.out.println("成绩合法"); } System.out.println("继续执行...");
-
if…else结构:2条路
1)语法: if(boolean){ 语句块1 }else{ 语句块2 } 2)执行过程: 判断boolean的值: 若为true,则执行语句块1(整个结束) 若为false,则执行语句块2(整个结束) 3)说明: 语句块1和语句块2,必走其中之一-------------2选1
//1)偶数、奇数的判断: int num = 5; //带数(6,5) if(num%2==0){ System.out.println(num+"是偶数"); }else{ System.out.println(num+"是奇数"); } System.out.println("继续执行..."); //2)满500打8折,不满500打9折 double price = 300.0; //带数(600.0,300.0) if(price>=500){ price *= 0.8; }else{ price *= 0.9; } System.out.println("最终结算金额为:"+price); //3)判断成绩是否合法--0到100(包括)之间表示合法,否则为不合法 double score = 95; if(score>=0 && score<=100){ System.out.println("成绩合法"); }else{ System.out.println("成绩不合法"); }
-
-
if…else if结构:多条路
1)语法: if(boolean-1){ 语句块1 }else if(boolean-2){ 语句块2 }else if(boolean-3){ 语句块3 }else{ 语句块4 } 2)执行过程: 判断boolean-1,若为true则执行语句块1(结束),若为false则 再判断boolean-2,若为true则执行语句块2(结束),若为false则 再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束) 3)说明: 语句块1/2/3/4,必走其中之一--------多选1
package day04; import java.util.Scanner; //成绩等级判断 public class ScoreLevel { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入成绩:"); double score = scan.nextDouble(); //带数(888,-56,95,85,65,45) if(score<0 || score>100){ System.out.println("成绩不合法"); }else if(score>=90){ //合法 System.out.println("A-优秀"); }else if(score>=80){ System.out.println("B-良好"); }else if(score>=60){ System.out.println("C-中等"); }else{ System.out.println("D-不及格"); } } }
-
switch…case结构:多条路
-
优点: 效率高、结构清晰
-
缺点:只能对整数判断相等
-
break:跳出switch
switch可以作用于的数据类型有: byte,short,char,int,String,枚举
package day04; import java.util.Scanner; //命令解析程序 public class CommandBySwitch { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 4.退卡"); int command = scan.nextInt(); switch(command){ case 1: System.out.println("存款业务..."); break; case 2: System.out.println("取款业务..."); break; case 3: System.out.println("查询余额业务..."); break; case 4: System.out.println("退卡业务..."); break; default: System.out.println("输入错误"); } } }
-
-
补充:
任何复杂的程序逻辑都可以通过三种结构来实现:
- 顺序结构:从上往下逐行执行,每句必走
- 分支结构:有条件的执行某语句一次,并非每句必走
- 循环结构:有条件的执行某语句多次,并非每句必走