ウェブ

【第1部:第2章】JAVAの式と演算子について(解説)

式と演算子について

Javaの式と演算子について(解説)

Javaでは「」と「演算子」を使って、計算や比較を行います。
演算子は記号で表され、変数や値に対して処理を行います。

1. 算術演算子

  • + : 足し算(例:10 + 515
  • : 引き算(例:10 – 55
  • * : 掛け算(例:10 * 550
  • / : 割り算(例:10 / 52
  • % : 余り(例:10 % 31

2. 代入演算子

  • = : 右辺の値を左辺の変数に代入(例:int x = 10;
  • += : 足して代入(例:x += 5;x = x + 5;
  • -= : 引いて代入(例:x -= 3;x = x – 3;
  • *= : 掛けて代入(例:x *= 2;x = x * 2;
  • /= : 割って代入(例:x /= 2;x = x / 2;

3. 比較演算子

  • == : 等しい(例:x == 10
  • != : 等しくない(例:x != 10
  • > : より大きい(例:x > 5
  • < : より小さい(例:x < 5
  • >= : 以上(例:x >= 10
  • <= : 以下(例:x <= 10

4. 論理演算子

  • && : かつ(AND)両方がtrueならtrue
  • || : または(OR)どちらかがtrueならtrue
  • ! : 否定(NOT)trueならfalse、falseならtrue
✅ まとめ:
・算術演算子 → 計算
・代入演算子 → 値の更新
・比較演算子 → 大小や一致の判定
・論理演算子 → 条件式を組み合わせる
Javaではこれらを組み合わせてを作り、プログラムの処理を行います。

変数宣言文と計算文

public class Main {
	public static void main(String[] args) {
		int a;
		int b;
		a = 30;
		b = a + 5;
		System.out.println(a);
		System.out.println(b);
	}
}
30 35
30 35

変数と計算の流れ(解説)

int a;
int b;

  • 整数型の変数 ab を宣言しています。
  • この時点では値は入っていません。(未初期化)

a = 30;

  • 変数 a30 を代入します。
  • これで a の中には整数 30 が入ります。

b = a + 5;

  • a + 5 → 30 + 5 の計算を行い、結果は 35 になります。
  • その結果を変数 b に代入します。
  • よって、b の中には 35 が入ります。

System.out.println(a);

  • 変数 a の値(30)が出力されます。

System.out.println(b);

  • 変数 b の値(35)が出力されます。
✅ 実行結果
1行目 → 30
2行目 → 35
変数を使うことで「値を保存して再利用」できることがわかります。

オペランドとリテラル

Javaのオペランドとリテラルの種類

Javaでは、オペランド(operand)とは「演算子の対象となる値や変数」のことを指します。
その中で、プログラム中に直接書かれる固定の値をリテラル(literal)と呼びます。

リテラルの種類説明
整数リテラル10, -5int型として扱われる整数値。範囲を超える場合は long 型に L を付ける。例:10000000000L
浮動小数点リテラル3.14, 2.0f小数点を含む数値。デフォルトは double 型。float 型にするには f を付ける。
文字リテラル‘A’, ‘1’シングルクォートで囲んだ1文字。char 型として扱われる。
文字列リテラル“Hello”, “こんにちは”ダブルクォートで囲んだ複数文字。String 型として扱われる。
論理値リテラルtrue, falseboolean 型の真偽値を表す。
nullリテラルnull参照型変数がどのオブジェクトも参照していないことを表す。
✅ まとめ:
・オペランド → 計算や処理の対象になる「値」や「変数」
・リテラル → プログラム中に直接書かれる固定の値
Javaではこれらを使って式や計算を構築します。

エスケープシーケンス

public class Main {
	public static void main(String[] args) {
		System.out.println("円はこのように記述\\1000です。");
	}
}
エスケープシーケンス
エスケープシーケンス

エスケープシーケンスの解説

System.out.println(“円はこのように記述\\1000です。”);

  • \(バックスラッシュ)は特別な意味を持つ文字です。
  • 文字列中で \ をそのまま表示したい場合は、\\ と2回書きます。
  • この例では \\1000 と書くことで、出力は 「円はこのように記述\1000です。」 となります。

代表的なエスケープシーケンス

記述意味出力例
\\バックスラッシュそのものを出力\
\”ダブルクォートを文字列内に表示
\n改行次の行に移動
\tタブ(スペース)   (空白)
\r復帰(キャリッジリターン)行頭に戻る
✅ まとめ:
\ は「特殊な意味を持つ合図」
・普通の文字として出すには \\ と書く
・改行やタブなどもエスケープシーケンスで表現できる

複数行の文字列

public class Main {
	public static void main(String[] args) {
		String name1 ="氏名:山田太郎\n (やまだたろう)";
		String name2 ="""
									\n
								氏名:大山悠
おおやまゆうすけ
									""";
		System.out.println(name1);
		System.out.println(name2);
	}
}
複数行の文字列
複数行の文字列

Javaのテキストブロックを使った複数行文字列

以下のコードでは、通常の文字列リテラルとテキストブロックを使った文字列の違いを示しています。

String name1 =”氏名:山田太郎\n (やまだたろう)”;
String name2 =”””
  \n
 氏名:大山悠輔
 (おおやまゆうすけ)
  ”””;

ポイント解説

  • name1 は通常の文字列リテラルを使用し、改行には \n を記述しています。
  • name2テキストブロック“””)を使って複数行の文字列をそのまま表現しています。
  • テキストブロックは Java 15 以降で導入された機能で、HTMLやSQLなど複数行を扱う際に便利です。

出力結果

氏名:山田太郎
(やまだたろう)

氏名:大山悠輔
(おおやまゆうすけ)
✅ まとめ:
・通常の文字列 → 改行は \n を使う
・テキストブロック → “”” で囲み、そのまま改行を表現できる
・読みやすさと保守性が大幅に向上!

インクリメント演算子

public class Main {
	public static void main(String[] args) {
		int a;
		a = 300;
		a++;
		System.out.println(a);
	}
}
インクリメント演算子
インクリメント演算子

インクリメント演算子の解説

int a;
a = 300;
a++;
System.out.println(a);

ポイント解説

  • a++ は「インクリメント演算子」を使った記述です。
  • 変数 a の値に +1 を加える処理を行います。
  • この例では、最初に a = 300 と代入し、a++ によって 301 になります。

前置と後置の違い

書き方意味使われ方
a++「後置インクリメント」
処理の後で a の値を +1
例: System.out.println(a++);
(まず出力、その後 +1)
++a「前置インクリメント」
処理の前に a の値を +1
例: System.out.println(++a);
(先に +1、その後出力)

出力結果

301
✅ まとめ:
a++ は「変数を 1 増やす」簡潔な書き方
・前置 ++a と 後置 a++ は挙動が異なる
・ループ処理(for 文など)でよく利用される

Javaの代表的な算術演算子

算術演算子は、数値の計算を行うために使用される基本的な演算子です。代表的なものを以下の表にまとめました。

演算子意味使用例結果
+加算(足し算)10 + 515
減算(引き算)10 – 55
*乗算(掛け算)10 * 550
/除算(割り算)10 / 52
%剰余(割った余り)10 % 31
✅ まとめ:
・算術演算子は四則演算や余りの計算を行う基本要素
・特に % は「余り」を求める時によく使われる
・ループ処理や条件分岐で大活躍!

Javaの複合代入演算子

複合代入演算子は、「代入」と「演算」を同時に行える便利な書き方です。通常の算術演算子と比べて、コードを簡潔にできます。

演算子意味使用例同じ意味の書き方結果
+=加算して代入a += 5; (a = 10)a = a + 5;15
-=減算して代入a -= 3; (a = 10)a = a – 3;7
*=乗算して代入a *= 2; (a = 10)a = a * 2;20
/=除算して代入a /= 5; (a = 10)a = a / 5;2
%=剰余を求めて代入a %= 4; (a = 10)a = a % 4;2
✅ まとめ:
・複合代入演算子を使うと、コードを短く読みやすくできる
・ループ処理や計算処理でよく使われる

文字列結合演算子

public class Main {
	public static void main(String[] args) {
		String name3 = "こん" + "にちは";
		String name4 = "ベスト" + 5;
		System.out.println(name3);
		System.out.println(name4);
	}
}
文字列結合演算子
文字列結合演算子

Javaの文字列結合演算子(+)

Javaでは + 演算子は、数値の加算だけでなく文字列を結合する機能も持っています。

コード例説明出力結果
String name3 = “こん” + “にちは”;2つの文字列を結合“こんにちは”
String name4 = “ベスト” + 5;文字列と数値を結合
(数値は自動的に文字列に変換される)
“ベスト5”
✅ ポイント:
+ は数値の計算にも使えるが、文字列の場合は「結合」として働く
・数値が文字列と一緒に使われると、自動的に文字列に変換される
・文字列を組み合わせてメッセージを作るときに便利!

暗黙の型変換

public class Main {
	public static void main(String[] args) {
		float g = 5;
		double h = g;
		System.out.println(g);
		System.out.println(h);
	}
}
暗黙の型変換
暗黙の型変換

大きい型への代入(暗黙の型変換)

Javaでは、小さい範囲のデータ型から大きい範囲のデータ型に代入するとき、自動的に型変換が行われます。 この変換を 暗黙の型変換(Widening Conversion) と呼びます。

コード例説明出力結果
float g = 5;小さい型(float, 約7桁の精度)の変数を宣言5.0
double h = g;大きい型(double, 約15桁の精度)に自動変換して代入5.0
✅ ポイント:
・小さい型 → 大きい型 への変換は自動で行われる(安全な変換)
・float → double, int → long などは暗黙の型変換が可能
・逆(大きい型 → 小さい型)は自動ではできず、明示的にキャストが必要

数値型に関する代入の可否

Javaでは、数値型ごとに扱える範囲が異なります。 小さい型から大きい型への代入は 暗黙の型変換(自動変換) が可能ですが、逆に大きい型から小さい型へ代入する場合は キャスト が必要です。

代入元 → 代入先byteshortintlongfloatdouble
byte
short✖ (キャスト)
int✖ (キャスト)✖ (キャスト)
long✖ (キャスト)✖ (キャスト)✖ (キャスト)
float✖ (キャスト)✖ (キャスト)✖ (キャスト)✖ (キャスト)
double✖ (キャスト)✖ (キャスト)✖ (キャスト)✖ (キャスト)✖ (キャスト)
✅ ポイント:
・小さい型 → 大きい型 は自動変換(✔)
・大きい型 → 小さい型 はキャストが必要(✖ (キャスト))
・整数型から浮動小数点型への変換は自動で可能
・浮動小数点型から整数型はキャストが必要

文字列の連結

public class Main {
	public static void main(String[] args) {
		String name5 = "山田";
		String message;
		message = name5 + "さん" + "こんにちは";
		System.out.println(message);
	}
}
文字列の連結
文字列の連結

文字列の連結と出力

Javaでは、+ 演算子を使って複数の文字列をつなげることができます。 このコードでは、変数 name5 と文字列を連結して新しい文章を作り、System.out.println() で表示しています。

コード説明
String name5 = “山田”;変数 name5 に「山田」という文字列を代入
message = name5 + “さん” + “こんにちは”;「山田」+「さん」+「こんにちは」を連結して message に代入
System.out.println(message);完成した文字列「山田さんこんにちは」を出力
✅ 出力結果:
山田さんこんにちは

改行なし出力

public class Main {
	public static void main(String[] args) {
		String name6 = "山田";
		System.out.print("私は");
		System.out.print(name6);
		System.out.print("と申します。");
	}
}
改行なし出力
改行なし出力

文字列の出力と変数の利用

Javaでは、System.out.print() を使って文字列を出力できます。 このコードでは、変数 name6 に名前を代入し、3回の print() を使って文章をつなげています。

コード説明
String name6 = “山田”;変数 name6 に「山田」という文字列を代入
System.out.print(“私は”);文字列「私は」を出力
System.out.print(name6);変数 name6 の内容(山田)を出力
System.out.print(“と申します。”);文字列「と申します。」を出力
✅ 出力結果:
私は山田と申します。

大小比較

public class Main {
    public static void main(String[] args) {
        int p = 10;
        int u = 2;
        int k = Math.max(p, u);
        System.out.println(p + "と" + u + "で比較して大きいほうは、" + k);
    }
}
大小比較
大小比較

Math.max() を使った大小比較

Javaでは、Math.max() メソッドを使うことで、2つの数値のうち大きい方を簡単に求めることができます。 このコードでは、pu を比較し、大きい方の値を k に代入しています。

コード説明
int p = 10;整数変数 p に 10 を代入
int u = 2;整数変数 u に 2 を代入
int k = Math.max(p, u);pu を比較し、大きい方の値を k に代入
System.out.println(p + “と” + u + “で比較して大きいほうは、” + k);pu の値、および大きい方の結果を出力
✅ 出力結果:
10と2で比較して大きいほうは、10

整数変換

public class Main {
    public static void main(String[] args) {
			String age = "21";
			int b = Integer.parseInt(age);
			System.out.println("来年" + (b + 1) +"歳になります。");
    }
}
整数変換
整数変換

文字列を整数に変換して計算する

Javaでは、文字列として保持されている数字をそのまま計算に使うことはできません。 そこで Integer.parseInt() メソッドを使い、文字列を整数型に変換します。 このコードでは、文字列 “21” を整数に変換し、1年後の年齢を計算しています。

コード説明
String age = “21”;変数 age に文字列 “21” を代入
int b = Integer.parseInt(age);文字列 age を整数型に変換して b に代入
System.out.println(“来年” + (b + 1) +”歳になります。”);b に 1 を加え、
「来年◯歳になります。」という文章を出力
✅ 出力結果:
来年22歳になります。

ランダム数値

public class Main {
    public static void main(String[] args) {
			int e = new java.util.Random().nextInt(100);
			System.out.println("私の予想、" + e + "歳ですね");
    }
}
ランダム数値
ランダム数値

ランダムな数値を生成して表示する

Javaでは、java.util.Random クラスを使ってランダムな整数を生成できます。 このコードでは、0以上100未満の整数をランダムに作り、それを年齢として表示しています。

コード説明
int e = new java.util.Random().nextInt(100); new java.util.Random() でランダム生成器を作成し、 nextInt(100) で 0~99 の整数を生成して e に代入
System.out.println(“私の予想、” + e + “歳ですね”); 文字列とランダムな数値 e を結合し、 「私の予想、◯歳ですね」と出力
✅ 出力例:
私の予想、74歳ですね

キーボード入力と出力

public class Main {
    public static void main(String[] args) {
			System.out.println("名前を入力してください");
			String name7 = new java.util.Scanner(System.in).nextLine();
			System.out.println("生まれた西暦を入力してください");
			int age = new java.util.Scanner(System.in).nextInt();
			System.out.println(age + "年生まれの" + name7 + "さんよろしくお願いします。");
    }
}
キーボード入力と出力
キーボード入力と出力

キーボードからの入力と出力

Javaでは Scanner クラスを使うことで、キーボードから文字や数字を入力できます。 この例では、名前と生まれた西暦を入力し、それを使ってあいさつ文を出力しています。

コード説明
System.out.println(“名前を入力してください”);ユーザーに名前の入力を促すメッセージを表示
String name7 = new java.util.Scanner(System.in).nextLine();Scanner を使い、キーボードから文字列(名前)を入力して name7 に代入
System.out.println(“生まれた西暦を入力してください”);ユーザーに生まれた年の入力を促すメッセージを表示
int age = new java.util.Scanner(System.in).nextInt();Scanner を使い、キーボードから整数(西暦)を入力して age に代入
System.out.println(age + “年生まれの” + name7 + “さんよろしくお願いします。”);入力された 名前 を組み合わせてあいさつ文を出力
✅ 出力例(入力が「山田太郎」「1995」の場合):
1995年生まれの山田太郎さんよろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。