判断和循环

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 本节介绍Java中判断与循环结构,包括if语句的两种格式、switch语句及其JDK12新特性,以及for循环的基本语法。涵盖键盘录入、条件判断、case穿透、break与default使用等核心知识点,帮助掌握程序流程控制。

判断和循环

键盘录入(格式):

//键盘录入一个整数,表示身上的钱.
Scanner sc = new Scanner(System.in);
int money = sc.nextInt();

If语句的第一种格式

if(关系的表达式){
   
    语句体;
}

if的注意点:

  1. 大括号的开头可以另起一行书写, 但是建议写在第一行的末尾

  2. 在语句体中, 如果只有一句代码, 大括号可以省略不写,个人建议.

  3. 如果对一个布尔类型的变量进行判断, 不要建议直接用==号, 直接把变量写在小括号即可

QAQ: int a = 100; 属于是两个语句, 包括定义加赋值.

If语句的第二种格式

if(关系表达式){
   
    语句体1:
} else{
   
    语句体2:
}

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体1
  3. 如果关系表达式的值为false就执行语句体2
  4. 继续执行后面的其他语句

switch语句格式

switch(表达式){
   
    case1:
        语句体1;
        break;
    case2:
        语句体2:
        break;
    ...
    default:
        语句体n+1;
        break;
}

执行流程:

  1. 首先计算表达式的值.
  2. 依次和case后面的值进行比较.如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束.
  3. 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句.

格式说明

  1. 表达式:(将要匹配的值)取值为byte, short, int, char. JDK5以后可以是枚举,JDK7以后可以是String.
  2. case:后面跟的是要和表达式进行比较的值(被匹配的值).
  3. break:表示中断, 结束的意思, 用来结束switch语句.
  4. default:表示所有情况都不匹配的时候, 就执行该处的内容, 和if语句的else相似.
  5. case后面的值只能是字面量, 不能是变量
  6. case给出的值不允许重复.

字面量:数据在程序中的书写格式

default的位置和省略

  1. 位置: default不一定是写在最下面的,我们可以写在任意位置. 只不过习惯写在最下面
  2. 省略: default可以省略,语法不会有问题,但是不建议省略.

case穿透:

​ 就是语句体中没有写break导致的.

执行流程:

  1. 首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配.
  2. 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句.
  3. 如果没有发现break,那么程序会继续执行下一个case的语句,一直遇到break或者右大括号为止.

使用场景:

​ 如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码.

switch的新特性

JDK12以上才有的

正常写法:

//需求:选择输出
//1 2 3  一 二 三
int number = 1;
switch (number){
   
    case 1:
        System.out.println("一");
        break;
    case 2:
        System.out.println("二");
        break;
    case 3:
        System.out.println("三");
        break;
    default:
        System.out.println("没有这种选项");
        break;
}

新特性写法:

int number = 1;
switch (number){
   
    case 1 -> {
   
        System.out.println("一");
    }
    case 2 -> {
   
        System.out.println("二");
    }
    case 3 -> {
   
        System.out.println("三");
    }
    default -> {
   
        System.out.println("没有这种选项");
    }
}

如果case后面只有一条语句,则可以简写:

int number = 1;
switch (number){
   
    case 1 -> System.out.println("一");
    case 2 -> System.out.println("二");
    case 3 -> System.out.println("三");
    default -> ystem.out.println("没有这种选项");
}

switch和if第三种格式各自的使用场景

  • if的第三种格式: 一般用于对范围的判断
  • switch: 把有限个数据一一列举出来,让我们任选其一

for循环

/*for(初始化语句; 条件判断语句; 条件控制语句){
  循环体语句;
  } */
for(int i = 1; i <= 10; i++){
   
    System.out.println("HelloWorld");
}

==

相关文章
|
5月前
|
人工智能 监控 供应链
逻辑架构解析:AI指挥官如何赋能调度官实现任务闭环?
2026年AI迈入“系统协同”新纪元,“指挥官”(定战略、解意图)与“调度官”(管执行、编资源)双引擎架构成为生产力核心。二者分工协作,实现复杂任务的自主规划、动态调度与闭环交付,重塑产业逻辑与职场价值。
315 2
|
3月前
|
存储 C语言 内存技术
C语言深度解析:大小端字节序——多字节数据的底层存储规则
大小端指CPU对多字节数据在内存中的存放顺序:大端高字节存低地址,小端反之。x86/ARM默认小端,网络字节序统一为大端。跨平台、网络通信、二进制协议开发中必须显式处理字节序转换,否则数据解析必错。
907 138
|
7月前
|
Java 测试技术 API
Java 跳出多层循环
本文详解Java中如何使用带标签的`break`语句跳出多层循环。通过实例展示其语法与应用场景,如图像黑屏检测,并对比传统方法与Stream API,帮助开发者在性能与可读性间做出权衡,提升代码效率与质量。(238字)
273 0
|
安全 数据库连接 开发者
深入理解Python中的上下文管理器和with语句
本文深入讲解了Python中的上下文管理器与`with`语句。上下文管理器是一种用于封装代码块进入和退出逻辑的工具,通过定义`__enter__`和`__exit__`方法实现资源的安全管理和异常处理。文章还介绍了如何自定义上下文管理器、使用`contextlib`模块简化创建过程,以及从Python 3.7起支持的异步上下文管理器。这些工具能帮助开发者编写更简洁、安全的代码,有效管理资源和异常。
388 0
|
Java
Java Character 类详解
`Character` 类是 Java 中的一个封装类,位于 `java.lang` 包中,主要用于处理单个字符。它是一个最终类,提供了多种静态方法来检查和操作字符属性,如判断字符是否为字母、数字或空格,以及转换字符的大小写等。此外,`Character` 类还支持自动装箱和拆箱,简化了 `char` 和 `Character` 之间的转换。以下是一些示例代码,展示了如何使用 `Character` 类的方法来检查字符属性和执行字符转换。掌握 `Character` 类的用法有助于更高效地处理字符数据。
1063 2
|
存储 移动开发 Linux
C语言 IO操作
本文详细介绍了C语言中的输入输出(IO)操作,包括系统调用和库函数的区别及其应用场景。系统调用如`open()`、`read()`等直接与操作系统内核交互,适用于需要较高权限的操作,但性能开销较大;库函数如`fopen()`、`fread()`等则提供了更高层次的封装,易于使用但可能引入额外开销。文章还介绍了文件流的概念,区分了文本文件和二进制文件,并解释了乱码产生的原因。此外,还探讨了文件缓冲机制的重要性以及文件的打开、关闭操作,并通过示例代码展示了如何进行字符级别的读写、逐行读写以及二进制数据的读写。
|
存储 Java Spring
Spring Boot中的表单处理
Spring Boot中的表单处理
|
JavaScript Java API
spring boot使用异步多线程
一文讲清楚spring boot如何结合异步多线程实现文件的导出这类耗时间的操作优化以及常用的场景,了解异步思想
487 0
spring boot使用异步多线程
详解Java中的protected修饰的访问权限
详解Java中的protected修饰的访问权限
|
API
什么是接口幂等
什么是接口幂等
666 0