#3 Javaで学ぶ演算子の基本

Javaの演算子は、多くのプログラミング言語の元になった、標準的な書き方を採用しています。この記事では、Javaの基本的な演算子と、初心者がつまずきやすいポイントを解説します。

算術演算子・比較演算子

Javaでは、次のような演算子を使います。

  • + - * / % 算術演算子
  • == != > < 比較演算子
  • && || ! 論理演算子

整数の割り算は切り捨てになる

Javaで特に注意したいのが、整数型(int)同士の割り算です。小数点以下は自動的に切り捨てられます。

int result = 10 / 3; // 結果は3

小数の結果が欲しい場合は、どちらかの値をdouble型にする必要があります。

double result = 10.0 / 3; // 結果は3.333...

複合代入演算子

「変数に加算してから代入し直す」処理をまとめて書ける複合代入演算子も使えます。

int count = 0;
count += 1; // count = count + 1 と同じ
count *= 2; // count = count * 2 と同じ

文字列の比較には注意が必要

Javaでは、文字列(String)同士を比べる際に==を使うと、意図しない結果になることがあります。==は「同じ実体かどうか」を比べる演算子であり、文字の中身が同じかどうかを調べたい場合はequals()というメソッドを使う必要があります。

if (name.equals("太郎")) { ... }

三項演算子

簡単な条件分岐は、三項演算子を使って1行にまとめられます。

String message = age >= 18 ? "成人です" : "未成年です";

複合代入演算子

「変数に加算してから代入し直す」処理をまとめて書ける複合代入演算子も使えます。

int count = 0;
count += 1; // count = count + 1 と同じ

Javaならではの注意点

数値の比較には==をそのまま使えますが、文字列の比較にだけはequals()が必要という違いは、Java初心者が非常につまずきやすいポイントです。「if文の条件が思った通りに動かない」と感じたら、文字列を==で比較していないか、まず確認してみましょう。

instanceofで型を確認する

ある変数が特定の型かどうかを調べたい場合はinstanceofを使います。比較的新しいJavaでは、確認と同時に変数として取り出す書き方もできます。

Object obj = "太郎";
if (obj instanceof String name) {
    System.out.println("文字列です: " + name);
}

まとめ

Javaの演算子自体はシンプルですが、整数の割り算の切り捨てと、文字列比較におけるequals()の必要性という2点は、特に意識しておきたいポイントです。


本ページはプロモーションを含みます。

参考書籍(PR)

Javaをもっと学びたい方には「スッキリわかるJava入門 第4版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本