java选择结构switch_Java选择结构(if、switch)

我们有时会面临人生的分岔路口,生活中也会有许多大大小小的选择。

程序也是为了提高人们生活质量的,不可能脱离实际生活,所以Java程序中也必须得实现选择结构。

当我们的代码按照书写顺序一句一句执行的时候,此时则为顺序结构。像我们书写的多条输出语句,会一句一句从上到下的按照顺序执行。

选择结构是在具备某种条件下就做什么选择,在我们生活中也频繁使用:如果我考了100分,我妈妈就会给我奖励;如果今天不下雨,我就去公园玩......没错,Java就是使用如果,即if

1.if

单if语句

语法:if(条件:布尔类型的数据,可以是表达式,也可以用逻辑运算符){ //如果条件为 true,执行语句 };

注意:if(a!=0)和if(a)是等价的

流程图:

538fb2de4ce0efe17b86e9d8b97c3037.png

如果我考试考了100分,那么妈妈就会给我奖励一个玩具

package com.dh.control;

public class IfDemo01 {

public static void main(String[] args) {

//if

int score = 100;

if(score == 100){

System.out.println("太棒啦!奖励一个小汽车!");

}

}

}

9748d87452e875239f38fd85b19d1904.png

if...else语句

语法::if(条件表达式){ //满足条件执行的语句 } else { //不满足条件的执行语句 } ;

流程图:

cc24b8245f5c46a46acad98aa31574e5.png

如果我考试考了100分,那么妈妈就会给我奖励一个玩具,否则,就没有奖励了

package com.dh.control;

public class IfDemo01 {

public static void main(String[] args) {

//if...else

int score = 99;

if(score == 100){

System.out.println("太棒啦!奖励一个小汽车!");

}else{

System.out.println("很遗憾,下次再接再厉!");

}

}

}

03849b50636a91b726320c519ea208e9.png

if...else if...else(else可选)

语法:if(条件表达式){ //满足条件 1 的执行语句 } else if(条件表达式){ //可以有多个 else if 块 //满足条件 2 的执行语句 } else { //不满足条件的执行语句 } ;

流程图:

acd2fcb100d7b3cc54ee2a16b07bffc7.png

99分都没有奖励的话,就太让人沮丧了,和妈妈重新商量了一下,妈妈承诺,如果我考试考了100分,给我奖励一个玩具,如果我考了90分以上,就给我奖励一个冰淇淋,否则,就没有奖励了

package com.dh.control;

public class IfDemo01 {

public static void main(String[] args) {

int score = 99;

if(score == 100){

System.out.println("太棒啦!奖励一个小汽车!");

}else if(score>=90){

System.out.println("干的不错!奖励一个冰淇淋");

} else{

System.out.println("很遗憾,下次再接再厉!");

}

}

}

f1b864ba4a2822a4a72648304f1387ef.png

注意:选择结构:判断条件,符合条件则返回结果,不再进行之后的条件判断,如果不符合条件,即继续判断条件,直到所有判断条件都不满足时最后一个为结果。*

package com.dh.control;

public class IfDemo02 {

public static void main(String[] args) {

int num = 3;

if(num>1){

System.out.println("3>1");

}else if(num>2){

System.out.println("3>2");

}

}

}

结果为输出3>1,尽管3>2也成立,但是由于3>1已经满足了条件,就会直接输出结果,不会再往下做判断了

5be750ebe14565170a287eed7d1b399b.png

if嵌套

语法:if(条件表达式){ if(条件表达式){ //满足条件时执行的语句 } }

妈妈答应,如果期末考,数学考了100,语文90分以上,就可以去游乐场玩,否则就不能去了

package com.dh.control;

public class IfDemo03 {

public static void main(String[] args) {

int math = 100;

int chinese = 95;

if(math == 100){

if(chinese>90){

System.out.println("假期去游乐场玩!");

}

}else{

System.out.println("下次加油!");

}

}

}

//当然可以直接使用if(math==100 && chinese>90)一个判断,但是这里只是为if嵌套举例子

83561960fee77287c04ab50871804403.png

2.switch

选择结构除了if选择,还有一个switch选择

语法:

switch(数据:byte、short、int、char、字符串、枚举)

{

case 数据:{//执行语句}; break;

case 数据:{//执行语句}; break;

……

default:{//执行语句} break;

}

注意:

swtich只能做等值判断,即switch()里的数据与case后面的数据进行比较

break的作用:终止整个switch选择,若没有break的话会继续向下执行代码

流程图:

a431b4902364fa8bcff78e66ebf91fa7.png

英语成绩呢,没有具体的分数,只有A-E五个等级,妈妈说,考A奖励一个玩具,考B奖励一个冰淇淋,考C什么都没有,考D的话就要每天多背五个单词,考E就要每天多背十个单词,其它缺考就要罚站了!

package com.dh.control;

public class SwitchDemo {

public static void main(String[] args) {

char score = 'B';

switch (score){

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;

}

}

}

若去掉case B、C的break,就得碰到D的break语句才会退出,所以B、C和D的语句都会被执行

package com.dh.control;

public class SwitchDemo {

public static void main(String[] args) {

char score = 'B';

switch (score){

case 'A': {

System.out.println("奖励一个小汽车!");

}break;

//去掉case B、C的break

case 'B': {

System.out.println("奖励一个冰淇淋!");

}

case 'C': {

System.out.println("再接再厉!");

}

case 'D': {

System.out.println("每天多背五个单词!");

}break;

case 'E': {

System.out.println("每天多背十个单词!");

}break;

default:{

System.out.println("罚站!");

}break;

}

}

}

846580bfd41bcad10f734723d1757b6c.png

if和switch都为选择结构,所以一般情况下,用if结构的,可以转换为switch,用switch结构的,也可以转换为if,大多数情况下会使用if,比较灵活。

有错误请指出~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值