java中return语句的几种用法举例

 更新时间:2025年01月04日 10:37:13   作者:小小懒懒  
这篇文章主要介绍了Java中return语句的使用,包括有返回值类型的方法、提前返回、返回对象以及方法返回类型为void的情况,文中通过代码介绍的非常详细,需要的朋友可以参考下

在 Java 中,return语句用于从当前方法中返回一个值(如果方法有返回值类型)或者直接结束方法的执行(如果方法返回类型为void)。

1. 有返回值类型的方法

当一个方法声明了返回值类型(除了void之外的任何类型,比如intStringObject等),就必须在方法体内部使用return语句来返回一个与声明的返回值类型匹配的值。

例如,下面是一个简单的方法,用于计算两个整数的和并返回结果:

public class Main {
    public static int addNumbers(int num1, int num2) {
        int sum = num1 + num2;
        return sum;
    }

    public static void main(String[] args) {
        int result = addNumbers(3, 5);
        System.out.println("两数之和为:" + result);
    }
}

addNumbers方法中:

  • 首先计算了num1num2的和,并将结果存储在sum变量中。
  • 然后使用return语句返回了sum的值。因为addNumbers方法声明的返回值类型是int,所以返回的sum值(也是int类型)与方法的返回值类型相匹配。

main方法中,调用了addNumbers方法,并将返回的结果赋值给result变量,最后打印输出。

2. 提前返回(多条件判断场景)

在一些方法中,可能会根据不同的条件判断来决定是否提前返回结果。例如,下面是一个方法,用于判断一个整数是否为偶数,如果是偶数则返回true,否则返回false

public class Main {
    public static boolean isEven(int num) {
        if (num % 2 == 0) {
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        int number = 4;
        boolean result = isEven(number);
        System.out.println("该数是否为偶数:" + result);
    }
}

isEven方法中:

  • 首先通过if语句判断num除以2的余数是否为0。如果是,说明num是偶数,此时就使用return语句提前返回true,方法执行到此就结束了,不会再执行后面的代码。
  • 如果num除以2的余数不为0,则执行到方法末尾的return false语句,返回false

这种提前返回的方式在处理复杂的条件判断逻辑时非常有用,可以使代码更加清晰和高效。

3. 返回对象

除了返回基本数据类型,还可以返回对象。例如,下面是一个简单的类和方法,用于创建并返回一个Person对象:

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int Age() {
        return age;
    }
}

public class Main {
    public static Person createPerson(String name, int age) {
        return new Person(name, age);
    }

    public static void main(String[] args) {
        Person person = createPerson("Alice", 25);
        System.out.println("创建的人名为:" + person.getName() + ", 年龄为:" + person.Age());
    }
}

createPerson方法中,使用return语句返回了一个新创建的Person对象。因为createPerson方法声明的返回值类型是Person,所以返回的对象与方法的返回值类型相匹配。

4. 方法返回类型为void

当一个方法的返回值类型声明为void时,return语句仍然可以使用,但它的作用只是提前结束方法的执行,而不返回任何值。

例如,下面是一个方法,用于打印一些信息,然后提前结束方法:

public class Main {
    public static void printMessage() {
        System.out.println("这是一条消息。");
        return;
    }

    public static void main(String[] args) {
        printMessage();
    }
}

printMessage方法中,先打印了一条消息,然后使用return语句提前结束了方法的执行。虽然这里的return语句没有返回任何值,但它起到了在需要的时候提前终止方法运行的作用。

return 语句会结束整个程序的执行吗? 

  • return语句在一个非main方法(普通方法)内部使用时,它只会结束当前方法的执行,而不会结束整个程序。
    public class Main {
        public static int add(int a, int b) {
            return a + b;
        }
        public static void main(String[] args) {
            int result = add(3, 5);
            System.out.println("结果是:" + result);
            System.out.println("程序继续执行");
        }
    }
  • 在这个例子中,add方法中的return语句只是返回a + b的结果并结束add方法的执行。main方法中的代码会继续执行,在获取add方法的结果后,会继续打印输出 “程序继续执行”。

