当前位置:首页 > Java

java 如何传值

2026-03-03 08:40:49Java

基本数据类型传值

在Java中,基本数据类型(如intdoublechar等)通过值传递。方法调用时,传递的是变量的副本,修改副本不会影响原始值。

示例代码:

public class Main {
    static void modifyValue(int num) {
        num = 20; // 修改副本
    }
    public static void main(String[] args) {
        int original = 10;
        modifyValue(original);
        System.out.println(original); // 输出10,原始值未改变
    }
}

对象类型传值

对象类型(如数组、类实例)通过引用传递的副本。方法接收的是对象引用的副本,但副本和原始引用指向同一对象,因此修改对象属性会影响原始对象。

java 如何传值

示例代码:

class Person {
    String name;
    Person(String name) { this.name = name; }
}
public class Main {
    static void modifyObject(Person p) {
        p.name = "Alice"; // 修改对象属性
    }
    public static void main(String[] args) {
        Person person = new Person("Bob");
        modifyObject(person);
        System.out.println(person.name); // 输出"Alice",原始对象被修改
    }
}

数组传值

数组作为对象类型,遵循引用传递的规则。方法内修改数组元素会影响原始数组。

java 如何传值

示例代码:

public class Main {
    static void modifyArray(int[] arr) {
        arr[0] = 100; // 修改数组元素
    }
    public static void main(String[] args) {
        int[] originalArray = {1, 2, 3};
        modifyArray(originalArray);
        System.out.println(originalArray[0]); // 输出100,原始数组被修改
    }
}

不可变对象传值

对于String等不可变对象,方法内修改会创建新对象,原始引用保持不变。

示例代码:

public class Main {
    static void modifyString(String s) {
        s = "New String"; // 创建新对象
    }
    public static void main(String[] args) {
        String original = "Original";
        modifyString(original);
        System.out.println(original); // 输出"Original",原始字符串未变
    }
}

总结

  • 基本数据类型:传递值的副本,原始值不受影响。
  • 对象类型:传递引用的副本,修改对象属性会影响原始对象。
  • 不可变对象:修改会创建新对象,原始引用不变。

标签: java
分享给朋友:

相关文章

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何输入字符串

java如何输入字符串

使用 Scanner 类 在 Java 中,可以通过 java.util.Scanner 类来输入字符串。以下是一个示例代码: import java.util.Scanner; public c…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…