Java的流程控制语句之选择结构的详解和代码实例。

Java的流程控制语句之选择结构的详解和代码实例。

首页角色扮演代号星辰更新时间:2024-05-01
Java的流程控制语句之选择结构

分类:

1. 顺序结构
2. 选择结构
3. 循环结构

顺序结构

意思:从上向下,依次执行。

选择结构

java语言中提供了两种选择结构语句

1.if语句

2.swith语句

if语句

if语句的注意事项: A:关系表的式无论简单还是复杂,结果必须是boolean类型 B:if语句控制的语句体如果是一条语句体,大括号可以省略 如果是多条语句体,就不可省略,建议永远不要省略。 C:一般来说:有左大括号没有分号;有分号就没有左大括号 if语句有三种格式

//if语句的第一种格式: if(关系表达式){ 语句体 } 执行流程; 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体 如果是false就不执行语句体

//if语句的第二种格式: if(关系表达式){ 语句体1; }else{ 语句体2; } 执行流程; 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体1 如果是false就不执行语句体2 if语句的第二种格式也完成了三元运算符可以完成的效果 所以,我们认为在一定范围它们可以转换 区别: 三元可以用,if语句实现,反之不行 什么时候if语句实现但不能用三元改进呢? 当if语句控制的操作是一个输出语句的时候不成立 因为三元运算符是一个运算符,运算符操作完毕后就应该有一个结果,而不是一个输出。

//if语句的第三种格式: if(关系表达式1){ 语句体1; }else if(关系表达式2){ 语句体2; } …… else{ 语句体n 1; } 执行流程; 首先判断关系表达式1看其结果是true还是false 如果是true就执行语句体1 if语句结束 如果是false就继续判断关系表达式2看其结果是 true还是false 如果是true就执行语句体2if语句结束 如果是false就继续判断关系表达式……看其结果是 true还是false …… 如果没有任何关系表达式为false,就执行语句体n 1;

if语句例题和代码实现
if语句的使用场景;

  1. 针对表达式是一个Boolean类型的判断
  2. 针对一个范围的判断

题一:键盘录入x的值,计算出y的并输出 x>=3 y = 2x 1 -1<=x<3 y = 2x x<=-1 y = 2x - 1 import java.util.Scanner; class YunSuan{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个数据"); int x = sc.nextInt(); int y; if (x>=3){ y = 2*x 1; }else if(-1<=x && x<3){ y = 2*x; }else if(x<=-1){ y = 2*x - 1; } System.out.println("y:" y); } }

题二:键盘录入月份的值,输出对应的季节 import java.util.Scanner; class Li{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个数据"); int x = sc.nextInt(); if(x<1 || x>12){ System.out.println("输入有误"); }else if ( 3<=x && x>=4){ System.out.println("春"); }else if(6<=x && x<=8){ System.out.println("夏"); }else if(x>=9 && x<=11){ System.out.println("秋"); }else { System.out.println("冬"); } } }

题三:获取三个数的最大值 //此案例主要是为了讲解if语句是可以嵌套的,而且是可以任意的嵌套 class Li{ int a = 10; int b = 20; int c = 30; int max; if (a>b){ if(a>c){ max = a; }else{ max = c; } }else{ if(b>c){ max = b; }else { max = c; } System.out.println("max:" max); } }

switch语句

switch语句格式: switch(表达式){ case值1: 语句体1; break; case值2: 语句体2; break; ………… default: 语句体:n 1; break; } 格式解释: switch:表示这是个switch选择结构 表达式:这个地方的取值的是有限制的 byte short int char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面跟的是要和表达式进行比较的值 语句体:要执行的代码 break;表示中断,结束的意思,可以控制switch语句的结束 default:当所有的值和表达是不匹配的时候,就执行default控制的语句。 执行流程: 首先计算出表达式的值 其次和case一次比较一旦有对应的值,就会执行相应的 语句,在执行的过程中遇到break就结束 最好,如果所有的case都和表达式的值不匹配,就会执行 default语句体部分,然后程序结束 switch语句使用的注意事项: 一.case后面只能是常量不可以是变量; 二.多个case后面的值不可以重复; 三. default可以省略但是不建议, 因为它的作用是对不真确的情况给出提示 四.break可以省略,但是结果可能不是我们想要的 它会出case穿透现象,所以现建议不省略 五.default可以出现在任意位置。建议放到最后。 因为它代表所有的case都和表达式的值不匹配才执行default语句 六.switch语句的结束条件; a:遇到break就结束。 b:执行到末尾就结束了。

switch语句例题和代码实现

//摸拟单向选择题 import java.util.Scanner; class Li{ public static void main(String[] args){ Scanner sc = new Scanner (System.in); System.out.println("下面的几个人你最爱谁"); System.out.println("65 林青霞"); System.out.println("66 张曼玉"); System.out.println("67 刘德华"); System.out.println("68 王力红"); int x = sc.nextInt(); switch(x){ case 65: System.out.println("恭喜选择正确"); break; case 66: System.out.println("选择错误"); break; case 67: System.out.println("选择错误"); break; case 68: System.out.println("选择错误"); break; default: System.out.println("你输入的数据有误"); break; } } }

if语句和switch语句的区别:
if语句:

  1. 针对结果是Boolean类型的判断
  2. 针对一个范围的判断
  3. 针对几个常量值的判断

switch语句: 针对几个常量值的判断

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved