当前位置:首页 > Java

Java如何值

2026-03-19 15:45:40Java

Java如何传递值

Java中的值传递是通过将变量的值复制给方法参数来实现的。基本数据类型(如int、double等)和对象引用在方法调用时都是按值传递的。

基本数据类型的值传递

基本数据类型在方法调用时,传递的是值的副本。方法内部对参数的修改不会影响原始变量。

public class Main {
    public static void modifyValue(int value) {
        value = 100;
    }

    public static void main(String[] args) {
        int num = 50;
        modifyValue(num);
        System.out.println(num); // 输出50
    }
}

对象引用的值传递

对象引用在方法调用时,传递的是引用的副本。方法内部对对象属性的修改会影响原始对象,但重新赋值引用不会影响原始引用。

class Person {
    String name;

    Person(String name) {
        this.name = name;
    }
}

public class Main {
    public static void modifyPerson(Person p) {
        p.name = "Alice";
    }

    public static void changeReference(Person p) {
        p = new Person("Bob");
    }

    public static void main(String[] args) {
        Person person = new Person("John");
        modifyPerson(person);
        System.out.println(person.name); // 输出Alice

        changeReference(person);
        System.out.println(person.name); // 输出Alice
    }
}

数组的值传递

数组作为对象,其引用在方法调用时也是按值传递。方法内部对数组元素的修改会影响原始数组。

public class Main {
    public static void modifyArray(int[] arr) {
        arr[0] = 100;
    }

    public static void main(String[] args) {
        int[] array = {1, 2, 3};
        modifyArray(array);
        System.out.println(array[0]); // 输出100
    }
}

不可变对象的值传递

不可变对象(如String)在方法调用时,传递的是引用的副本。方法内部对引用的重新赋值不会影响原始引用。

Java如何值

public class Main {
    public static void modifyString(String str) {
        str = "World";
    }

    public static void main(String[] args) {
        String s = "Hello";
        modifyString(s);
        System.out.println(s); // 输出Hello
    }
}

标签: Java
分享给朋友:

相关文章

Java 如何初始化

Java 如何初始化

初始化基本数据类型 基本数据类型(如 int、double、boolean 等)可以直接赋值初始化: int num = 10; double price = 29.99; boolean is…

Java如何添加事件

Java如何添加事件

添加事件的基本方法 在Java中,事件处理通常涉及事件源、事件监听器和事件对象。以下是实现事件处理的基本步骤: 定义事件监听器接口 事件监听器是一个接口,定义了处理特定事件的方法。例如,Action…

如何将Java打包成.jar

如何将Java打包成.jar

使用JDK的jar命令打包 确保JDK已安装并配置环境变量。在项目根目录(包含编译后的.class文件)执行以下命令: jar cvf YourJarName.jar * 若需指定主类(可执行jar…

Java如何换行

Java如何换行

在Java中换行的方法 使用转义字符\n 在字符串中插入\n表示换行符,适用于控制台输出或文本处理: System.out.println("第一行\n第二行"); 使用System.lineS…

Java如何实现异步处理

Java如何实现异步处理

异步处理的实现方式 Java中实现异步处理有多种方法,包括使用多线程、Future、CompletableFuture以及响应式编程框架等。以下是几种常见的实现方式: 使用多线程 通过创建新线程执行…

Java 如何初始化

Java 如何初始化

初始化基本数据类型 Java 的基本数据类型(如 int, double, boolean 等)可以直接赋值初始化: int num = 10; double price = 29.99; bo…