Java(oracle) 型変換2
今回は型変換についての2回目です。 まずは「強制的な型変換」からです。
public class Main{ public static void main(String[] args){ int pi = (int)3.1415; System.out.println(age); } }
上記を実行すると、「3」とだけ出力されます。これは、(int)によるダウンキャストをされたためです。(int)のようなものを、キャスト演算子といいます。これは非常に強力で、先の例の場合小数点以下が文字通り「切り捨て」られて、データ自体を失ってしまいます。そのため、ほとんど使われることはありません。
演算時の自動型変換
7 / 2 = 3 // int 5.0 / 2.0 = 2.0 //double
上記のような計算をJavaでする場合、小数点以下の有無で自動的に型変換されます。
5.0 / 2 = 2.5
また上記のような場合、2が2.0として認識され、格納できる数字データの範囲が広いdoubleに統一されてから演算されます。
文字列を含む演算の型変換
public class Main{ public static void main(String[] args){ String msg = "今日は" + 25 + "日"; System.out.println(msg); } }
上記は、「今日は25日」と出力されますが、25がintからStringに変換されています。
型変換は、「int型のものをLong型にいれる」など、小さい物を大きい器に入れるような事は出来ますが、その逆はできません。現実でも、器よりも大きなものは入りませんね。それと同じ事がイメージできれば、大きなミスはないかと思います。
今回は以上です。お疲れ様でした。