【Java】初心者もすぐわかる!Javaの演算子について!
  • facebookページ
  • twitterページ
  • 2019.10.30

    【Java】初心者もすぐわかる!Javaの演算子について!

    演算子はプログラムを組む上で必ず使います。

    ですから演算子についての知識というのは基本中の基本なのですが、まだ学習を始めたばかりの方にとっては結構忘れがちなものやあまり理解できていないものもあると思います。

    そこで今回はこの演算子についておさらいも踏まえて解説していきます。

    演算子とは

    プログラムには沢山の演算子が使われています。計算はもとより、左辺と右辺を比較する場合や一定の条件に合致するか否か、また、変数への代入時などなど。

    中でも一番理解し易く馴染みの深い演算子は恐らく計算につかう演算子でしょうか。

    小学生の頃に習った算数にも演算子は沢山使われています。何のことかというと、足し算や引き算といった四則計算に使われている記号のことです。

    プログラムではこれらの計算の他にも文字列の結合やデータの参照など色々な部分で演算子を使います。

    演算子の種類

    演算子にはいくつかの種類が存在します。

    まずはどのような種類があるのかについて見てみましょう。

    演算子の種類
    • 算術演算子
    • 代入演算子
    • 比較演算子
    • 論理演算子
    • ビット演算子

    これらの詳細は後述しますが、こうやって見るだけでも色々な種類の演算子が使われていることがわかります。

    ただこれらの中には、馴染みの深いものや説明を読めばすぐに理解できるものが多くありますので、学習を始めてあまり時間が経っていない方も身構える必要は全くありません。

    こういった種類があるんだなという程度で覚えておいてください。

    次からはこれらの演算子をコードも踏まえながら詳細に解説していきたいと思います。

    算術演算子

    これは基本中の基本であり、これを理解できていないというのであればプログラムは絶対に組めないと思った方が良いでしょう。

    まずはこの部分のおさらいも踏まえてどのようなものがあり、どういった形で利用するのかについて解説します。

    加算

    足し算のことです。プラス記号(+)を使って数値を足すほかに、文字列と文字列を結合させる場合にも使います。

    減算

    引き算のことです。マイナス記号(-)を使って計算をします。
    加算では文字列も扱えましたが、減算では文字列を扱えません。
    もし文字列から1文字削除したいというのであれば、それ専用のメソッドを使うことになります。

    乗算

    掛け算のことです。パソコンでは一般的な掛け算の記号(×)は無いのでアスタリスク(*)が掛け算の記号に割り振られています。

    除算

    割り算のことです。こちらも一般的に使われている記号はありませんのでスラッシュ(/)が割り振られています。

    注意すべき点としては、プログラミングの世界では単純に割り算をした場合、浮動小数点も余りも算出されません。

    詳しくは後述しますが、例えばスラッシュ(除算に使う記号)を使って5割る3を計算すると返ってくる値は1となります。

    剰余

    割り算で割り切れない場合の余りのことです。プログラミングの世界ではパーセント(%)記号を使って計算します。

    こちらも後述しますが、剰余計算をする場合の注意点としては、パーセント(剰余に使う記号)を使って計算する場合、剰余の部分しか返ってこないということです。

    インクリメント・デクリメント

    インクリメントとは数値を1ずつ足していくことで、デクリメントは逆に数値を1ずつ引いていくことを言います。
    インクリメントはプラス(+)を二つ連続で記述し、デクリメントはマイナス(-)を二つ連続で記述することで作用します。
    またこれら二つの演算子には前置形と後置形があり、前置形は1を加算または減算した後で変数に代入するのに対し、後置形は変数に代入した後で1を加算または減算します。
    インクリメント及びデクリメントはループ処理で使われるケースが一般的です。

    コードで記述

    それでは今まで解説してきた記号を使って実際のコードで記述してみましょう。

    実行結果

    インクリメント・デクリメントをループ処理で使う場合は以下のように記述します。

    実行結果

    代入演算子

    代入演算子は名前の通り、変数に文字や数値を代入する場合に使う演算子です。

    イコール(=)はプログラミングでもよく出てくる代入演算子の一つです。

    数学の世界でも意味は同じで、x = 3 + 5という式は3に5を足した数をxに代入するという意味で使われているはずです。

    それでは代入演算子にはどのようなものがあるのか見てみましょう。

    代入

    イコール(=)を使って表します。

    加算して代入

    プラス記号(+)とイコール(=)を連続で記述します。

    減算して代入

    マイナス記号(-)とイコール(=)を連続で記述します。

    乗算して代入

    アスタリスク(*)とイコール(=)を連続で記述します。

    除算して代入

    スラッシュ(/)とイコール(=)を連続で記述します。

    余りを代入

    パーセント(%)とイコール(=)を連続で記述します。

    コードで記述

    それでは今まで解説してきた記号を使って実際のコードで記述してみましょう。

    実行結果

    比較演算子

    比較演算子とは、左辺と右辺の数値が同じかどうか等の比較をする場合に使う演算子です。

    左辺は右辺より大きい

    左辺 > 右辺という形で記述します。

    左辺は右辺より小さい

    左辺 < 右辺という形で記述します。

    左辺は右辺以上

    左辺 >= 右辺という形で記述します。

    左辺は右辺以下

    左辺 <= 右辺という形で記述します。

    左辺は右辺は等しい

    左辺 == 右辺という形で記述します。

    左辺は右辺は同じではない

    左辺 != 右辺という形で記述します。

    コードで記述

    それでは今まで解説してきた記号を使って実際のコードで記述してみましょう。

    実行結果

    if文を使わずそのままprintln()で表示させるとBoolean型として「true/false」で返ってきます。

    また文字列の比較にはequalsメソッドを使わないと正しい比較が出来ないので注意してください。

    論理演算子

    真偽の比較のための演算子のことです。結果はtrue/falseで返ってきます。

    aかつbがtrueの場合

    アンパサンド(&)を続けて二つ記述します。aとbが両方真の場合にtrueを返します。

    aまたはbがtrueの場合

    バーティカルバー(|)を続けて二つ記述します。aまたはbが真の場合にtrueを返します。

    xがtrueではない場合

    エクステンション(!)とイコール(=)を続けて記述します。xが真ではない場合にfalseを返します。

    xとyのどちらか片方がtrueの場合

    キャレット(^)を記述します。xとyのどちらか片方だけが真の場合にtrueを返します。

    コードで記述

    それでは今まで解説してきた記号を使って実際のコードで記述してみましょう。

    実行結果

    ビット演算子

    ビット演算子は恐らくハードを直接触るようなプログラミングでしか使う場面が無いと思いますので、あまり見かけることはないと思います。

    通信関係やバイナリファイルを扱うことがあるなら、この演算子に対する知識が必要というレベルで覚えておいてください。

    abどちらにもセットされているビット

    アンパサンド(&)を使って記述します。

    aまたはbにセットされているビット

    バーティカルバー(|)を使って記述します。

    10進数のaをbビット左シフト

    小なり(<)を二つ連続で記述します。

    10進数のaをbビット右シフト

    大なり(>)を二つ連続で記述します。

    10進数のaをbビットを左右どちらかへシフト、シフトの逆側は0で埋める

    大なりまたは小なりを3つ連続で記述します。シフトと違うところは、移動した桁数だけ0で埋めます。

    10進数のaのビットを反転

    チルダ(~)を使って記述します。
    それでは今まで解説してきた記号を使って実際のコードで記述してみましょう。

    実行結果

    まとめ

    今回は演算子について出来るだけ具体的に解説してみましたが、いかがでしたか?

    演算子はプログラムにおいて他のどんなものよりも使う場面が多いものですので、この記事を読んでしっかり学習することを強くお勧めします。

    極論にはなりますが、プログラムはクラス毎のメソッド・その特徴と使い方、そして演算子さえきちんと理解できていれば、どんなプログラムでも悩むことなく作ることが出来ると言ってもいいでしょう。

    そのためにも、まずはこういった基本的部分の理解度を出来る限り高めておくことが重要だと思います。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE