java

【はじめてのJava】数学と比べてみる【コラム】


はじめてのJava

このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。


コラム

コラムでは、本編の補足などをしていきます。

この記事では関係演算子や論理演算子を使った条件式の書き方を、算数や数学の比較の書き方と見比べてみます。

※この記事で紹介する内容は筆者の主観的な内容です。一般的にJavaやプログラミングの演算と数学の演算は同じ意味とは限りません。


目次


関係演算子の条件式と比べてみる

関係演算子は変数の大小を比べるときなどに使います。数学の「x <1」「x =0」などに近い用途で利用される演算子です。

数学とJavaでのそれぞれの記述方法を比較すると以下の通りです。

内容 数学 Java 備考
xは1と等しい x = 1 x == 1 Javaの場合x = 1は代入になるので=は2つ重ねる。
xは10未満である
(10は含まれない)
x < 10 x < 10 数学でもJavaでも同じように表記。
xは10以下である
(10も含まれる)
x ≦ 10 x <= 10 Javaには1文字で≦を表す記号がないため<と=を組み合わせる。
=は右側になる。
xは10より大きい
(10は含まれない)
x > 10 x > 10 数学でもJavaでも同じように表記。
xは10以上である
(10も含まれる)
x ≧ 10 x >= 10 Javaには1文字で≧を表す記号がないため>と=を組み合わせる。
=は右側になる。
xは1と等しくない x ≠ 1 x != 1 Javaには1文字で≠を表す記号がないため!と=を組み合わせる。
=は右側になる。

論理演算子の条件式と比べてみる

論理演算子は複数の条件式を組み合わせるときに使う演算子です。数学の「x <1かつy < 1」「x <1またはy < 1」の「かつ」「または」にあたる演算子です。

数学とJavaでのそれぞれの記述方法を比較すると以下の通りです。

内容 数学 Java 備考
xは1と等しい かつ
yは1と等しい
x = 1 かつ y = 1

(x = 1) ∧ (y = 1)

x == 1 & y == 1

x == 1 && y == 1

Javaの&は1つでも2つでもOK。
迷ったら2つ書いてください。
詳しくはこちらの記事を参照
xは1と等しい または
yは1と等しい
(両方1の場合を含む)
x = 1 または y = 1

(x = 1) ∨ (y = 1)

x == 1 | y == 1

x == 1 || y == 1

Javaの|は1つでも2つでもOK。
迷ったら2つ書いてください。
詳しくはこちらの記事を参照
xかyのどちらか一方のみ
1と等しい
(両方1の場合は含まない)
x = 1 または y = 1 
ただし
x = 1 かつ y = 1
の時を除く
x == 1 ^ y == 1 どちらか一方のみが1です。
両方1の場合は除かれます。
(排他的論理和)
(x = 1)ではない (x = 1)ではない

¬(x =1)

!(x = 1) 今回の場合はx≠1(数学)や
x != 1(Java)と書き換え可能。

組み合わせた条件式と比べてみる

最後は関係演算子と論理演算子を組み合わせた場合です。先ほどの論理演算子の例ですでに組み合わせていますが、例えば数学で「1 ≦ x ≦ 10」や「x ≦ 1 またはx ≧ 10」と書く場合を考えてみます。

数学とJavaでのそれぞれの記述方法を比較すると以下の通りです。

内容 数学 Java 備考
xは1以上10以下
(1と10も含まれる)
1 ≦ x ≦ 10 x >= 1 && x <= 10

1 <= x && x <= 10

1 ≦ x ≦ 10は「1 ≦ x」と
「x ≦ 10」という2つの式が
組み合わさっています。
これをJavaで1つの式で書くことは
できません。それぞれの条件式を書き
&や&&演算子を用いて繋げます。
xは1以下または10以上
(1と10も含まれる)
x ≦ 1 またはx ≧ 10 x <= 1 || x >= 10

x <= 1 || 10 <= x

これも「x ≦ 1」と
「x ≧ 10」という2つの式が
組み合わさっています。それぞれの
条件式を書き|や||演算子を用いて
繋げます。

はじめてのJavaシリーズの目次はこちら
基本構文編の記事一覧はこちら


java 11 の練習問題一覧はこちら
はじめてのJavaシリーズの練習問題一覧はこちら

  • このエントリーをはてなブックマークに追加

PAGE TOP