Javaプログラミング学習サイト ゆるゆるプログラミング

2020/07/10 公開

・値の交換クラス

ここでは、2つ変数値を入れ替える方法について説明します。

まず、変数値を入れ替える(SWAP、スワップという)とは、どういうことかを書いておきます。例えば、abという名前の2つのint型変数があって、それらがa=10b=25であったとします。2つの変数abの値を交換するとは、a=25b=10にするということです。

クラスを使ったソースコードを書くと以下のようになります。

Swap2.java ← クリックしてダウンロードページに移動
001:    // 交換するクラス
002:    class CSwap {
003:    	public int a, b;
004:    
005:    	// 入れ替え	
006:    	public CSwap( int org_a, int org_b )
007:    	{
008:    		a = org_b;
009:    		b = org_a;
010:    	}
011:    }
012:    
013:    
014:    // メイン
015:    public class Swap2 {
016:    	public static void main( String[] args ) {
017:    		// 値を代入
018:    		int a = 10;
019:    		int b = 25;
020:    
021:    		// 変数の値を表示
022:    		System.out.println( "交換前 : a=" + a + "  b=" + b );
023:    
024:    		// 交換処理
025:    		CSwap s = new CSwap( a, b );
026:    		a = s.a;
027:    		b = s.b;
028:    		
029:    		// 交換結果を表示
030:    		System.out.println( "交換後 : a=" + a + "  b=" + b );
031:    	}
032:    }

Swap2の出力結果

交換前 : a=10  b=25
交換後 : a=25  b=10

変数abの値が入れ替わっています。

次に、ソースコードを順番に解説していきます。

001:    // 交換するクラス
002:    class CSwap {
003:    	public int a, b;
004:    
005:    	// 入れ替え	
006:    	public CSwap( int org_a, int org_b )
007:    	{
008:    		a = org_b;
009:    		b = org_a;
010:    	}
011:    }

int型値を入れ替えるCSwapクラスです。このクラスは、クラスをnewしたときに渡した2つの値を変数に代入するものです。

int型変数org_aの値をクラスメンバ変数b、int型変数org_bの値をクラスメンバ変数aに代入しています。

016:    	public static void main( String[] args ) {
017:    		// 値を代入
018:    		int a = 10;
019:    		int b = 25;
020:    
021:    		// 変数の値を表示
022:    		System.out.println( "交換前 : a=" + a + "  b=" + b );
023:    
024:    		// 交換処理
025:    		CSwap s = new CSwap( a, b );
026:    		a = s.a;
027:    		b = s.b;
028:    		
029:    		// 交換結果を表示
030:    		System.out.println( "交換後 : a=" + a + "  b=" + b );
031:    	}
032:    }

変数aとbの値をCSwap s = new CSwap( a, b );に渡します。これでs.aにはbの値s.bにはaに値が格納されます。as.aの値、bs.bの値を代入すれば交換完了です。

最後に、この値をprintlnメソッドコンソール出力しています。

■関連コンテンツ

配列の並び替え 配列をランダムに並び替える方法を解説
Javaの変数 Javaで扱う変数について解説
2つの変数値を交換する方法を解説-画像

変数値の交換

2つの変数の値を入れ替える方法を紹介しています。

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

Topへ