`
yuyiming1986
  • 浏览: 63453 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

float f = 3.4语句正确吗?

阅读更多
float f = 3.4语句正确吗]?

回答这个问题,得首先知道Java类型转换Java数值常量默认类型相关知识。

1.Java类型转换

  Java中不同类型之间的变量赋值时,需要先进行类型转换,才能进行赋值。Java类型转换分为自动转换和强制转换两种。

  基本类型间的自动类型转换需要满足以下条件:
 
  (1).转换双方的类型必须兼容,例如int和long类型就是兼容的,而int和boolean就是不兼容的。

  (2).只能是"窄类型"向"宽类型"转换,也就是目标类型的数据表示范围要比源类型的数据表示范围要大。

     
             
       byte-->short-->         
                     |-->int-->long-->float-->double
               char-->
                                      
			     


    按照箭头可以实现自动类型转换,而如果是相反方向间的类型转换则需要强制类型转换.

2.数值常量默认类型
 
  (1).Java中整型常量数值的默认类型是int类型,如果需要声明long类型的常量 ,需要在数值加上'l'或者'L'.
  例如:int i = 3;
       long l = 3L;
 
  (2).Java中的浮点型常量数值默认是double类型,如果要声明一个数值为float型,则需要在数值后面加上'f'或者'F'.
  例如:double d = 3.14;
       float f = 3.14f;
  
3.[b]float f = 3.4;语句是错误的[/b]
  3.4数值常量默认情况下是double类型,如果赋值给f,那么将由double转换成float类型,由前面的知识可以知道是不能自动类型转换的,所以可以将float f = 3.4修改成:
 
  (1)float f = 3.4f;
  (2)float f = (float)3.4;
分享到:
评论

相关推荐

    java面试题(题库全).doc

    4. float 型 float f=3.4 是否正确? 不正确;精度不准确,应该用强制类型转换,如float f=(float)3.4。 5. 语句 float f=1.3;编译能否通过? 不能;应该用强制类型转换,如float f=(float)1.3。 6. short s1 =...

    java面试基础整理

    是不正确的,需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F;。 * short s1 = 1; s1 = s1 + 1;需要强制类型转换,而 short s1 = 1; s1 += 1;可以正确编译。 * Java 中没有 goto 语句,但是 goto 是 ...

    java面试题,从基础到框架再到设计

    4. float 型 float f=3.4 是否正确? 答:不正确;精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4。 5. 语句 float f=1.3;编译能否通过? 答:不能;应该用强制类型转换,如下所示:float f=...

    2023年最新:BAT大厂-java经典必考面试题

    是不正确的,因为 3.4 是双精度数,需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F;。 在 Java 中,short s1 = 1; s1 = s1 + 1; 需要强制转换类型才能赋值给 short 型,而 short s1 = 1; s1 += 1;...

    java笔试、面试基础题(含答案)

    float型float f=3.4是否正确?** 不正确。3.4默认是双精度浮点数(double),而`float`类型的变量需要显式地进行类型转换或者指定后缀`F`或`f`,例如`float f = (float)3.4;` 或 `float f = 3.4f;`。 **5. 语句float...

    java开发人员常见的面试题

    正确的做法是使用强制类型转换:`float f = (float)3.4;` **5. 语句 float f = 1.3;编译能否通过?** `float f = 1.3;` 也不能通过编译,因为 `1.3` 默认是 double 类型。正确的写法是:`float f = (float)1.3;` ...

    Java最新面试题大全(附答案)

    正确的写法是`float f = (float)3.4;` 或 `float f = 3.4f;`。 5. **短整型计算**: - `short s1 = 1; s1 = s1 + 1;` 会报错,因为`+1`运算的结果是`int`类型。而`s1 += 1;`则可以通过隐式类型转换正确编译。 6. ...

    java面试大全

    `是错误的,应写为`float f =3.4F;`或`float f = (float)3.4;`以避免精度损失。 5. **短整型变量加法** - `short s1 = 1; s1 = s1 + 1;`会导致编译错误,因为`+`操作的结果是`int`类型。而`s1 += 1;`等价于`s1 = ...

    Java面试大全

    正确的做法是:`float f = (float)3.4;` 或者 `float f = 3.4F;`。 **5. 语句 float f = 1.3;编译能否通过?** 不能通过。同样地,1.3默认为double类型,需要进行类型转换:`float f = (float)1.3;` 或者 `float ...

    javaWEB面试题大全(机会只有一次,千万别错了)

    4. **float型float f=3.4是否正确?** - 不正确。因为3.4默认为double类型,需要显式转换为float类型,如`float f = (float)3.4;`。 5. **语句float f=1.3;编译能否通过?** - 不能。同样,1.3默认为double类型,...

    java面试题

    4. **float型float f=3.4是否正确?** 不正确。3.4默认为双精度浮点数(double),赋值给`float`类型的变量时,需要进行显式类型转换,如`float f = (float)3.4;`。 5. **语句float f=1.3;编译能否通过?** 不能...

    最新BAT的 java经典必考面试题.docx

    ` 是错误的,因为3.4是double类型,需要显式转换,如`float f = (float)3.4;` 或 `float f = 3.4f;`。 5. **short 变量加法**:`short s1 = 1; s1 = s1 + 1;` 会报错,因为整型加法结果是int类型,需要强制转换。而...

    计算机等级考试二级java模拟题测试题4套带答案.docx

    - float 型变量必须以 `f` 或 `F` 结尾,如 `float f = 3.4f`。直接使用 `float f = 3.4` 会导致编译错误,因为 3.4 是 double 类型。 2. 参数传递机制: - 在 Java 中,对象作为参数传递时,采用的是引用传递。...

    java考题java考题.doc

    10. float型,float f=3.4是不正确的,应该写为float f=3.4f或者float f=(float)3.4。 【Java高级概念】 11. 垃圾回收(GC)的优点包括自动内存管理,避免内存泄露。原理是通过标记-清除、复制、标记-整理和分代等...

    优质面试题附答案解析.docx

    4. float f=3.4;是否正确? 正确,float类型可以存储小数值。 5. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 前者有错,因为short类型不能隐式转换为int类型。后者正确,+=运算符可以...

Global site tag (gtag.js) - Google Analytics