JShell で、Javaを電卓として使おう(式、値、演算子)


はじめに

  • 必要な前提条件
    • 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. 値

とは、値です。……すみませんが、ここは「なんとなく分かるだろ?」で理解してください。 12.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 では電卓以上に便利に値を一時保存できますよ。お楽しみに!