ProgateでJava 勉強メモ2


型の話

データの型は結構いろんな種類があるみたい。
intとか数字ってざっくり思ってたけど、正確には「整数」。
少数点以下を持つ数字はdouble型に分類される。
int型同士の計算は結果はint型で返ってくるし、double型同士の計算はdouble型で返ってくる。

System.out.println(5/2);            2    //int型
System.out.println(5.0/2.0);        2.5  //double型

結果が変わるので、注意

データ型が違うもの同士を+などで処理することはできないので、型を変換する必要がある。

型変換

自動型変換

//String型+int型
System.out.println("今日は" + 6 + "月です")
=>("今日は" + "6" + "月です")
int型がString型に自動で変換される

int型とdouble型 ⇒ double型

int型がdouble型に自動変換されるため。

強制型変換(キャスト)

整数同士の計算で答えを正確に(小数点以下も含めて)出したいときは、強制型変換を行う。
たとえば、10/4 の計算変換したいとき→どちらかもint型なので、どっちかの値をdouble型にする。
すると、自動型変換がかかって、両方ともdouble型になり、得られる値もdouble型になる。
型変換なしであれば小数点は切られて2になる

System.out.println((double)10/4);
                     10をint型からdouble型に変更
                     //2.5