main方法内部的情况

  • return语句在main方法内部使用时,它会结束整个程序的执行。因为main方法是 Java 程序的入口点,当main方法结束时,程序也就结束了。
    public class Main {
        public static void main(String[] args) {
            System.out.println("程序开始");
            return;
            System.out.println("这行代码不会执行");
        }
    }

    在这个main方法中,return语句在打印 “程序开始” 之后就结束了整个程序的运行,所以后面的 “这行代码不会执行” 不会被输出。不过在实际应用中,main方法中的return语句通常用于返回一个表示程序执行状态的值(如0表示正常结束),并且在一些复杂的程序结构中可能会根据条件判断来决定是否提前结束程序运行。

附:java中return怎么返回多个值

在Java中,一个方法只能返回一个值。但是可以通过不同的方式返回多个值,例如:

  • 使用数组或集合:可以将多个值保存在数组、列表或其他集合中,然后将该数组或集合作为方法的返回值返回。
public static List<Integer> getMultipleValues() {
    List<Integer> values = new ArrayList<>();
    values.add(1);
    values.add(2);
    values.add(3);
    return values;
}
  • 使用自定义对象:可以定义一个包含多个值的自定义对象,然后将该对象作为方法的返回值返回。
public class CustomObject {
    private int value1;
    private int value2;
    
    public CustomObject(int value1, int value2) {
        this.value1 = value1;
        this.value2 = value2;
    }
    
    public int getValue1() {
        return value1;
    }
    
    public int getValue2() {
        return value2;
    }
}

public static CustomObject getMultipleValues() {
    return new CustomObject(1, 2);
}
  • 使用Map:可以使用Map来存储多个键值对,然后将该Map作为方法的返回值返回。
public static Map<String, Integer> getMultipleValues() {
    Map<String, Integer> values = new HashMap<>();
    values.put("value1", 1);
    values.put("value2", 2);
    return values;
}

这些是一些常见的方法,可以用来返回多个值。根据具体的需求,选择适合的方式来返回多个值。

总结 

到此这篇关于java中return语句的几种用法举例的文章就介绍到这了,更多相关java中return用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ZooKeeper入门教程三分布式锁实现及完整运行源码

    ZooKeeper入门教程三分布式锁实现及完整运行源码

    本文是ZooKeeper入门系列教程,分布式锁有多种实现方式,比如通过数据库、redis都可实现。作为分布式协同工具ZooKeeper,当然也有着标准的实现方式。本文介绍在zookeeper中如何实现排他锁
    2022-01-01
  • Java操作minio删除文件夹及其文件方法(MinIO基本使用)

    Java操作minio删除文件夹及其文件方法(MinIO基本使用)

    MinIO是一个高性能、无限扩展的开源对象存储服务器,它以对象的形式存储数据,并兼容Amazon S3接口,它适用于大规模数据存储、大数据分析、文件共享和备份等应用场景,这篇文章主要介绍了java操作minio删除文件夹及其文件方法,需要的朋友可以参考下
    2024-02-02
  • Java数组去重复的18种方法示例

    Java数组去重复的18种方法示例

    这篇文章主要为大家介绍了Java数组去重复的18种写法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java实现图片上传至FastDFS入门教程

    Java实现图片上传至FastDFS入门教程

    这篇文章主要介绍了Java实现图片上传至FastDFS入门教程,通过前端ajax提交图片到后端,java处理服务器文件上传至FastDFS文件服务器系统,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • dubbo自定义异常的完整步骤与测试

    dubbo自定义异常的完整步骤与测试

    最近在项目上遇到一个有关dubbo的问题,想着给大家总结下,这篇文章主要给大家介绍了关于dubbo自定义异常的完整步骤与测试的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Java8的常用时间api实用指南

    Java8的常用时间api实用指南

    这篇文章主要给大家介绍了关于Java8的常用时间api的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • SpringBoot中的自定义starter

    SpringBoot中的自定义starter

    这篇文章主要介绍了SpringBoot中的自定义starter,Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境(条件)进行自动配置,需要的朋友可以参考下
    2024-01-01
  • ArrayList集合初始化及扩容方式

    ArrayList集合初始化及扩容方式

    这篇文章主要介绍了关于ArrayList集合初始化及扩容方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Springboot使用cache缓存过程代码实例

    Springboot使用cache缓存过程代码实例

    这篇文章主要介绍了Springboot使用cache缓存过程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java给JFrame窗口设置热键的方法实现

    Java给JFrame窗口设置热键的方法实现

    这篇文章主要介绍了Java给JFrame窗口设置热键的方法实现,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07

最新评论