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用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • log4j日志格式加入自定义字段信息方式

    log4j日志格式加入自定义字段信息方式

    这篇文章主要介绍了log4j日志格式加入自定义字段信息方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot中使用Cookie实现记住登录的示例代码

    SpringBoot中使用Cookie实现记住登录的示例代码

    这篇文章主要介绍了SpringBoot中使用Cookie实现记住登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • SpringBoot定义过滤器、监听器、拦截器的方法

    SpringBoot定义过滤器、监听器、拦截器的方法

    本篇文章主要介绍了SpringBoot定义过滤器、监听器、拦截器的方法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-04-04
  • Spring容器注入bean的几种方式详解

    Spring容器注入bean的几种方式详解

    这篇文章主要介绍了Spring容器注入bean的几种方式详解,@Configuration用来声明一个配置类,然后使用 @Bean 注解,用于声明一个bean,将其加入到Spring容器中,这种方式是我们最常用的一种,需要的朋友可以参考下
    2024-01-01
  • javaweb实现注册登录页面

    javaweb实现注册登录页面

    这篇文章主要为大家详细介绍了javaweb实现注册登录页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 谈谈Spring 注入properties文件总结

    谈谈Spring 注入properties文件总结

    本篇谈谈Spring 注入properties文件总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • selenium高效应对Web页面元素刷新的实例讲解

    selenium高效应对Web页面元素刷新的实例讲解

    今天小编就为大家分享一篇selenium高效应对Web页面元素刷新的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Java日常练习题,每天进步一点点(25)

    Java日常练习题,每天进步一点点(25)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • SpringCloud Zuul在何种情况下使用Hystrix及问题小结

    SpringCloud Zuul在何种情况下使用Hystrix及问题小结

    这篇文章主要介绍了SpringCloud Zuul在何种情况下使用Hystrix 及问题小结,感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • java 线性表接口的实例详解

    java 线性表接口的实例详解

    这篇文章主要介绍了java 线性表接口的实现实例详解的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
    2017-09-09

最新评论