I/Pログ

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

Java(oracle) 型変換1

今回は型変換についてです。
先の記事に、データ型について書きましたが、今回は変数に代入する際のJavaの動きを解説します。
Javaには型を変換する仕組みがあり、3つ挙げられます。

  1. 代入時の自動型変換

  2. 強制的な型変換

  3. 演算時の自動型変換
    たとえば、int age;だけ宣言して、以下のように代入してみると下のふたつはエラーが起きるでしょう。

age = 20; //〇
age = 3.14; //×
age = "代入";×

int型で宣言しているのに、小数や文字・文字列は入れられません。 逆に、宣言した型のほうが大きい場合、入れる数字が「意味的に大きい」場合、代入することができます。(これもあいまいな表現なのでスッキリわかるJava 入門編を参照してください)
以下を実行してみて下さい。

public class Main{
    public static void main(String[] args){
float flo = 8; // flo型のflo変数に8を代入
double dou = flo; // floatよりも「大きな型」に再代入
System.out.println(flo);
System.out.println(dou);
    }
}

出力したふたつの変数は両方とも8.0になったでしょうか。先に代入した型よりも、2回目に代入する「型」のほうが大きい場合にはそのまま代入することができています。 「型」自体が扱える数字の大きさを小さい方から並べると

byte <  short < int < long < float < double

となります。