変数(へんすう) つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次に変数への値の入れ方だ。
もう初期化で見てるから
何となく分かってると思うけど。
変数への値の入れ方は、
「=」を挟んで右から左へ入れる。
つまり、普通の計算とは逆なんだ。
右辺で出した結果を、最後に
左辺に入れるようになっている。
これを値を代入するっていうんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
変なのー。
普通の計算と答えが
逆なんだ。
やっぱり変な数だねー。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
結果が入るのを
覚えておいてくれ。
計算が終わってから
箱に入れてるんだよ。 |
 |
|
 |
はい。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
「解答改変 変数対応」の
39行目がそれだな。
値と同じように利用できるよ。
aとbの値はコピーされて
計算されているから、
元の変数の値は変わらないよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、変数は
同じ変数に再度値を入れた場合は、
後から入れた値で上書きされる。
何度でも上書きして使えるよ。
「解答改変 変数対応」を
ちょっと変えてみたよ。
この例のようにして、bを使いまわして、
変数c を無くすこともできるよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
今回のでは、
変数無くす意味
無いけどね。
分かりづらく
なるだけだ。 |
|
なんか
変な感じー |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
a と b を足して、
結果を、また b に
入れちゃってるんだ。
自分自身に入れることも
できるんだね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
練習問題1 解答改変 変数の再利用
(KotoTest2のKNMain.java)38行目~ |
|
・・・ |
|
|
|
|
|
038 |
|
//
昼(変数 a)と夜(変数 b)の合計を計算して変数
b
に代入 |
|
|
|
039 |
|
b = a + b; |
|
|
|
040 |
|
//昼と夜の合計を表示 |
|
|
|
041 |
|
System.out.println("昼と夜の合計は"
+
b +
"円です。"); |
|
|
|
・・・ |
|
|
|
|
|
|
黄色の部分が追加・改変部分です。
書き写して実行して下さい。
テストが終わったら元に戻して下さい。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そう、変数自身に値を
代入できる。
これを利用すれば
変数に値を
加算する事ができる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
 |
普通に
足せばいいん
じゃないの? |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、例えば
初期化で10になっている
変数 aに、さらに10足すには
どうしたらいい? |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
10 + 10ね。 |
|
どうすれば
足せるかな? |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
あ、そっか。
変数は
普通に10入れたら
上書きされて10に
なっちゃうんだっけ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
どうすれば変数に10足せる? |
|
・・・ |
|
|
|
|
|
|
|
//変数 a を宣言して、10で初期化 |
|
|
|
|
|
int
a = 10; |
|
|
|
|
|
|
|
|
|
|
|
//さらに10足して20にしたいが、 |
|
|
|
|
|
//普通に入れると上書きされて10になってしまう |
|
|
|
|
|
a = 10; |
|
|
|
・・・ |
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この場合、aに加算するには
aに10足したものを、
またaに入れるんだ。
a = a + 10 ってね。
例えばゲームだと、
エネルギー用の変数を作って
値を増やしたり減らしたりできるな。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
自分自身の値を使って
加算するんだ。
代入前の値を使って
足さなきゃだめなんだね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
もちろん、
これは
加減乗除
に使えるよ。 |
|
|
 |
変数はこうやって
加算するんだ。
なんか
不思議だけど。 |
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今はなんとなくでいいよ。
こんなやり方があるんだって
覚えておいてくれ。
これから、いろいろ使い方を
見ていくから自然と分かるよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
それで
いいよ。 |
|
|
 |
うーん、
分かったような
ないような。 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
いろいろ
覚えなきゃいけない
ルールがあるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
変数は「箱」って
理解しとけ。 |
 |
|
 |
はーい。 |
|
|
 |
|
 |
|
変数の使い方の注意点 |
|
|
|
同じ変数に何回でも値を入れて、使用することができる。 |
|
|
|
 |
int a = 0;
a = 10;
System.out.println("最初のaの値は"
+ a);
a = 20;
System.out.println("2番目のaの値は"
+ a); |
|
|
|
|
|
|
|
|
|
初期化の代入は計算や変数でも可能。 |
|
|
|
 |
int a = 100 * 5;
int b = a; |
|
|
|
|
|
|
|
|
|
数値型の変数は、前後に文字列値がある場合、文字列値に自動変換され連結される。 |
|
|
|
 |
int a = 0;
System.out.println("値は"
+ a); |
|
|
|
|
|
|
|
|
|
初期化しないで使うことは不可。 |
|
|
|
 |
int a;
System.out.println("値は"
+ a); |
|
|
|
|
|
|
|
|
|
範囲外の値を入れることは不可。 |
|
|
|
 |
int a = 0;
a = 999999999999999999999999999999999999999999999; |
|
|
|
|
|
|
|
|
|
違う型の値を入れることは不可。 |
|
|
|
 |
int a = 0;
a = "Hello world!"; |
|
|
|
|
|
|
|
|
|
宣言後は型の変更は不可。 |
|
|
|
 |
int a = 0;
byte a = 0; |
|
|
|
|
|
|
|
|
|
関数内で同じ変数名は不可。 |
|
|
|
 |
int a = 0;
byte a = 0; |
|
|
|
|
|
|
 |
|
 |
|
|