java基础

Java 中 return 和 break 核心辨析

return 和 break 是 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));
    }
相关推荐
脏脏a19 分钟前
延迟与画质:远程控制的生命线
开发语言·php
jason成都1 小时前
RTKLIB 的 Java 移植版来了:rtklib-java v3.3.0 功能全景
java·gnss·rtklib·rtklib_java
像风一样的男人@1 小时前
python --基于scp的文件传输助手
开发语言·python
一条破秋裤1 小时前
SDIO Wi‑Fi 设备的驱动向insmod + 反向rmmod
开发语言·php
LazyHunter91 小时前
JDK 28:Java 下一步方向解析与新特性展望
java·jdk
m0_639906941 小时前
Java 重写 Override 与重载 Overload 区别、访问修饰符、static 关键字
java·开发语言
Evand J1 小时前
【MATLAB例程】平面下,5基站对待定位点的定位。基于距离辅助下的AOA。完整代码下载链接
开发语言·matlab·平面·定位·导航·测距·aoa
GIS数据转换器1 小时前
基于CIM的城市智慧供热监管服务平台
java·大数据·开发语言·人工智能·后端·物联网·struts
weixin_417396831 小时前
星级酒店境外电视频道怎么合法接入?合规要点与核对清单
开发语言·前端·php·1024程序员节·综合布线
熊猫钓鱼>_>2 小时前
鸿蒙PC构建实战:hvigor modelVersion 降级 + schema 清理 + ArkTS 编译三连坑完整复盘
开发语言·华为·ai编程·harmonyos·openharmony·数据·ai生成