2020.07.10
値の交換クラス
はじめに
まず、変数の値を入れ替える(SWAP、スワップという)とは、どういうことかを書いておきます。例えば、aとbという名前の2つのint型変数があって、それらがa=10、b=25であったとします。2つの変数aとbの値を交換するとは、a=25、b=10にするということです。
Javaソースコード
Swap2.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
// 交換するクラス class CSwap { public int a, b; // 入れ替え public CSwap( int org_a, int org_b ) { a = org_b; b = org_a; } } // メイン public class Swap2 { public static void main( String[] args ) { // 値を代入 int a = 10; int b = 25; // 変数の値を表示 System.out.println( "交換前 : a=" + a + " b=" + b ); // 交換処理 CSwap s = new CSwap( a, b ); a = s.a; b = s.b; // 交換結果を表示 System.out.println( "交換後 : a=" + a + " b=" + b ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Swap2.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Swap2.java
実行
C:\talavax\javasample>java Swap2
実行結果
交換前 : a=10 b=25 交換後 : a=25 b=10
変数aとbの値が入れ替わっています。
Javaソースコードの解説
次に、ソースコードを順番に解説していきます。
001 002 003 004 005 006 007 008 009 010 011
// 交換するクラス class CSwap { public int a, b; // 入れ替え public CSwap( int org_a, int org_b ) { a = org_b; b = org_a; } }
016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
public static void main( String[] args ) { // 値を代入 int a = 10; int b = 25; // 変数の値を表示 System.out.println( "交換前 : a=" + a + " b=" + b ); // 交換処理 CSwap s = new CSwap( a, b ); a = s.a; b = s.b; // 交換結果を表示 System.out.println( "交換後 : a=" + a + " b=" + b ); } }
変数aとbの値をCSwap s = new CSwap( a, b );に渡します。これでs.aにはbの値、s.bにはaに値が格納されます。aにs.aの値、bにs.bの値を代入すれば交換完了です。
最後に、この値をprintlnメソッドでコンソール出力しています。
以上です。