清淨
  • Java

    • Java 基础
  • 框架

    • Flyway
    • MapStruct
    • Spring Cloud
  • 中间件

    • Elasticsearch
    • Redis
    • RabbitMQ
    • Kafka
  • 三剑客

    • HTML
    • CSS
    • JavaScript
  • 进阶

    • jQuery
    • ECMAScript6
    • TypeScript
  • Vue

    • Vue2
    • Vue3
    • VuePress
  • Linux
  • Jenkins
  • Maven
  • MySQL
  • 插件工具
  • 代码集成
  • 其它

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • 设计模式
迁移日志
订阅号
微信订阅号
微信订阅号
GitHub
  • Java

    • Java 基础
  • 框架

    • Flyway
    • MapStruct
    • Spring Cloud
  • 中间件

    • Elasticsearch
    • Redis
    • RabbitMQ
    • Kafka
  • 三剑客

    • HTML
    • CSS
    • JavaScript
  • 进阶

    • jQuery
    • ECMAScript6
    • TypeScript
  • Vue

    • Vue2
    • Vue3
    • VuePress
  • Linux
  • Jenkins
  • Maven
  • MySQL
  • 插件工具
  • 代码集成
  • 其它

    • 数据结构与算法
    • 计算机网络
    • 操作系统
    • 设计模式
迁移日志
订阅号
微信订阅号
微信订阅号
GitHub
  • Java 基础

    • 简介
    • 第一个 Java 代码
    • 数据类型
    • 变量
    • 进制
    • 导包
    • 输入
    • 数据类型转换
    • 运算符
    • 随机数
    • 流程控制
    • 访问修饰符
    • 面向对象
    • 重载与重写
    • 程序执行流程
    • 方法参数的值传递
    • 多线程
    • Java 常用类
    • 枚举
    • 注解 Annotation
    • 集合
    • 泛型
    • IO
    • 网络编程
    • 反射
    • lambda
    • 类加载
    • 正则表达式
    • 字符集

流程控制

选择结构

switch

不是所有类型的数据都能在 switch 中使用(只有 char、byte、short、int、Character、Byte、Short、Integer、String、枚举 这几个类型才能在 switch 中使用)。case 后面的值只能是常量,且值不能重复。

int number = 1;
switch(number) {
    case 0:
        System.out.println(0);
    case 1:
        System.out.println(1);
    case 2:
        System.out.println(2);
    default:
        System.out.println("none");
}

// 上面的输出结果为 1 2 none

循环结构

数字翻转

public static int test3(int num) {
    int result = 0;
    while (num > 0) {
        result = result * 10 + num % 10;
        num /= 10;
    }
    return result;
}

说明

break 和 continue 只对当前层次的循环有效,且它们的后面都不能再直接有任何语句。

标签

默认情况下,break 和 continue 都是对最近的一层循环有效,如果我们想要对最外层的循环有效,那么可以加上 label。

// label 只是一个标识符,可以任取
label:for (int i = 0; i < 6; i++) {
    for (int j = 1; j < i; j++) {
        if (j % 2 == 0) {
            break label;
            // continue label;
        }
        System.out.println(j);
    }
    System.out.println("外层");
}

for 循环

for 循环的结构大致为:初始化条件 -> 判断 -> 执行循环体 -> 循环体结束后执行其它代码。

/* --------------------- */
// 初始化条件: int i = 0 (只执行一次)
// 判断: i < 3
// 执行循环体: System.out.println("hello");
// 循环体结束后执行另外的: i++

for (int i = 0; i < 3; i++) {
    System.out.println("hello");
}

for 循环中的语句有多条,请用逗号隔开。

int i = 1, j = 0;
for (System.out.println('a'), j--; i <= 3 && true; System.out.println("i++:"), i++) {
    System.out.println("循环体");
}

在 for 循环中定义的 i 只在 for 循环内有效。

想要编辑此页?
上次更新: 2023/5/29 18:50
贡献者: djf, Junfeng Dai
←随机数访问修饰符→
[ 纸上得来终觉浅绝知此事要躬行 ]
Copyright © 2021-present Junfeng Dai
蜀ICP备2021009537号