代入変換
日本語 | 代入変換 |
英語 | assignment conversion |
ふりがな | だいにゅうへんかん |
フリガナ | ダイニュウヘンカン |
代入時に自動的に行われるキャスト。
「=演算子」を使用して代入を行った際に自動的に行われる、暗黙的キャストのこと。
ワイドニング変換やアップキャスト等の「しても問題がないキャスト」が自動的に行われる。
ナローイング変換やダウンキャスト等の「した場合に問題が発生する可能性があるキャスト」は行われない。
「=演算子」を使用して代入を行った際に自動的に行われる、暗黙的キャストのこと。
ワイドニング変換やアップキャスト等の「しても問題がないキャスト」が自動的に行われる。
ナローイング変換やダウンキャスト等の「した場合に問題が発生する可能性があるキャスト」は行われない。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
float f = 2.0F;
double d;
// 「=演算子」で代入する際に、代入変換します。
d = f;
System.out.println( d );
// 2.0
// float型とdouble型では、同じ浮動小数点とはいえ
// ビットでの構造はまったく異なります。
// つまり、=演算子が「double型に合うように変換した」
// というわけです。
// 代入変換は、ワイドニング変換やアップキャストのみ行います。
// ナローイング変換やダウンキャストは明示的なキャストが必要です。
// f = d;
// コンパイルエラー:
// 型の不一致: double から float には変換できません。
// 代入変換が不可能な場合には明示的なキャストが必要です。
f = (float)d;
}
}
public class Sample
{
public static void main( String[] args )
{
float f = 2.0F;
double d;
// 「=演算子」で代入する際に、代入変換します。
d = f;
System.out.println( d );
// 2.0
// float型とdouble型では、同じ浮動小数点とはいえ
// ビットでの構造はまったく異なります。
// つまり、=演算子が「double型に合うように変換した」
// というわけです。
// 代入変換は、ワイドニング変換やアップキャストのみ行います。
// ナローイング変換やダウンキャストは明示的なキャストが必要です。
// f = d;
// コンパイルエラー:
// 型の不一致: double から float には変換できません。
// 代入変換が不可能な場合には明示的なキャストが必要です。
f = (float)d;
}
}
// Sample.java public class Sample { public static void main( String[] args ) { float f = 2.0F; double d; // 「=演算子」で代入する際に、代入変換します。 d = f; System.out.println( d ); // 2.0 // float型とdouble型では、同じ浮動小数点とはいえ // ビットでの構造はまったく異なります。 // つまり、=演算子が「double型に合うように変換した」 // というわけです。 // 代入変換は、ワイドニング変換やアップキャストのみ行います。 // ナローイング変換やダウンキャストは明示的なキャストが必要です。 // f = d; // コンパイルエラー: // 型の不一致: double から float には変換できません。 // 代入変換が不可能な場合には明示的なキャストが必要です。 f = (float)d; } }