Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 型変換と昇格 | 型変換とラッパークラス
javaデータ型

book型変換と昇格

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

Javaが型変換をどのように扱うかを理解することは、安全で予測可能なコードを書くために不可欠です。Javaはプリミティブ型間の型変換として、暗黙的変換wideningとも呼ばれる)と明示的変換narrowingとも呼ばれる)の2つの主要な形式をサポートしています。暗黙的変換は、小さいデータ型の値を大きいデータ型に代入する際に自動的に行われます。例えば、intdoubleに代入する場合などです。明示的変換は、通常データ損失のリスクがあるため、値を手動でキャストする必要があります。例えば、doubleintに変換したり、intbyteに変換したりする場合です。

小さい型から大きい型に値を代入する場合、Javaは自動的に変換を行います。これは、大きい型が小さい型のすべての値を表現できるため安全です。intdoubleに代入しても情報が失われることはありません。すべてのint値はdouble値として表現できるためです。これを**拡大変換(widening conversion)**と呼びます。

大きい型から小さい型に値を代入する場合、Javaは明示的なキャストを要求します。これは、小さい型が大きい型のすべての値を表現できない可能性があり、データ損失や予期しない結果につながるためです。doubleintにキャストすると小数部分が切り捨てられ、intbyteにキャストすると値がbyteの範囲外の場合に値が巻き戻ることがあります。このプロセスは**縮小変換(narrowing conversion)**と呼ばれます。

Main.java

Main.java

copy
1234567891011121314151617
package com.example; public class Main { public static void main(String[] args) { int i = 150; double d = i; // Implicit widening conversion: int to double System.out.println("int to double: " + d); // 150.0 double d2 = 123.456; int i2 = (int) d2; // Explicit narrowing conversion: double to int System.out.println("double to int: " + i2); // 123 int i3 = 300; byte b = (byte) i3; // Explicit narrowing conversion: int to byte System.out.println("int to byte: " + b); // 44 (data loss due to overflow) } }

1. 次のうち、Javaで暗黙的に行われるプリミティブ型の変換はどれですか?

2. Javaで9.99double型)をint型にキャストした場合の結果は何ですか?

question mark

次のうち、Javaで暗黙的に行われるプリミティブ型の変換はどれですか?

すべての正しい答えを選択

question mark

Javaで9.99double型)をint型にキャストした場合の結果は何ですか?

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

すべて明確でしたか?

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

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

セクション 3.  1

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 3.  1
some-alt