Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 型キャスティング | 変数とデータ型
Java入門

型キャスティング

メニューを表示するにはスワイプしてください

Javaでは、すべての値に特定の型があり、時にはある型から別の型へ値を変換する必要があります。これを**型変換(キャスト)**と呼びます。

型変換には2種類あります:

  • 暗黙的キャスト
  • 明示的キャスト

暗黙的キャスト

暗黙的キャストは、Javaが自動的に小さい型から大きい型へ変換する場合に発生します。これはデータが失われないため安全です:

int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0

このように、大きい型(double)は小さい型(int)の値を問題なく保持できます。

明示的キャスト

明示的キャストは、大きい型から小さい型へ手動で変換する場合に発生します。変換時にデータが失われる可能性があるため、明示的な指定が必要です:

double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4

Javaは小数部分を切り捨てて4のみを保存します。暗黙的キャストと異なり、(type)を使って明示的に記述する必要があります。

覚え方の一例:

  • 小さい型 → 大きい型 = 自動
  • 大きい型 → 小さい型 = 手動

Main.java

Main.java

1234567891011121314151617
package com.example; public class Main { public static void main(String[] args) { int lattePrice = 5; // implicit casting double priceDecimal = lattePrice; System.out.println(priceDecimal); // 5.0 // explicit casting double realPrice = 4.99; int roundedPrice = (int) realPrice; System.out.println(roundedPrice); // 4 } }

この例では、最初に int から double への暗黙的な型変換が行われます。Java はこれを自動的に処理し、結果は 5.0 になります。その後、double から int への明示的な型変換を (int) を使って行い、小数点以下が切り捨てられて 4 が出力されます。

question mark

暗黙的な型変換では何が起こりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  10

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

型キャスティング

Javaでは、すべての値に特定の型があり、時にはある型から別の型へ値を変換する必要があります。これを**型変換(キャスト)**と呼びます。

型変換には2種類あります:

  • 暗黙的キャスト
  • 明示的キャスト

暗黙的キャスト

暗黙的キャストは、Javaが自動的に小さい型から大きい型へ変換する場合に発生します。これはデータが失われないため安全です:

int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0

このように、大きい型(double)は小さい型(int)の値を問題なく保持できます。

明示的キャスト

明示的キャストは、大きい型から小さい型へ手動で変換する場合に発生します。変換時にデータが失われる可能性があるため、明示的な指定が必要です:

double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4

Javaは小数部分を切り捨てて4のみを保存します。暗黙的キャストと異なり、(type)を使って明示的に記述する必要があります。

覚え方の一例:

  • 小さい型 → 大きい型 = 自動
  • 大きい型 → 小さい型 = 手動

Main.java

Main.java

1234567891011121314151617
package com.example; public class Main { public static void main(String[] args) { int lattePrice = 5; // implicit casting double priceDecimal = lattePrice; System.out.println(priceDecimal); // 5.0 // explicit casting double realPrice = 4.99; int roundedPrice = (int) realPrice; System.out.println(roundedPrice); // 4 } }

この例では、最初に int から double への暗黙的な型変換が行われます。Java はこれを自動的に処理し、結果は 5.0 になります。その後、double から int への明示的な型変換を (int) を使って行い、小数点以下が切り捨てられて 4 が出力されます。

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  10
some-alt