gpt4 book ai didi

java - 仍然不确定为什么这个整数保持不变

转载 作者:搜寻专家 更新时间:2023-11-01 03:50:21 26 4
gpt4 key购买 nike

<分区>

我正在学习 Java 中的引用和数据类型,这段特殊的代码仍然让我感到困惑。我知道 Java 中的所有基本类型都是值类型(byte、short、int、long、float、double、boolean、char),当您使用字符串或对象时,它是引用类型。当我被教导去声明和初始化一个变量时,我被告知要把它想象成一个盒子。因此,如果我创建一个变量“y”并赋予它一个值“5”,就好像我创建了一个名为“y”的框,其中包含值 5。我的老师说如果我然后尝试在 a 中调用 y方法(查看下面的代码了解更多详细信息)该值将保持不变,因为它是原始数据类型,所以我只传入 5,而不是包含 5 的变量。我很困惑,因为如果我传入值 5,为什么下面的方法不加一。

public class ReferenceAndValueTypes {
public static void main(String[] args) {

int y = 5;
addOneTo(y);

System.out.println(y);

}


static void addOneTo(int number){
number = number + 1;
}
}

输出是 5,这让我很困惑。老师说因为int是值类型所以我们没有传入y变量,我们操作的不是那个变量而是那个变量的值。但是,该变量的值为 5,既然该方法加了一个,它不应该是 6 吗?或者,是不是因为 y 是一个值类型,该方法无法使用它,所以它只需要打印出 y 的初始值 5?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com