Java流程控制之选择结构

作者:Code_流苏 时间:2021-10-24 08:12:50 

布尔表达式:

布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。

最简单的布尔表达式是等式(equality),这种布尔表达式用来测试一个值是否与另一个值相同。 例如:


2 == 4       ?  -------------->  false

1、if单选择结构

我们平常经常会面临选择,所以选择结构对于我们编程来说也是非常重要的,比如:

如果明天晴天,我们就一起去草场放风筝;

如图:

Java流程控制之选择结构


if(布尔表达式){
//如果布尔表达式为true将执行的语句
}

注意:if单选择结构:if语句对条件表达式进行一次判断,若判断为真,则执行下面的语句,否则跳过该语句。

实例助解:接收一个用户的输入,判断输入的是否为字符串"Liusu":


import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//接收用户输入
System.out.print("请输入内容:");
String s = scanner.nextLine();
if (s.equals("Liusu")){
System.out.println("输入的是:"+s);
}
System.out.println("End");
scanner.close();
}

输出演示,如图: 

Java流程控制之选择结构

注释:equals方法是用来进行字符串的比较的

2、if双选择结构

比如你去买键盘,键盘108元。如果你身上当时带有金额大于等于108元,那买键盘,否则,不买。(仅举例)

所以对于这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构。

如图:

Java流程控制之选择结构


if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}

if双选择结构:当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。

实例助解:你去买键盘,键盘108元。如果你身上当时带有金额大于等于108元,那买键盘,否则,不买。


import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入x值:");
int x = scanner.nextInt();
if (x>=108){
 System.out.println("键盘");
}else {
 System.out.println("余额正在加载中...");
}
scanner.close();
}

输出演示,如图:

Java流程控制之选择结构

3、if多选择结构

真实的情况还可能存在很多种,存在区间多级判断。在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!

如图:

Java流程控制之选择结构


if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}

if多选择结构:if 语句后面可以跟 else if…else 语句,可以判断多种情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

  • if 语句至多有 1 个 else 语句。

  • if 语句可以有若干个 else if 语句。

  • else if在else之前

  • 一个 else if 语句检测为 true,其他的 else if 、 else 语句都将跳过执行。

实例助解:简单的数值判断


public class Test {
  public static void main(String args[]){
     int x = 66;
     if( x == 22 ){
        System.out.print("x:22");
     }else if( x == 44 ){
        System.out.print("x:44");
     }else if( x == 66 ){
        System.out.print("x:66");
     }else{
        System.out.print("看来您的选择不在选项当中...");
     }
  }
}

输出演示,如图:

Java流程控制之选择结构

4、嵌套的if结构

注意:嵌套的 if…else 语句也是可以的。所有的流程控制语句都可以互相嵌套,互不影响!


if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}

实例助解:判断x


   public static void main(String args[]){
       int x = 66;
       if( x > 22 ){
           System.out.println("x>22");
           if(x > 44){
               System.out.println("x>44");
           }
       }
   }

输出演示,如图:

Java流程控制之选择结构

5、switch多选择结构

多选择结构还有一个实现方式就是switch case 语句。
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。


switch(expression){
 case value :
  //语句
  break; //可选
 case value :
  //语句
  break; //可选
    //case...
    default : //可选
        //语句
}

switch case 语句有如下规则:

  • switch 语句中的变量类型可以是: byteshortint char、字符串 String 类型。

  • switch 语句可以拥有多个 case 语句。

  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

注意:当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。(break语句非必须)

关于switch中default:

  • switch 语句可以包含一个 default 分支------->最后一个分支(可以在任何位置,但建议在最后一个)。

  • default 在没有 case 语句的值和变量值相等的时候执行。

  • default 分支不需要 break 语句。

实例助解:


public static void main(String args[]){
char grade = 'C';
switch(grade)
{
case 'A' :
 System.out.println("优秀");
 break;
case 'B' :
case 'C' :
 System.out.println("良好");
 break;
case 'D' :
 System.out.println("及格");
 break;
case 'F' :
 System.out.println("谢谢参与!加油!");
 break;
default :
 System.out.println("您的等级已不在该范围内...");
}
System.out.println("你的等级是 " + grade);
}

输出演示,如图:

Java流程控制之选择结构

6、补充:case穿透

如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输
出。如果后续的 case 语句块有 break 语句则会跳出判断。


public static void main(String args[]){
int i = 4;
switch(i){
case 0:
 System.out.println("0");
case 1:
 System.out.println("1");
case 2:
 System.out.println("2");
case 3:
 System.out.println("3");
   case 4:
 System.out.println("4");
   case 5:
       System.out.println("5");
 break;
default:
 System.out.println("default");
}
}

输出演示,如图:

Java流程控制之选择结构

来源:https://blog.csdn.net/qq_51646682/article/details/121885460

标签:Java,流程控制,选择结构
0
投稿

猜你喜欢

  • Javassist之一秒理解java动态编程

    2023-11-09 09:36:33
  • SpringBoot整合Zookeeper详细教程

    2022-07-24 11:33:09
  • Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

    2023-11-08 14:48:13
  • SSM使用mybatis分页插件pagehepler实现分页示例

    2022-04-02 00:20:53
  • 浅析Java中Apache BeanUtils和Spring BeanUtils的用法

    2021-07-10 21:29:15
  • 教你用Java GUI实现文本文件的读写

    2023-05-25 06:47:13
  • JAVA中的基本数据类型

    2023-07-29 07:38:34
  • Spring Bean后处理器详细介绍

    2021-06-27 07:29:06
  • java字符串的重要使用方法以及实例

    2023-11-13 23:11:51
  • java调用openoffice将office系列文档转换为PDF的示例方法

    2023-11-29 11:42:53
  • Groovy的规则脚本引擎实例解读

    2023-07-11 21:24:04
  • 布隆过滤器面试如何快速判断元素是否在集合里

    2022-10-17 15:55:19
  • java实现将域名解析成ip示例

    2021-11-20 10:33:33
  • 利用spring的拦截器自定义缓存的实现实例代码

    2022-07-22 00:44:47
  • 详解JAVA中的OPTIONAL

    2022-08-22 17:09:04
  • 详解 Corba开发之Java实现Service与Client

    2023-09-23 03:42:48
  • Android仿新浪微博分页管理界面(3)

    2023-08-04 19:14:02
  • spring中的FactoryBean代码示例

    2023-11-11 18:37:20
  • springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式

    2023-08-16 10:26:45
  • java Semaphore共享锁实现原理解析

    2021-11-02 23:12:38
  • asp之家 软件编程 m.aspxhome.com