2016/01/29 公開
・変数値の交換
ここでは、2つ変数の値を入れ替える方法について説明します。この入れ替えは、いろいろな場面で使われますので、ぜひ参考にしてください。
まず、変数の値を入れ替える(SWAP、スワップという)とは、どういうことかを書いておきます。例えば、aとbという名前の2つのint型変数があって、それらがa=10、b=25であったとします。2つの変数aとbの値を交換するとは、a=25、b=10にするということです。
b=25であったとします。2つの変数aとbの値を交換するとは、a=25、b=10にするということです。
ソースコードを書くと以下のようになります。
Swap1.java ← クリックしてダウンロードページに移動001: public class Swap1 { 002: public static void main( String[] args ) { 003: // 値を代入 004: int a = 10; 005: int b = 25; 006: 007: // 変数の値を表示 008: System.out.println( "交換前 : a=" + a + " b=" + b ); 009: 010: // 交換処理 011: int w = a; // 一時変数wにaを代入 012: a = b; 013: b = w; 014: 015: // 交換結果を表示 016: System.out.println( "交換後 : a=" + a + " b=" + b ); 017: } 018: }
Swap1の出力結果
交換前 : a=10 b=25 交換後 : a=25 b=10
変数aとbの値が入れ替わっています。
次に、ソースコードの中で変数の交換処理を行っている箇所について説明します。
010: // 交換処理 011: int w = a; // 一時変数wにaを代入 012: a = b; 013: b = w;
変数aの値を変数wに代入してします。そのあと、変数aに変数bの値を代入し、変数bに変数wの値を代入しています。変数wを使う理由は、12行目のa = b;でaとbが同じ値になり、元のaの値が無くなってしまうからです。変数wに元のaの値を代入しておくことで、bに代入する値がなくなることを防いでいます。
このように、処理のために一時的に変数aの値を変数wに代入するので、この場合の変数wは一時変数と呼ばれます。
興味のある方は、交換処理を以下のように変えて試してみてください。交換がうまくいかないことが確認できます。
a = b; b = a;
a=bで、bの値がaに代入され、元のaの値が変わります。そのaの値をb=aで、bに代入しているので交換に失敗します。
■関連コンテンツ
配列の並び替え | 配列をランダムに並び替える方法を解説 |
Javaの変数 | Javaで扱う変数について解説 |
値の交換クラスクラスを使って2つの変数の値を入れ替える方法を紹介しています。 |
■新着情報
2022.07.07 | 外部プログラムの実行 | exeファイル実行 |
2022.07.06 | 完全数 | 6=1+2+3 |
■広告