Day3:选择结构
选择结构
java提供了if控制语句和switch语句来实现选择结构。
一、流程控制结构
顺序结构:顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何的判断和跳转。
选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可细分为单分支结构(基本的if选择结构)、双分支结构(if-else选择结构)和多分枝结构(多重if选择结构)。java提供了if控制语句、switch语句来实现选择结构。
循环结构:循环结构是根据判断条件来重复性地执行某段代码。java提供了while语句、do while语句、for语句来实现循环结构。
二、选择结构
1、if控制语句
if控制语句共有3种不同的形式,细分为单分支结构(基本的if选择结构)、双分支结构(if else选择结构)和多分枝结构(多重if选择结构)。
(1)使用if语句实现单分支处理
if (表达式){ 语句 }
if是java关键字。
表达式时布尔类型的表达式,其结果为true或false。
if语句的执行步骤如下:
1)对表达式的结果进行判断。
2)如果表达式的结果为真,则执行该语句。
3)如果表达式的结果为假,则跳过该语句。
//张浩java成绩大于90分,老师奖励给他iphone6s public class Review1 { public static void main(String[] args) { int score=98; /* double score=90.5;//小精度值不要太多,正常两位到四位*/ if (score>=90){ System.out.println("老师奖励给他iphone6s"); } } }
(2)使用if-else语句实现双分支处理
if(表达式){ 语句1 }else{ 语句2 }
当表达式为真时,执行语句1;表达式为假时,执行else分支的语句2。
if-else语句的执行步骤如下:
1)对表达式的结果进行判断。
2)如果表达式的结果为true,则执行语句1。
3)如果表达式的结果为false,则执行语句2。
// 张浩java成绩大于90分,老师奖励给,小于90分时受到惩罚。 int score=input.nextInt(); if (score>90) { System.out.println("老师奖励"); }else{ System.out.println("惩罚蹲马步一天"); }
(3)使用多分支if语句实现多分支处理
当有多个条件判断时,需要使用多分支if语句解决。
if(表达式){ 语句1 }else if (表达式2){ 语句2 }else{ 语句3 }
其中else if的语句可以有多个。
多分支if语句的执行步骤如下:
1)对表达式的结果进行判断。
2) 如果表达式的结果为true,则执行语句1;否则判断表达式2的值。
3)如果表达式的结果为false,则执行语句2;否则执行语句3。
// 张浩java成绩大于90分为优秀,80-90分为良好,60-80分为及格 ,60分以下为不及格 int score=95; /* double score=90.5;//小精度值不要太多,正常两位到四位*/ if (score>=90){ System.out.println("优秀"); } else if (score>=80&&score<90){ System.out.println("良好"); } else if (score>=60&&score<80){ System.out.println("及格");} else { System.out.println("不及格");}
2、嵌套if控制语句
在if控制语句中又包含一个或多个if控制语句的称为嵌套if控制语句。嵌套if控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性。
if(表达式){ 语句1 }else { 语句2 }else { if (表达式3){ 语句3 }else{ 语句4 } }
嵌套if控制语句的执行步骤如下:
1)对表达式的结果进行判断。
2) 如果表达式1的结果为true,再对表达式2的结果进行判断。如果表达式2的结果为true,则执行语句1;否则执行语句2。
3)如果表达式1的结果为false,对表达式3的结果进行判断。如果表达式3的结果为true,则执行语句3;否则执行语句4。
// 学校举行运动会,百米赛跑进入10秒内的学生有资格进行决赛,根据性别分别进入男子组和女子组 public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("请输入百米赛跑成绩"); double second=sc.nextDouble(); if(second<10){ System.out.println("恭喜晋级"); System.out.println("请输入性别"); String gender=sc.next(); if (gender.equals("男")){ System.out.println("您进入到男子组"); }else System.out.println("您进入到女子组");} else { System.out.println("您没能进入决赛"); } System.out.println("本次比赛结束"); }
3、switch语句
java还提供了switch语句,用于实现多分支结构。
switch (表达式1){ case 常量1: 语句; break; case 常量1: 语句; break; ...... default: 语句; break; }
switch、case、break、default是java关键字。
JDK1.7后,switch后的表达式可以是int,short,byte,char,枚举类型,string类型表达式。
case用于与表达式进行匹配。
break用于终止后续语句的执行。
default是可选的,当其他条件都不匹配时执行default。
switch语句的执行步骤如下:
(1)计算switch后表达式的值。
(2)将计算结果从上至下依次与case后的常量值比较。
(3)如果相等就执行该常量后的代码块,遇到break语句就结束。
(4)如果与任何一个case后的常量都不匹配,就执行default中的语句。
//以出生年份末位两数来作为判断生肖的依据。 public static void main(String[] args) { Scanner sc =new Scanner(System.in); System.out.println("请输入您出生年份后两位"); byte year=sc.nextByte(); switch (year){ case 95: System.out.println("猪年"); break; case 96: System.out.println("鼠年"); break; case 97: System.out.println("牛年"); break; case 98: System.out.println("虎年"); break; default: System.out.println("大乱斗"); } }
附:三元表达式
条件?条件的结果为true时整个表达式的值 :条件的结果为false时整个表达时值
boolean?true:false
// 判断一个数是否为偶数 int num=sc.nextInt(); String result=num%2==0?"偶数":"奇数"; System.out.println(result);
- Java学习记录 Day3(选择结构、循环结构)
- c语言学习笔记之顺序,选择,循环结构
- Java流程控制系列02:顺序结构-选择结构
- 第3章 最简单的c程序设计——顺序程序设计与第4章 选择结构程序设计
- 第四章——选择结构程序设计
- 五、选择结构
- 视频13--学习心得--循环的嵌套(循环与循环,循环与选择结构)
- matlab从入门到精通(三)选择结构与循环结构
- Python学习之五【程序控制结构-选择结构&&循环结构】
- 第四章 选择结构程序设计2
- 第四章 选择结构程序设计
- c语言谭浩强课本第5章(选择结构程序设计)pps课件
- 第四章选择结构程序设计
- 第四节 选择结构和循环结构
- ******************** 选择结构-if ********************
- 第四章选择结构程序设计
- 第9节选择结构-if语句-switch语句
- 如何选择数据结构
- 流程控制语句--选择结构
- 选择结构