
よし、では3日目の今日はプログラミングで「計算」をしてみようか。

計算、、、。
というと「1 + 1 = 2」みたいなアレですか?

そう、そのアレだ。
Javaではとても簡単にこういった計算ができるんだ。

すると足し算だと「+」記号を使うとか?

おお正解だよ。
今日はなんだかとても調子がよさそうだね。

ではそんなぽっちゃんには、試しに「1 + 1」の計算結果を表示するプログラムを書いてみてほしい。

そんないきなり言われても。。。
でもええっと、画面に文字を表示するのには「System.out.println()」だったから、、、

よしできた!
絶対に合っている自信しかないよ!

どれどれ、、、
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
System.out.println("1" + "1");
}
}
うんうん。
ダブルクオーテーション(”)の使い方もバッチリだね。

よし!
これで実行すれば「2」と表示されるはず、、、ってアレぇ!?

「11」???
11
なるほどね。
やはり「11」になってしまったね。

ええ〜!
なんですかその「分かってましたよ」感。。。

いや、「11」になってしまったのにはちゃんとした理由があるんだよ。

う〜ん、バグとかではないのか。

ではここで1つぽっちゃんに質問なんだけど、下のプログラムはどういう結果になると思う?
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
System.out.println("あ" + "あ");
}
}
ええ〜っと、「あ」と「あ」が「+」記号でくっつくから、、、

なんかよく分からないですけど、強いて言うなら「ああ」とかですかね。。。?

では実行してみよう。
正解は、、、
ああ
お見事!
「ああ」だったね。

でもそれが一体なんの関係があると言うんですか。。。

まぁまぁ落ち着いて。
次にもう1つ質問したいんだけど、下のプログラムはどんな結果になるかな?
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
System.out.println("1" + "1");
}
}
ってさっきと全く同じプログラムじゃないですか。
ええ〜っと「1」と「1」が「+」記号でくっついちゃうから、、、アレ?

「11」だ!!!

その通り。
つまり文字同士を「+」記号で繋げただけでは数値の計算ができないんだよね。

なるほど。
これはすごくスッキリしました、、、でも。。。

これじゃ永遠に「1 + 1 = 2」ができないんじゃ。。。

大丈夫!
解決方法は簡単で、ダブルクオーテーション「”」を消してしまえばいいんだ。

んん?
つまりさっきのプログラムで言うと、、、
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
System.out.println(1 + 1);
}
}
こういうことですか?

そう。
では実行して結果を確かめてみよう。
2
おお〜!!
やっと念願の「2」が表示された!

それはよかった。
ここでとても重要なポイントをお話ししておくと、
・「”1″」と書くと文字の「1」
・「1」と書くと数字の「1」
という風にJavaは解釈するんだ。

これは今後プログラミングを学んでいく上でとても大切なことだから意識しておいてね。

なるほどメモメモ。

よし!
この点さえ押さえておけばあとはもう何でも計算できるはず。

とは言ってもまだ足し算の「+」記号しか習っていませんが、、、

おお〜っと、そうだった!
足し算ができる「+」記号以外にも
・「-」記号で引き算
・「*」記号で掛け算
・「/」記号で割り算
ができるよ!

おお〜!
四則演算全てありますね。

掛け算は「×」ではなくて「*」
割り算は「÷」ではなくて「/」
ということだけ注意しておいてね。

じゃあ最後はこれらを使ったプログラムを確認しておこうか。
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
System.out.println(5 + 5);
System.out.println(5 - 5);
System.out.println(5 * 5);
System.out.println(5 / 5);
}
}10
0
25
1
おお〜!
良い感じに答えを出してくれてる!

さらに暗算では到底できないような複雑な計算式も一瞬で答えを出してくれるよ。
ぜひ「12345 * 67890」みたいなものも試してみてね。


しがない先生、今日もありがとうございました。


コメント