700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java流程控制语句:顺序结构 选择结构(if语句 switch语句)

Java流程控制语句:顺序结构 选择结构(if语句 switch语句)

时间:2022-05-30 03:21:08

相关推荐

Java流程控制语句:顺序结构 选择结构(if语句 switch语句)

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

流程控制语句分类

顺序结构

选择结构

循环结构

顺序结构:

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。 总的来说:写在前面的先执行,写在后面的后执行

public class Cherris {public static void main(String[] args) {System.out.println("开始");System.out.println("语句A");System.out.println("语句B");System.out.println("语句C");System.out.println("结束");}}

顺序结构:

开始

语句A

语句B

语句C

结束

选择结构

也被称为分支结构。

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

Java语言提供了两种选择结构语句:

if语句

switch语句

选择结构:if语句

if语句有三种格式

if语句第一种格式:if(关系表达式)

{

语句体

}

执行流程

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

如果是true就执行语句体

如果是false就不执行语句体

public class Cherris {public static void main(String[] args) {System.out.println("开始");int a=10;int b=15;if (a>b){System.out.println("a大于b");}int c=10;if (a==c){System.out.println("a等于c");}System.out.println("结束");}}

注意事项:

1.关系表达式无论简单还是复杂,结果都是boolean类型。

2.if语句控制的如果是一条语句,大括号可以省略;如果是多条语句就不能省略,建议永远不要省略。

3.一般来说有左大括号就没有分号,有分号就没有左大括号。

if语句第二种格式:if……else

if(关系表达式) {

语句体1;

}else

{

语句体2;

}

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

如果是true就执行语句体1

如果是false就执行语句体2

public class Cherris {public static void main(String[] args) {System.out.println("开始");int a=10;int b=15;if (a>b){System.out.println("a大于b");}else{System.out.println("a小于c");}System.out.println("结束");}}

奇偶数:

从键盘输入一个数判断是奇数还是偶数

import java.util.Scanner;public class Cherris {public static void main(String[] args) {Scanner xc=new Scanner(System.in);System.out.println();int number = xc.nextInt();if (number%2==0){System.out.println("number:"+"偶数");}else {System.out.println("number:"+"奇数");}}}

if语句第三种格式:if……elseif……if:

输入月份,确认季节。

import java.util.Scanner;public class Cherris2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int month = sc.nextInt();if (month<1 | month>12){System.out.println("输入的数字有误");}else if (month<=5&month>3){System.out.println("spring");}else if (month>5&month<=8){System.out.println("summer");}else if (month>8&month<=11){System.out.println("aultume");}else if (month>11|month<3){System.out.println("winter");}}}

三种方式比大小:if……else if……else if嵌套 三目运算实现

import java.util.Scanner;public class Cherris2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入第一个数据");int score1 = sc.nextInt();System.out.println("请输入第二个数据");int score2 =sc.nextInt();System.out.println("请输入第三个数据");int score3 = sc.nextInt();if(score1>score2){System.out.println("最大值:"+score1);}else if(score2>score3){System.out.println("最大值:"+score2);}else {System.out.println("最大值;"+score3);}System.out.println("==============嵌套====================");if(score1>score2){if(score1>score3){System.out.println("max"+score1);}else{System.out.println("max"+score3);}}else{if (score2>score3){System.out.println("max"+score2);}else {System.out.println("max"+score3);}}System.out.println("===============三目运算实现=============");int a=(score1>score2)?score1:score2;int b=(score3>a)?score3:a;System.out.println("big"+b);}}

switch语句:

1、switch:表示这一个选择结构语句

2、表达式:

这里的表达式一定会有一个结果值,但是这里结果数据类型只能是byte,short,int,char,JDK之后可以是枚举,JDK1.7之后可以是String

3、case:

switch中匹配的使用关键字

4、常量值:

要被匹配的值,注意:这里只能是常量值,不能是变量!!!

5、语句体:

当匹配到对应的常量值后,执行对应的语句体内容,语句体可以是一条也可以是多条。

6、break:

跳出(结束)switch选择结构。

7、default:

当所有的case都不匹配表达式中的值的是,默认最后执行default中语句体。

执行流程:******

1、首先会计算表达式中的值

2、依次去匹配case中的常量值

3、当匹配到的时候,执行对应的语句体内容

4、如果所有的case都不匹配,最后再执行default中的语句体。

5、遇到break或者执行完代码结束switch选择。

注意事项:

1、break可以不写吗?可以,但是会发生”穿透“

2、default可以不写吗?可以,但是不建议,代码不够严谨,什么情况下可以不写,当只有固定的几个值的时候,可以不写

3、default可以写在最前面吗?如果可以,会发生什么情况?

可以。

(1)default的执行顺序与它在switch中的位置无关。

(2)当default的顺序与break省略同时出现的时候,出来的结果可能不是你想要的。

4、多个case后面的常量值,不能一样

import java.util.Scanner;public class Cherris2 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入一个数据(1-7)");int number = sc.nextInt();switch (number){default:System.out.println("输入的数据有误");//break;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;}}}

利用case的穿透性求月份所在的季节:

import java.util.Scanner;public class Cherris {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入月份");int month = sc.nextInt();switch (month){case 12:case 1:case 2:System.out.println("winter");break;case 3:case 4:case 5:System.out.println("spring");break;case 6:case 7:case 8:System.out.println("spring");break;case 9:case 10:case 11:System.out.println("spring");break;default:System.out.println("输入的月份数有误!");break;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。