java基础

Java 中 return 和 break 核心辨析

returnbreak 是 Java 中完全不同用途 的关键字,核心区别一句话总结:break 是用来跳出循环 /switch,不结束方法;return 是用来结束整个方法,直接返回结果。

下面从作用场景、代码示例两个维度彻底讲清楚。

一、核心定义与作用

  1. break(中断)
  • 作用对象 :仅用于 for/while/do-while 循环switch 语句

  • 作用效果

    1. 跳出当前最近一层循环 /switch,继续执行循环 /switch 后面的代码

    2. 不会结束所在的方法,方法会继续往下运行

  • 关键字定位:循环 /switch 控制关键字

  1. return(返回)
  • 作用对象 :用于所有方法(构造方法除外)

  • 作用效果

    1. 立即终止当前整个方法

    2. 可以携带一个返回值(有返回值方法),或单纯结束方法(无返回值void方法)

    3. 方法内return之后的所有代码都不会执行

  • 关键字定位:方法流程控制关键字

二、直观代码对比

java 复制代码
public class Test {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                break; // 跳出当前for循环
            }
            System.out.println("循环:" + i);
        }
        // 循环结束后,代码继续执行
        System.out.println("循环结束,方法继续运行");
    }
}
  1. return 示例(结束方法,后续代码全不执行)
java 复制代码
public class Test {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                return; // 直接结束整个main方法
            }
            System.out.println("循环:" + i);
        }
        // 这行代码永远不会执行
        System.out.println("循环结束,方法继续运行");
    }
}

数组元素交换位置

java 复制代码
/*接收三个参数:数组 arr、下标 i、下标 j
用临时变量 temp 保存 arr[i] 的值
把 arr[j] 的值赋给 arr[i]
把临时变量中保存的原值赋给 arr[j]
打印交换后的完整数组*/
public static void rev(int[] arr,int i,int j){
       int temp=arr[i];
        arr[i]=arr[j];
        arr[j]=temp;
        System.out.println(Arrays.toString(arr));
    }
/*只接收一个参数:数组 arr
用临时变量 temp 保存数组最后一个元素 arr[arr.length-1]
把数组第一个元素 arr[0] 赋给最后一个位置
把临时变量保存的最后一个元素赋给第一个位置
打印交换后的完整数组*/
    public static void re(int[] arr){
        int temp=arr[arr.length-1];
        arr[arr.length-1]=arr[0];
        arr[0]=temp;
        System.out.println(Arrays.toString(arr));
    }
相关推荐
xieliyu.11 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约11 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee11 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs11 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司11 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
CryptoPP12 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫12 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
fangdengfu12312 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
云烟成雨TD13 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏13 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32