変数の連結 更新 自己代入
今日もやっていきます。
int型変数では、数値が入った変数であれば、計算が可能です。 数値と変数の計算も、変数同士の計算も可能です。
まずは、変数+数値
int number1 = 20; System.out.println(number1 + 5);
変数の定義と同時に、20と言う値を代入します。
そして、次に、出力させます。System.out.println(number1 + 5);
number1
には、20
を代入しているので、結果は
25
となるわけです。
次に変数+変数です。
int number1 = 20; System.out.println(number1 + 5); int number2 = 10; System.out.println(number1 + number2);
number1
には20
、number2
には10
が代入されている為
25 30
となる訳ですね。
String型は、文字列の連結が可能です。 ここに関しては、int型の計算とほぼやり方は一緒です。ただ、 文字列として連結する これだけです。 では、みていきます。
String greeting = "おはよう"; System.out.println(greeting + "田中さん"); String name = "佐藤さん"; System.out.println(greeting + name);
これで、文字列の連結ができます。
文字列を連結させるからといって、greeting
やname
にダブルクォーテーションは付けないようにしましょう。付けてしまうと、文字列として扱われてしまいます。
文字列の連結とは言え、変数+変数
で、中の値を連結させようとしているので、気をつけましょう。
では、これの出力結果は
おはよう田中さん おはよう佐藤さん
となります。
次に変数の中の値を更新していきます。
String name = "Tanaka"; System.out.println(name); name = "Sato"; System.out.println(name);
Tanaka Sato
変数の中には"Tanaka"
を代入していました。
だから、System.out.println(name)
で、
Tanaka
が出力されました。
ですが、name = "Sato"
で上書きしたので、
次の出力は、Sato
に変わってるのがわかりますね。
次に、自己代入についてです。 なんと説明すればいいかわからないので、とりあえず、書いてみます。
int x = 10; System.out.println(x); x = x + 5; System.out.println(x);
10 15
簡単に説明すると、元々、x
と言う変数のなかに10
と言うデータが入っていました。
そこにx = x + 5
と言う式で、元の10
に+ 5
して代入してください、と言った感じです。
数学などの式と比べると少し変な式になりますが、プログラミングでは=
は代入なので気にしないでください。
ちなみに、自己代入の省略した書き方があります。
未省略 x = x + 10; x = x - 10; x = x * 10; x = x / 10; x = x % 10;
省略 x += 10; x -= 10; x *= 10; x /= 10; x %= 10;
変数に1を足す、引くの場合はさらに、省略できます。
未省略 x = x + 1; x = x - 1;
省略 x++; x--;
これだけです。 コードをスッキリ見やすくする為には、省略できるものは、した方がいいですね。(例外の時もあるのかも、、、です)