滚雪球学Java(35):揭秘Java方法的返回值,从void到诸多数据类型

简介: 【5月更文挑战第10天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!


前言

  在Java中,方法是指一段具有特定功能的可重复使用的代码块。在定义方法时,我们需要定义方法名、参数列表、返回值类型及方法体。其中,返回值类型表示方法返回值的类型,可以是Java基本数据类型,也可以是引用类型,甚至可以是void。本篇文章将从Java方法返回值的基础类型讲起,逐渐深入探讨Java方法返回值的详细内容。

正文

1. void类型

  void类型是Java中的一种基础数据类型,表示“无返回值”。在定义方法时,如果希望该方法不返回任何值,则可将返回值类型设为void。

下面是一个简单的示例:

public class Demo {
   
   
    public static void main(String[] args) {
   
   
        printHello();
    }

    public static void printHello() {
   
   
        System.out.println("Hello");
    }
}

  在这个示例中,我们定义了一个名为printHello的方法,该方法没有任何参数,返回值类型为void。在main方法中调用printHello方法,程序会输出“Hello”字符串。

2. 基本数据类型

  除了void类型之外,Java还支持一系列基本数据类型作为方法返回值类型。这些基本数据类型分别是int、short、long、float、double、byte、boolean、char。下面是这些基本数据类型的示例:

public class Demo {
   
   
    public static void main(String[] args) {
   
   
        int result = add(1, 2);
        System.out.println(result); // 3

        double area = circleArea(3);
        System.out.println(area); // 28.274333882308138
    }

    public static int add(int num1, int num2) {
   
   
        return num1 + num2;
    }

    public static double circleArea(double radius) {
   
   
        return Math.PI * radius * radius;
    }
}

  在这个示例中,我们定义了两个方法:add和circleArea。add方法接收两个int类型的参数,返回它们的和;circleArea方法接收一个double类型的参数,返回半径为该参数的圆的面积。在main方法中调用这两个方法,分别将返回值赋值给result和area变量,并输出它们的值。

3. 引用类型

  除了基本数据类型之外,Java还支持使用引用类型作为方法返回值类型。在Java中,引用类型包括类、接口、数组等。下面是一个使用类作为返回值类型的示例:

public class Demo {
   
   
    public static void main(String[] args) {
   
   
        Person p = createPerson("Tom", 20);
        System.out.println(p.getName()); // Tom
        System.out.println(p.getAge()); // 20
    }

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

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 void setName(String name) {
   
   
        this.name = name;
    }

    public int getAge() {
   
   
        return age;
    }

    public void setAge(int age) {
   
   
        this.age = age;
    }
}

  在这个示例中,我们定义了一个名为Person的类,并在createPerson方法中返回一个Person对象。在main方法中调用createPerson方法,并使用返回的Person对象输出其name和age属性的值。

4. 返回值的多态

  Java中的继承与多态概念可以拓展到方法的返回值类型。具体来说,如果一个方法的返回值类型是父类或接口类型,那么该方法可以返回其子类或实现类的对象。

下面是一个使用多态作为返回值类型的示例:

public class Demo {
   
   
    public static void main(String[] args) {
   
   
        Animal a1 = getAnimal("dog");
        Animal a2 = getAnimal("cat");

        System.out.println(a1.getName()); // dog
        System.out.println(a2.getName()); // cat
    }

    public static Animal getAnimal(String type) {
   
   
        if (type.equals("dog")) {
   
   
            return new Dog("dog");
        } else {
   
   
            return new Cat("cat");
        }
    }
}

interface Animal {
   
   
    String getName();
}

class Dog implements Animal {
   
   
    private String name;

    public Dog(String name) {
   
   
        this.name = name;
    }

    public String getName() {
   
   
        return name;
    }
}

class Cat implements Animal {
   
   
    private String name;

    public Cat(String name) {
   
   
        this.name = name;
    }

    public String getName() {
   
   
        return name;
    }
}

  在这个示例中,我们定义了一个Animal接口以及两个实现该接口的子类:Dog和Cat。在getAnimal方法中根据参数type的值返回对应的Animal子类对象,在main方法中调用getAnimal方法,分别将返回值赋值给a1和a2变量,并输出它们的name属性的值。

附录源码

  如上涉及所有源码均已上传同步在 Gitee,提供给同学们一对一参考学习,辅助你更迅速的掌握。

小结

  本篇文章详细介绍了Java方法的返回值类型,包括基本数据类型、引用类型以及多态的应用。在实际开发中,我们需要根据具体需求选择合适的返回值类型,并保证方法的返回值类型与方法实现的功能一致。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

目录
相关文章
|
4天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
1月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
74 9
|
28天前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
41 4
|
28天前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
28 4
|
1月前
|
Java
Java基础之数据类型
Java基础之数据类型
20 6
|
1月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
55 7
|
26天前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
26 1
|
2天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
2天前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。