使用数组作为参数

时间:2017-02-28 07:36:04

标签: java arrays parameters

我不明白使用数组作为参数的细节:

我创建了一个int数组和一个方法,我不明白为什么可以将参数从“note”重命名为“veraenderung”。

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]);
        }   
    }
}

3 个答案:

答案 0 :(得分:1)

  

我不明白为什么可以重命名参数

<div class="block-geomap"> <div class="block-color"> <ul class="color-list"> <li class="color-item"><span class="color-blue"></span>0-5%</li> <li class="color-item"><span class="color-green"></span>5%-10%</li> ... <li class="color-item"><span class="color-red"></span>>35%</li> <li class="color-item"><span class="color-white"></span>No Data</li> </ul> </div> <img src="https://i.stack.imgur.com/1E7z6.png"/ alt="GEO map"> </div>korrektur只是两种不同的方法,每种方法都有2个独立的签名。它们与无关(即使程序员可以像你一样命名它们);

参数的名称只是方法块中有用的本地名称;

  

java如何处理参数?即使我调用方法(注释),我还需要参数吗?

这些方法参数是强制性的。因此,您需要在方法调用中插入它们。

答案 1 :(得分:0)

我会尝试尽可能小地将其分解,以便您理解:)...

创建方法时。例如:public static void korrektur2 (int veraenderung[]) int veraenderung []可以根据需要命名...主要的是你把&#34; int []&#34;在括号内的某处,以便告诉java&#34;嘿,我的方法采用整数数组&#34;。

名称veraenderung本身仅在本地使用(在该方法中)作为参考,告诉java您解析的任何内容,该方法将起作用。

例如,当您调用上述方法并说korrektur(note);时。 note之前被声明为数组,所以当你把'注意'&#39;在korrektur方法中,它与用note替换veraenderung相同。换句话说,java用你传递给方法的变量替换你的局部变量。

并回答你的问题....现在......因为你创建了一个采用整数数组的方法...是的,你必须始终&#34;将一个整数数组放在&#34;它在调用方法时。即每次调用方法korrektur2korrektur并且你没有在其中放入一个整数数组时,Java就像&#34;嘿我创建了一个整数数组并用它来做东西...你为什么要把我留空?!?!?&#34;

我希望这能解决你的问题:)

答案 2 :(得分:0)

如果您看过.class文件,您会发现参数相同 你应该理解概念&#39;范围&#39; (可能是这个)。参数&#39; paramArrayOfInt&#39;有影响korrektur(),然后它被摧毁。在下一个方法中,它只是新的方法。这是我的理解。可能是错的,欢迎讨论。

    public class ArrayParameter
{
  public static void main(String[] paramArrayOfString)
  {
    int[] arrayOfInt1 = { 3, 2, 1, 4, 5 };
    int[] arrayOfInt2 = { 3, 2, 1, 4, 5 };
    korrektur(arrayOfInt1);
    korrektur2(arrayOfInt2);
  }

  public static void korrektur(int[] paramArrayOfInt)
  {
    for (int i = 0; i < paramArrayOfInt.length; i++)
    {
      paramArrayOfInt[i] -= 1;
      System.out.println(paramArrayOfInt[i]);
    }
  }

  public static void korrektur2(int[] paramArrayOfInt)
  {
    for (int i = 0; i < paramArrayOfInt.length; i++)
    {
      paramArrayOfInt[i] -= 1;
      System.out.println(paramArrayOfInt[i]);
    }
  }
}