昨日からJava始めたばかりですが、いきなり分からない事が出てきました。

//Exercise1.java

class Exercise1{
public static void main(String args[]){
float a;
a=2.0;
System.out.println("変数aの値は"+a+"です");
}
}

これでコンパイルすると、エラーが出ます。
検出値:double
期待値:float
となります。
doubleで宣言してやるとうまく行きましたが、どうしてfloatで宣言できないのでしょうか?