はじめに
- 必要な前提条件
- Java プログラムの実行方法(特に、JShell)を理解している
- Shell を実行できる
- これを読んで分かること
- 式とは何か
- 値とは何か
- 演算子とは何か
体験編👋
この項目では、Java プログラムを使って電卓程度の処理を行います。Java プログラムを実際に動かしていきましょう。実行方法は前回確認した JShell です。面倒なことは抜きに、ひとまず Java に触れて体験することができます。
まずはプログラミングなどと構えたことを言わずに、「ちょっと高機能な電卓」を操作するところから始めましょう。ちょっとした計算をする際に、iPhone やパソコンの電卓アプリの代わりに、JShell で計算できるようになったらカッコいいですよね?
計算してみよう
以下のような計算を JShell でしてみましょう。
3 + 4 //=> 7 という結果が得られる(足し算)
5 - 1 //=> 4 という結果が得られる(引き算)
6 * 2 //=> 12 という結果が得られる(掛け算)
12 / 2 //=> 6 という結果が得られる(割り算)
15 % 7 //=> 1 という結果が得られる(余りを求める計算(剰余))
ほかにも、なにか思いつくことがあれば入力してみましょう。壊れることはないので安心してください。
足し算・引き算
足し算・引き算は電卓と同じ記号なので混乱しませんね。
掛け算・割り算・剰余
掛け算・割り算・剰余は記号がちょっと異なります。とはいえそんなに量は無いので、2回か3回試せばすぐ覚えますよ。
理解編👌
今回のハンズオンでは、よくある計算を行ってみました。
本当に電卓と同じ程度の仕事しかしていませんが、それでいいのです。この「電卓と同じ程度の仕事」がすべての基礎となります。
次回以降、 JShell で行える仕事の量はちょっとずつ電卓よりも大きくなります。しかし、まずは「電卓と同じ仕事」を構成する最小の要素について理解しましょう。それが 式 ・ 値 ・演算子 です(ところどころ不正確な記述もありますが、これを読んでいる人が Java 初学者の前提で、分かりやすさ優先で書いています)。
1. 全体像(式・値・演算子)
まずはこれらの用語についておおよそのイメージを掴んでください。大丈夫、見れば分かります。
まずは 5 種類の計算をお見せします:
3 + 4 //=> 7 という結果が得られる(足し算)
5 - 1 //=> 4 という結果が得られる(引き算)
6 * 2 //=> 12 という結果が得られる(掛け算)
12 / 2 //=> 6 という結果が得られる(割り算)
15 % 7 //=> 1 という結果が得られる(余りを求める計算(剰余))
体験編で入力したものです。そしてこのうち、式・値・演算子が何にあたるのかを図示します:
言葉にすると、こんなところでしょうか:
- 式は、演算子と値によって構成される
- 式は結果を持ち、結果は値である
2. 式・値・演算子を個別に
ここまでで「ふふ~ん、なるほど」と思ったかたは、これ以降の説明はいったん飛ばしてください。「もうちょっと詳しく」と思った人は、このまま解説を読み進めてください。式・演算子・値は相互に関係しあった概念です。この段階で細かい話を学習するよりも、ザックリとした理解でいいので先に進みましょう。
2-1. 値
値とは、値です。……すみませんが、ここは「なんとなく分かるだろ?」で理解してください。 1
や 2.3
や あ
などが値です。
2-2. 式
式 とは 計算されて、その結果値になるもの です。
2 + 3
は、計算された結果 5
という値になります。そのため 2 + 3
は 式 と言えます。計算のことを、コンピュータの世界では 評価 と言います。
(おまけ)評価
今後あらためて学習しますが、 評価 は私たちが日常生活で使う 計算 よりもやや広い概念です。
たとえば、「5 は 3 よりも大きいか?」という疑問には「はい」と答えますね。これを Java では 5 > 3
と書きます。 5 > 3
は、「はい」という結果が得られるため、 式 です。「ええ~」という感じですが、JShell に 5 > 3
と入力してみましょう。
たしかに true
という結果が得られましたね。true
とは真実ですが、要するに「はい(yes)」です。
では反対に 3 < 5
はどうでしょうか。こんどは false
が得られます。false
は間違ったとか誤ったという意味ですが、要するに「いいえ(no)」です。「 3 < 5
という 式 を 評価 すると、 結果 として false
という 値 が得られる」ということです。
評価がわかることで、式について少し詳しくなれたのではないでしょうか。
(おまけ)結果のない式
ふだん意識することはありませんが、結果の無い式もあります。それは、「メソッド呼び出し式を書いた場合であり、かつ、メソッドの戻り値が void
の場合」です。
これは既習者に「へえ~」と言ってもらうために書いているのですが メソッド呼び出し って 式 なんですよ。メソッド呼び出し式を評価した結果の値が戻り値です (これ、なんか感動しませんか?)。つまりあの .
が演算子ということです。そうなると、戻り値の型が void
、つまり戻り値を返さないメソッドの結果は なにもない んです。
2-3. 演算子
演算子とは、演算を表現するための記号です。演算とはざっくり 計算 のことだと理解してください。
3 + 5
の +
であれば、「 3 と 5 を足す」という演算を表現する記号です。
2-3-1. 算術演算子
算術演算子とは、演算子のうち、算術計算(足し算や掛け算など)を行うためのものです。ここからしばらくは算術演算子を中心に学習します。
2-3-2. そのほかの演算子
算術演算子以外にもたくさんの演算子が存在します。いつかまとめます!
次回予告
今回で、Java を電卓のように使用するための基本的な内容を学習しました。
しかし、電卓というにはまだ足りない機能があります。それは M です。電卓についているのを見たことがありませんか? Memory の略で、計算結果を一時的に保存しておくことができます。Java では電卓以上に便利に値を一時保存できますよ。お楽しみに!