変数を使う
変数を使って計算を行っていきましょう。プロジェクトjava01のパッケージstep04にクラス「Keisan2」を作成し、次のプログラムを入力してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package step04; public class Keisan2 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ int x = 1; int y = 10; x = x + 6; y = y + 2; System.out.println("x=" + x + " y=" + y); x = x + y + 2 * y; y = 10 * 2 / 2; System.out.println("x=" + x + " y=" + y); } } |
入力が完了したら、どのような表示になるか想像してみてください・・・。実行しましょう!
プログラム
プログラムを見ていきましょう。まず、10行目です。
10 |
x = x + 6; |
変数xには7行目で1が格納されています。従って「1+6」が計算されて、変数xに格納されます。イメージとしては次のような命令が実行されます。
10 |
x = 1 + 6; |
次に11行目です。
11 |
y = y + 2; |
変数yには8行目で10が格納されています。従って「10+2」が計算されて、変数yに格納されます。イメージとしては次のような命令が実行されます。
11 |
y = 10 + 2; |
変数x,yを表示しているのが、12行目です。
12 |
System.out.println("x=" + x + " y=" + y); |
表示する命令「System.out.println」のかっこ()に、奇妙な記述があります。文字列の”x=”と数値型変数xの間にプラス(+)があります。もちろん文字列と数値を足し算することはできません。この場合は変数xに格納されている値(7)が文字列として扱われ「x=」と「7」が連結され「x=7」となります。変数yも同様に文字列として連結されます。
次に14行目を見ていきます。
14 |
x = x + y + 2 * y; |
この時点で変数xに7、変数yには12が格納されているので、次のイメージの命令が実行されます。
14 |
x = 7 + 12 + 2 * 12; |
演算の優先度は数学と同様なので、「2*12」が実行された後に「7 + 12 + 24」が計算され、変数xに格納されます。※かっこ()で囲むと数学と同様にかっこ()の中が優先されます。
計算に変数を使うと計算の途中結果を格納することができますし、格納した値を何度も利用することができます。まるで、電卓のメモリーキーが無限にあるように使えるわけです。