1. 10 と 3 の四則演算と剰余
  2. 8 と 4 の四則演算と剰余 (割り切れる)
  3. b が 0 の場合は除算と剰余を 0 にする
コース一覧
Java入門:基礎文法編
四則演算と剰余

Java入門:基礎文法編

変数、制御構文、メソッド、クラス、継承、インターフェースなど Java とオブジェクト指向の基礎を、コードを書きながら学べる無料コースです。プログラミング初学者や、業務システム開発で Java を扱う必要がある社会人を対象としています。約 17 時間 (1 日 30 分 × 34 日) で 69 レッスンを修了でき、修了後は Spring などのフレームワーク学習や Java 認定試験への準備が無理なく進められます。

1
Hello, Java
01. はじめての Java プログラム5分
02. 複数行の出力5分
03. 変数を使った自己紹介5分
04. コメントを書く5分
05. 第 1 章まとめクイズ5分
2
変数と演算
01. 変数を宣言する5分
02. データ型の使い分け5分
03. 変数とデータ型クイズ5分
04. 四則演算と剰余5分
05. 税込価格を計算する5分
06. インクリメントとデクリメント5分
07. 比較演算子5分
08. 論理演算子5分
09. 演算子の優先順位5分
10. 文字列の連結5分
11. 型変換 (キャスト)5分
12. 第 2 章 まとめクイズ5分
3
条件分岐
01. if 文の基本5分
02. if-else 文5分
03. else if で複数分岐5分
04. 成績判定プログラム12分
05. うるう年を判定する5分
06. switch 文5分
07. 三項演算子5分
08. じゃんけんの勝敗判定15分
09. FizzBuzz の判定部分5分
10. 第 3 章 まとめクイズ5分
4
繰り返し
01. for 文の基本5分
02. 1 から N までの合計5分
03. 九九の段を作る5分
04. while 文5分
05. カウントダウン5分
06. do-while 文5分
07. 二重ループ5分
08. break と continue5分
09. FizzBuzz 完成5分
10. 繰り返しクイズ5分
11. 第 4 章 まとめクイズ5分
5
メソッド
01. メソッドを定義する5分
02. 引数を受け取るメソッド5分
03. 戻り値を返す5分
04. 複数の引数を取るメソッド5分
05. メソッドのオーバーロード5分
06. メソッドクイズ5分
07. BMI を計算するメソッド5分
08. 第 5 章 まとめクイズ5分
6
配列
01. 配列の基本5分
02. 配列の要素にアクセス5分
03. 配列を for で走査5分
04. Javaで配列の合計・平均を求める方法(forループ)5分
05. 配列の平均5分
06. 配列の最大値5分
07. 配列の線形探索12分
08. 拡張 for ループ5分
09. 配列クイズ5分
10. 第 6 章 まとめクイズ5分
7
クラスとオブジェクト
01. クラスを定義する5分
02. クラスにフィールドを持たせる12分
03. クラスにメソッドを定義する5分
04. インスタンスを作る5分
05. コンストラクタ5分
06. this キーワード5分
07. カプセル化 (private と getter)12分
08. Person クラスを作る5分
09. Product クラスで税込価格15分
10. 銀行口座クラス15分
11. toString のオーバーライド5分
12. クラスとオブジェクト クイズ5分
13. Java 入門 最終クイズ5分

四則演算と剰余

5 / 2 の答えが 2 になる

キーボードに × と ÷ が無いので、掛け算は *、割り算は / と書きます。+ と - はそのままです。ここまでは紙の計算と同じ感覚で通じますが、/ だけは結果が変わります。

Java

int a = 5 / 2; // 2.5 ではなく 2 int b = 1 / 3; // 0.333... ではなく 0 int c = -5 / 2; // -2

int を int で割った答えは int になります。int には小数を置く場所が無いので、小数の部分は四捨五入されるのではなく、そのまま捨てられます。これは不具合ではなく仕様です。

平均点を出すつもりで (a + b) / 2 と書き、答えが 1 点低いまま気づかない、というのが定番の事故です。小数まで欲しいときは、どちらか片方を小数にします。

Java

double avg = (5 + 2) / 2.0; // 3.5

2 を 2.0 と書いただけで、割り算全体が小数の世界に移ります。

