LESSON 09 ・ 変数
再代入
値を上書きする
var a = 2
a = 3
print(a)
変数の値はあとから変更できます。最初にa = 2で2を保存し、次にa = 3で3に上書きしています。そのため、print(a)すると3が出力されます。
今の値を使って更新する
var age = 12
print(age)
age = age + 1
print(age)
変数に格納された値を使って計算し、結果を同じ変数に代入することもできます。ageは年齢を表す変数ですが、誕生日が来て年齢を1増やす処理は、age = age + 1というように書けます。
age = age + 1という式は、数学では=が成り立たず不正な式ですが、プログラミング言語では=は代入を表すので、「=の右側の値を、=の左側の変数に代入する」という意味になります。age ← age + 1(age + 1の結果をageに入れる)のように考えると分かりやすいかもしれません。
省略して書く
var age = 12
print(age)
age += 1
print(age)
age = age + 1などのコードはよく書くので、省略形が用意されています。age += 1と書くと、age = age + 1という意味になります。
PRACTICE
演習問題
コードを自分で書いて実行してから、答えと解説を確認しましょう。
問題1
変数aに最初は2を代入し、その後5を再代入してから、aを表示してください。
答えと解説を見る
模範解答
var a = 2
a = 5
print(a)
後から代入した5で元の値が上書きされるため、5が表示されます。
問題2
変数ageに14を代入し、今の値を使って1増やしてから表示してください。+=を使って書いてみましょう。
答えと解説を見る
模範解答
var age = 14
age += 1
print(age)
age += 1はage = age + 1と同じ意味です。更新後の15が表示されます。
問題3
在庫数を表す変数stockを20で始めます。商品が8個入荷したので増やし、その後5個売れたので減らして、最後の在庫数を表示してください。
答えと解説を見る
模範解答
var stock = 20
stock += 8
stock = stock - 5
print(stock)
今の在庫数を使って、入荷分を足し、販売分を引いています。最後の在庫数は23です。