I/Pログ

プログラミング(現在Java)の学習アウトプットログです。基本から始めていきます。ブログタイトルのI/PはInternet Protocolと、Idea Portの意味をもたせています

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型にいれる」など、小さい物を大きい器に入れるような事は出来ますが、その逆はできません。現実でも、器よりも大きなものは入りませんね。それと同じ事がイメージできれば、大きなミスはないかと思います。
今回は以上です。お疲れ様でした。