こんにちは、株式会社プロシードの「こた」です!
今回もJavaの変数に関する記事です!
・変数を使った計算
・変数を使った文字列結合
・変数の値の更新
・自己代入
・インクリメント、デクリメント
これまでは変数の定義、代入、初期化など、変数の「作り方」を学びましたね^ ^
今回は、作った変数を「どう使うか?」にフォーカスしていきます!
ここをマスターすれば、できることも増えてくるはずです^ ^
皆さんに「理解できました!」といってもらえるように頑張ります!
よろしくお願いします^ ^
前回出題したJavaの問題
前回の記事で、変数の使い方に関する問題を出題しました!
以降でこの問題を解説していきますが、もちろん問題を解いていなくても大丈夫ですので、ご心配なく^ ^
では、はじめましょう!
問題1:変数を使った計算
問題1はこちら
正解はこちら
問題1のプログラムを実行すると、「12」が出力されます。
何が起きたのかというと、5 + 7の計算結果が画面に表示されています!
詳しく見ていきましょう!
変数num1には5が、num2には7が代入されていますね!
一度代入したら、こんな風にあたかも整数かのように使うことができます!
「いったん変数に入れといて、あとで計算に使おう」みたいなイメージですね^ ^
問題2:変数を使った文字列結合
問題2はこちら
正解はこちら
こちらは問題1の文字列バージョンです!
実質的には「”マイク” + “さん、” + “こんにちは” + “。”」の文字列連結とやっていることは同じです!
これなら、以前の記事で学んだ知識をそのまま使えますね^ ^
問題3:変数の値の更新
問題3はこちら
変数の更新に関する問題です!
変数は、中身の値を後から変更することもできます!
例えば以下のプログラムを実行するとこうなります!
実行結果
赤いアンダーラインのところを見るとわかりますが、8行目と11行目は全く同じ変数の中身を出力しています!
でも、いざ実行してみると、出力結果はちがう!
変数の中身の値が更新されているということですね^ ^
変数の値の更新について、ルールを補足します!
更新するときはデータ型をつけてはいけません!
「同じ名前の変数は定義できない」「変数名が重複している」みたいなメッセージが出て、エラーになります!
気をつけてください^ ^
問題4:自己代入
問題4はこちら
正解はこちら
実行結果
ポイントは11行目です!
なんかすごい独特な書き方ですね^ ^;
でも、これは書き方として全く問題ありません!
このプログラムの動作を理解するには、= と *の優先順位を理解する必要があります。
Javaでは、代入よりも先に計算が実行されます!
ですので「a = a * 2;」は先にかけ算が実行され、その結果で変数aが更新される、ということです!
優先順位を理解していれば、演算子(記号)がたくさん出てきても大丈夫そうですね^ ^
問題5:自己代入の省略形、インクリメント、デクリメント
問題5はこちら
正解はこちら
また見慣れない記号がたくさん出てきましたね^ ^;
解説していきます!
実は問題5の見慣れない記号たちは全て、自己代入の省略形です!
上の板書を踏まえると、問題5のプログラムは以下のように解釈できます!
↓
変数bに4を足す
↓
変数bに1を足す
↓
変数bに1を引く
↓
変数bを出力する
たったこれだけです^ ^
余談ですが、1を足すことをインクリメント、1を引くことをデクリメントと言ったりもします!
最後に
お疲れさまでした!
今回は変数の使い方を解説していきました!
「わかりやすかった!」「わかりにくかった、、」など、コメントいただければ嬉しいです!
それでは、また次の記事でお会いしましょう!
最後まで読んでくださり、ありがとうございました!
以上、こたでした!