java流程控制语句_Java选择流程控制语句

6 选择流程控制语句

概述:

是程序中最简单最基本的流程控制,没有特定的语法结构,只需要按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

流程图:

9385811b9448a63374ec4025f58d7bba.png

if语句的格式:

第一种:

if(关系表达式){

语句体;

}

执行流程:

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

流程图:

97b5388a0a3ee64c2b0d9be578214b27.png

案例:

packagecom.lyc.test;public classIfDemo01 {public static voidmain(String[] args) {/*** if语句有三种格式:

*

* 第二种:

* if(关系表达式){

* 语句体;

* }

*

* 执行流程:

* A.首先判断 关系表达式 看其结果是true还是false

* B.如果是true,就执行语句体

* C.如果是false,就不执行语句体

**/

//定义两个变量

int a = 10;int b = 20;if (a ==b) {

System.out.println("a等于b");

}int c = 10;if (a ==c) {

System.out.println("a等于c");

}

}

}

第二种:

if(关系表达式){

语句体1;

}else{

语句体2;

}

执行流程:

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

流程图:

5f75402597bf024ae3e72a596a89eb8d.png

案例:

packagecom.lyc.test;public classIfDemo02 {public static voidmain(String[] args) {/*** if语句有三种格式:

*

* 第二种:

* if(关系表达式){

* 语句体1;

* }else{

* 语句体2

* }

*

* 执行流程:

* A.首先判断 关系表达式 看其结果是true还是false

* B.如果是true,就执行语句体1

* C.如果是false,就不执行语句体2

**/

//判断是奇数还是偶数//定义两个变量

int a = 20;//给a重新赋值

a = 15;if (a % 2 ==0) {

System.out.println("a是偶数");

}else{

System.out.println("a是奇数");

}

}

}

第三种:

if(关系表达式1){

语句体1;

}else if(关系表达式2){

语句体2;

}else if(关系表达式3){

语句体3;

}

......

else{

语句体n+1;

}

执行流程:

首先判断关系表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断关系表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断关系表达式…看其结果是true还是false

如果没有任何关系表达式为true,就执行语句体n+1

流程图:

83f460b2d6d835f9967336a26e4c4333.png

案例:

packagecom.lyc.test;public classIfDemo03 {public static voidmain(String[] args) {/*** if语句有三种格式:

*

* 第三种:

* if(关系表达式1){

* 语句体1;

* }else if(关系表达式2){

* 语句体2;

* }else if(关系表达式3){

* 语句体3;

* }

* .......

* else{

* 语句体n+1;

* }

*

* 执行流程:

* A.首先判断 关系表达式 看其结果是true还是false

* B.如果是true,就执行语句体1,如果是false就继续进行表达式2的判断,

* 看其结果是true还是fasle

* C.如果是true,就执行语句体2,如果是false就继续进行表达式...的判断

* 看其结果是true还是false

* .......

* D.如果没有一个为true的,就执行语句体n+1

*

* if语句的三种格式:

* 第一种格式适合做一种情况的判断

* 第二种格式适合做二种情况的判断

* 第三种格式适合做多种情况的判断

**/

//x和y的关系满足如下://x>=3 y = 2x + 1;//-1<=x<3 y = 2x;//x<=-1 y = 2x – 1;//根据给定的x的值,计算出y的值并输出。//定义变量

int x = 5;int y = 0;if (x >= 3) {

y= 2*x+1;

}else if (x >=-1 && x< 3) {

y= 2*x;

}else if (x<=-1) {

y= 2*x-1;

}

System.out.println("最后y的值为:"+y);

}

}

If语句练习:

1> if语句实现获取两个数据较大值

packagecom.lyc.test;importjava.util.Scanner;public classIfDemo04 {public static voidmain(String[] args) {/*** 键盘录入两个数据,获取这两个数据的最大值

*

* 分析:

* A.看到键盘录入,三步骤:

* 导包,创建对象,接收数据

* B.获取这两个数据的最大值,其实就是判断这两个数据谁大,把较大的值输出就可以了

*

* 导包:

* A.手动导包:import java.util.Scanner;

* B.鼠标点击红色叉叉,自动生成

* C.快捷键导包:ctrl+shift+o*/

//创建对象

Scanner sc = newScanner(System.in);//接收数据

System.out.println("请输入第一个数:");int num1 =sc.nextInt();

System.out.println("请输入第二个数:");int num2 =sc.nextInt();//采用if语句的第二种格式:

if (num1>num2) {

System.out.println("较大的值是:"+num1);

}else{

System.out.println("较大的值是:"+num2);

}//有的时候我们拿到了想要的值后,未必想直接输出。所以我们可以定义一个变量来接收我们拿到的值

int max = 0;if (num1>num2) {

max=num1;

}else{

max=num2;

}

max+=100;

System.out.println(max);

}

}

2> if语句实现判断学生等级

packagecom.lyc.test;importjava.util.Scanner;public classIfDemo05 {public static voidmain(String[] args) {/*** 键盘录入学生的考试成绩,根据考试成绩来判断学生属于那个级别

* 90-100 优秀

* 80-90 好

* 70-80 良

* 60-70 及格

* 60以下 不及格

* 如果输入的成绩没在0-100之内,则判断输入错误*/

//创建对象

Scanner sc = newScanner(System.in);//接收数据

System.out.println("请输入学生的考试成绩:");int score =sc.nextInt();//if语句的第三种格式:

if(score<0 || score>100){

System.out.println("你输入的学生成绩是错误的!!!");

}else if(score>=90 && score<=100){

System.out.println("成绩属于优秀");

}else if(score>=80 && score<90){

System.out.println("成绩属于好");

}else if(score>=70 && score<80){

System.out.println("成绩属于良");

}else if(score>60 && score<70){

System.out.println("成绩属于及格");

}else{

System.out.println("成绩属于不及格");

}

}

}

switch语句的格式及执行流程

格式解释:

switch表示这是switch语句

表达式的取值:byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是String

case后面跟的是要和表达式进行比较的值

语句体部分可以是一条或多条语句

break表示中断,结束的意思,可以结束switch语句

default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程

首先计算出表达式的值

其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

switch语句执行流程图

a86124ac6f460568ba20f6827976eea0.png

使用swit语句实现根据数字输出对应星期

packagecom.lyc.test;importjava.util.Scanner;public classSwitchDemo {public static voidmain(String[] args) {/*** switch语句格式:

* switch(表达式){

* case 值1:

* 语句体1;

* break;

* case 值2:

* 语句体1;

* break;

* ......

* default:

* 语句体n+1;

* break;

* }*/Scanner sc= newScanner(System.in);

System.out.println("请输入一个(1-7)之间的数字:");int day =sc.nextInt();//switch语句实现选择

switch(day) {case 1:

System.out.println("星期一");break;case 2:

System.out.println("星期二");break;case 3:

System.out.println("星期三");break;case 4:

System.out.println("星期四");break;case 5:

System.out.println("星期五");break;case 6:

System.out.println("星期六");break;case 7:

System.out.println("星期日");break;default:

System.out.println("你输入的数字没在范围内");break;

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值