% は、割り切れずに残った分を返す

捨てられた小数の代わりに「余り」を取り出す演算子が % です。10 % 3 は 1、8 % 4 は 0、7 % 2 は 1 になります。

余りは、単なる算数の道具以上によく使います。n % 2 が 0 なら偶数、n % 3 が 0 なら 3 の倍数だと分かるからです。

Java

int n = 14; boolean isEven = (n % 2 == 0); // true

/ が「何回入ったか」を返すのに対して、% は「入りきらずに残ったのは何か」を返します。この 2 つは同じ割り算の別々の答えだと考えてください。10 / 3 の 3 と 10 % 3 の 1 を合わせれば、元の 10 の内訳が分かります。

0 で割ると、そこで落ちる

/ も % も、右側が 0 だと ArithmeticException: / by zero を投げてプログラムが止まります。おかしな値が返るのではなく、その行で停止します。

Java

int x = 10 / 0; // ここで停止する int y = 10 % 0; // これも同じく停止する

割る数が外から渡ってくる場合、0 が来ないという保証はどこにもありません。だから割る前に if で確かめ、0 のときは割り算そのものをせずに、あらかじめ決めた値を返します。実務でも必ず書く守りのコードです。

やってみよう

calculate(int a, int b) を完成させ、a + b = 13, a - b = 7, ... の形で 5 つの結果を 1 本の文字列にまとめてください。

  1. b が 0 でないときだけ、割り算と余りを計算する
  2. b が 0 のときは、a / b と a % b の場所を 0 にする
  3. 実行して、10, 3 と 8, 4 と 7, 0 の 3 件が通ることを確かめる

組み立てで 1 か所だけ注意があります。"a + b = " + a + b と書くと、左から順につながって a と b が並んだ文字列になってしまいます。先に足し算をさせたいので、(a + b) のようにカッコで囲んでください。

要件

  1. クラス名は Solution、メソッド名は calculate、引数は int a, int b の 2 つ、戻り値の型は String にすること
  2. 出力フォーマットは "a + b = X, a - b = Y, a * b = Z, a / b = W, a % b = V" の形 (カンマの後ろは半角スペース 1 個、= の前後にも半角スペース)
  3. b == 0 の場合は a / b と a % b の部分を 0 にし、ArithmeticException を発生させないこと

入出力例

calculate(10, 3) → "a + b = 13, a - b = 7, a * b = 30, a / b = 3, a % b = 1" calculate(8, 4) → "a + b = 12, a - b = 4, a * b = 32, a / b = 2, a % b = 0" calculate(7, 0) → "a + b = 7, a - b = 7, a * b = 0, a / b = 0, a % b = 0"

ヒント

`Java` では `"文字列" + 数値` と書くと、数値が自動的に文字列に変換されて連結されます。`"a + b = " + (a + b)` のようにカッコで囲むのがコツです

ゼロ除算は `if (b != 0)` でガードしましょう。`int` の割り算と剰余は、右側が `0` だと `ArithmeticException: / by zero` で実行時エラーになります

出力フォーマットはスペースとカンマの位置までテストで厳密にチェックされます。`", a - b = "` のように、カンマの後ろに半角スペースを 1 つ入れてください

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/19·更新 2026/08/26

関連レッスン

  • 税込価格を計算する

    税抜き価格を受け取り、消費税 10% を加えた税込価格を整数で返すメソッドを書いて、算術演算と型変換の基礎を体に馴染ませる。

  • インクリメントとデクリメント

    Java の `++` と `--` 演算子で変数を 1 だけ増減させる方法、そして前置と後置の違いを学びます。

  • 比較演算子

    値の大小・等しさを判定する比較演算子を学び、boolean を返す式を書けるようになろう。

  • 論理演算子

    `&&` `||` `!` で複数の真偽値を組み合わせ、条件をひとつの式にまとめよう。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • 演算子//は切り捨て除算(7 // 2 = 3)。
  • クラスデータと振る舞いを束ねる単位
  • メソッドクラスに属する関数
  • 引数位置引数=順番で渡す。
  • 戻り値呼び出し元への返答を表す点線矢印
main.java
学習モード
エディタを読み込んでいます

メモ

四則演算と剰余

⌘S で保存