SINGEKI no OJISAN

エンジニアになると決めたのだ

変数の連結 更新 自己代入

今日もやっていきます。

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には20number2には10が代入されている為

25
30

となる訳ですね。

String型は、文字列の連結が可能です。 ここに関しては、int型の計算とほぼやり方は一緒です。ただ、 文字列として連結する これだけです。 では、みていきます。

String greeting = "おはよう";
System.out.println(greeting + "田中さん");

String name = "佐藤さん";
System.out.println(greeting + name);

これで、文字列の連結ができます。 文字列を連結させるからといって、greetingnameにダブルクォーテーションは付けないようにしましょう。付けてしまうと、文字列として扱われてしまいます。 文字列の連結とは言え、変数+変数で、中の値を連結させようとしているので、気をつけましょう。 では、これの出力結果は

おはよう田中さん
おはよう佐藤さん

となります。

次に変数の中の値を更新していきます。

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--;

これだけです。 コードをスッキリ見やすくする為には、省略できるものは、した方がいいですね。(例外の時もあるのかも、、、です)