使用数组作为参数的java
我不了解将数组用作参数的细节:
我已经创建了一个int数组和一个方法,但我不明白为什么可以将参数从“note”重命名为“veraendrung”,如下所示
Java如何处理参数?即使调用该方法,是否也需要参数(注意)
public class ArrayParameter {
public static void main(String[] args) {
int[] note = {3,2,1,4,5}; //Array
int[] note2 = {3,2,1,4,5};
korrektur(note);
korrektur2(note2);
}
//Der Methode "korrektur" wird der int Array (note) übergeben!
public static void korrektur (int note[]) {
for (int i = 0; i<note.length; i++) {
//Sobald die for Schleife aufgerufen wird, werden die jeweiligen Werte um -1 reduziert
note[i]-=1;
System.out.println(note[i]);
}
}
//int "veraenderung" ist ein Parameter
public static void korrektur2 (int veraenderung[]) {
for (int i = 0; i<veraenderung.length; i++) {
//Sobald die for Schleife aufgerufen wird, werden die jeweiligen Werte um -1 reduziert
veraenderung[i]-=1;
System.out.println(veraenderung[i]);
}
}
}
# 1 楼答案
如果你已经看过了。类文件,您会发现参数是相同的
您应该理解“vars范围”的概念(可能是这样)。参数“paramArrayOfInt”具有korrektur()的影响,则会对其进行销毁。在下一个方法中,它只是一个新方法。这是我的理解。可能有错,欢迎大家讨论
# 2 楼答案
korrektur
和korrektur2
只是两种不同的方法,每种方法都有两个独立的签名。它们之间没有任何关联(即使程序员可以像您一样为它们命名)参数的名称只是在方法块中有用的局部名称
这些方法参数是必需的。因此,您需要在方法调用中插入它们
# 3 楼答案
我会尽量把它分解得小一些,让你明白:)
当您创建方法时。示例:
public static void korrektur2 (int veraenderung[])
int veraendrung[]可以根据需要命名为任何名称。。。最重要的是,将“int[]”放在括号内的某个地方,以便告诉java“嘿,我的方法使用整数数组”VeradenRung这个名称本身仅在本地(在该方法中)用作一个引用,告诉java您解析到该方法中的任何内容都将起作用
例如,当您调用上面的方法并说
korrektur(note);
时。note以前被声明为数组,所以当您将“note”放在方法korrektur中时,它与用note替换VeradenRung相同。换句话说,java用传入方法的局部变量替换局部变量为了回答你的问题。。。。现在。。。由于您创建了接受整数数组的方法。。。是的,在调用该方法时,必须始终“在其中放置整数数组”。也就是说,每次你调用方法
korrektur2
或korrektur
时,如果你没有在里面放一个整数数组,Java就会像“嘿,我是被创建来获取一个整数数组并处理它的……你为什么让我空着?!”我希望这解决了你的问题:)