首页 > 试题广场 >

关于Float,下列说法错误的是

[单选题]
关于Float,下列说法错误的是()
  • Float是一个类
  • Float在java.lang包中
  • Float a=1.0是正确的赋值方法
  • Float a= new Float(1.0)是正确的赋值方法
  1. Float是类,float不是类.
  2. 查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
  3. Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
  4. Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.
编辑于 2017-03-01 13:56:08 回复(4)
选C
Float a = new Float(1.0); 这个的东西能存在,是因为Float类中有形参是float和double的两个构造器。
Double d = new Double(1.0F);这个能成立的原因是float向上转型了。
Float a = 1.0;这个东西不成立是因为浮点型的默认类型是double,而double不会自动转成float,然后再装箱。
Double d = 1.0f;不成立的原因是因为Double类中的装箱方法,只有valueOf(String s)和valueOf(double d);装箱本身可不会自动向上转型啊。
发表于 2018-07-16 21:29:33 回复(4)
选项c,默认浮点数是double 类型,因此需要中'f来显示指明是float类型的。
发表于 2017-06-26 17:06:22 回复(0)
在Java中,整数型的变量默认为int,带小数的变量默认为double
所以C是错误的。应改成Float a = 1.0f;
发表于 2018-02-28 09:43:53 回复(0)
浮点类型的默认类型是double,要想是float类型需强转
发表于 2021-06-27 01:38:37 回复(0)
小数编译器默认为double类型,需要强转,不然编译是不通过的。



发表于 2020-11-12 09:35:18 回复(0)

答案:D

A.Float 是 float 类型的包装类

B.Float 位于 java.lang 包下

C.字面值 1.0 默认是 double 型的,1.0f 是 float 型的,double 类型的值无法自动装箱为 Float 类型

D.Float 类提供了参数为 float 和 double 类型的构造方法,所以 D 正确

编辑于 2020-06-13 19:17:21 回复(0)
C选项 
Eclipse中提示的是        
Type mismatch: cannot convert from double to Float
翻译中文是:
    类型不匹配:无法从double转换为Float
发表于 2019-09-05 15:10:56 回复(0)
Float是float的包装类,float是基本的数据类型! java.lang:提供程序设计的基础类,其中包括了基本数据类型的包装类Boolean、Character、Byte、Short、Integer、Long、Float、Double Float a = 1.0f 基本数据类型和包装类会自动拆箱和装箱,1.0会默认是double,无法根据double类型的数值完成自动装箱。 Float a = new Float(1.0) java SE5 之前的基操
发表于 2019-01-30 03:00:31 回复(0)

C默认double,需要强转

发表于 2018-08-13 14:51:42 回复(0)
两种解释:
第一:Float为包装类,定义应该为Float a=null;
第二:即使题错了,Float应该为float,那么也应该定义为Float a=1.0f,或者Float a=(Float)1.0
综合考虑,选择C
发表于 2018-04-14 11:34:50 回复(1)
发表于 2017-07-11 10:14:48 回复(0)
答案选c,1.0之前加float才对
发表于 2017-07-09 22:31:00 回复(1)
Float是类,float是基本数据类型,,此类在Java•lang中,Float=1.0f
发表于 2017-06-01 09:02:10 回复(0)
Float a=new Float(1.0)可以,但引入自动装箱拆箱后,用Float a=1.0f 更好,注意 f 不能漏
发表于 2018-09-17 11:27:02 回复(0)
浮点数据类型默认为Double,1.0默认为double,不会自动转成float,更不会自动装箱成Float
编辑于 2024-04-02 22:06:32 回复(0)
Float a = 1.0 是自动装箱,在jdk1.5之后才可以这样写

发表于 2023-10-02 21:44:46 回复(0)
Float f=1.0f
发表于 2023-06-14 16:22:30 回复(0)
转:
 Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
Float a = new Float(1.0); 这个的东西能存在,是因为Float类中有形参是float和double的两个构造器。 Double d = new Double(1.0F);这个能成立的原因是float向上转型了。
Float a = 1.0;这个东西不成立是因为浮点型的默认类型是double,而double不会自动转成float,然后再装箱。
Double d = 1.0f;不成立的原因是因为Double类中的装箱方法,只有valueOf(String s)和valueOf(double d);装箱本身可不会自动向上转型啊。

联想:long a = 2;2的后面不加l或L是可以的,因为2是相对低精度的,int类型可以向上转成long类型
发表于 2023-05-30 09:35:30 回复(0)
D.Float 类提供了参数为 float 和 double 类型的构造方法,所以 D 正确
发表于 2023-03-27 13:08:03 回复(0)