ゆるゆるプログラミング

・変数値の交換

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

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

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

Swap1.java
001:    import java.util.Calendar;
002:    
003:    public class Swap1 {
004:    	public static void main( String[] args ) {
005:    		// 値を代入
006:    		int a = 10;
007:    		int b = 25;
008:    
009:    		// 変数の値を表示
010:    		System.out.println( "交換前 : a=" + a + "  b=" + b );
011:    
012:    		// 交換処理
013:    		int w = a;	// 一時変数wにaを代入
014:    		a = b;
015:    		b = w;
016:    		
017:    		// 交換結果を表示
018:    		System.out.println( "交換後 : a=" + a + "  b=" + b );
019:    	}
020:    }

Swap1の出力結果

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

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

次に、ソースコードの中で変数の交換処理を行っている箇所について説明します。

012:    		// 交換処理
013:    		int w = a;	// 一時変数wにaを代入
014:    		a = b;
015:    		b = w;

変数aの値を変数wに代入してします。そのあと、変数aに変数bの値を代入し、変数bに変数wの値を代入しています。変数wを使う理由は、14行目のa = b;abが同じ値になり、元のaの値が無くなってしまうからです。変数wに元のaの値を代入しておくことで、bに代入する値がなくなることを防いでいます。

このように、処理のために一時的に変数aの値を変数wに代入するので、この場合の変数w一時変数と呼ばれます。

興味のある方は、交換処理を以下のように変えて試してみてください。交換がうまくいかないことが確認できます。

        a = b;
        b = a;

■関連コンテンツ

配列の並び替え 配列をランダムに並び替える方法を解説
変数について Javaで扱う変数について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