2017-03-29 4 views
0

私はjavaを初めて使い、メソッドやクラスについて少しだけ学んだので、この章全体について本当に混乱しています。このコードは私たちのレビューのパワーポイントから来て、私は本当にそれを行う方法を知らない。最後のセクションがクラスに入るはずです。しかし、これはパワーポイントが言う方法です。誰かがこのコードがどのように動作するのか、具体的にステップごとに印刷結果を得る方法を説明してください。私は本当に感謝、ありがとう!このコード(プリミティブタイプのパラメータ)はどのように機能しますか?

public class MyClass { 
    public void swap(int x, int y){ 
     int temp = x; 
     x = y; 
     y = temp; 
    } 
} 

int w = 10, 
z = 20; 
MyClass m = new MyClass(); 
m.swap(w,z); 
System.out.println(w + " " + z); 
+1

コードの画像の転記は同じではありません実際のコードを転記します。あなたはあなたの質問を編集し、コードの実際のテキスト*をそれに貼り付ける必要があります。 – azurefrog

+0

はい、最後の部分は(メイン)メソッドの内側にあるはずです。このメソッドを 'MyClass'の中に入れることができます。しかし、このスワップメソッドは何もスワップしないので、コードはちょっと怪しいです。 – Kayaman

+0

基本的なチュートリアルをお勧めします。https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html – dullpointer

答えて

0

Javaを実行するには、メインの方法が必要です。

public static void main(String[] args) { 
    // Do stuff 
} 

だから、あなたはそれを実行取得したいの例を書き換えることができます。

public class Main { 
    public static void main(String[] args) { 
    int w = 10, 
    z = 20; 
    MyClass m = new MyClass(); 
    m.swap(w,z); 
    System.out.println(w + " " + z); 
    } 
} 

public class MyClass { 
    public void swap(int x, int y) { 
     int temp = x; 
     x = y; 
     y = temp; 
    } 
} 

をこのコード例の全体のポイントは、Javaが値ではなく参照によってプリミティブ型を渡すことです。主な方法を見てください。 w = 10とz = 20という2つの整数があります。その後、wとzをスワップメソッドに渡します。 javaはこれらのプリミティブ型を値として渡すので、元のwとzはスワップによって変更されず、wはまだ10でzはまだ20であるprintlnによって証明されます。

+0

ありがとうございました! –

+0

問題ありません、喜んで助けてください:-) –

関連する問題