• JAVA的8种基本数据类型分析


    基本数据类型(8个)

    1.整数类型(4个)

      字节个数 取值范围
    byte(字节) 1(8位) -2^7~2^7-1
    short(短整型) 2(16位) -2^15~2^15-1
    int(整形) 4(32位) -2^31~2^31-1
    long(长整形) 8(64位) -2^63~2^63-1

    2.浮点类型(2个)

      名称 字节 精度问题
    float 单精度浮点类型 4 保留8位小数点
    double 双精度浮点类型 8 保留16位小数

    2.1 float与double精度丢失问题

              float与double运算时将十进制转为二进制,整数永远可以用二进制精确的表示,但小数就不一定,小数的二进制有时候是不可能准确的,有时候会无限算下去,所以在银行里不能使用float与double。

    (解决精度丢失问题(BigDecimal))

    3.布尔类型(1个)

              boolean的值只有两个 true 和 false,在8种简单类型中除了boolean类型,其他的数据类型可以自动转换成其他类型,例: 自动类型转换 (小 -> 大)

                                              byte -> int          char -> int   

                                              强制类型转换 (大 -> 小)

                                               int -> char          double -> long

    4.下面有鄙人珍藏多年的几道数据类型面试题(☆)

           1、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错?

            答: 前面表达式有错误,s1+1中1是int类型,右边的结果为int int赋值给s1,s1为short,需要强制类型转换 s1 = (short)(s1+1); 后面的表达式没有错误,因为+=这种扩展赋值运算符会自动类型转换。

           2、char类型变量能不能储存一个中文的汉子,为什么?

            答: char是2个字节16位,所以可以使用unicode编码表示 只要是在unicode编码中文范围的汉字都可以存储4E00-9FA5 但是也有特殊情况生僻字不能存储。

           3、Integer和int的区别

            答: int 基本数据类型,只能用于算术运算,位运算 Integer引用数据类型,类提供很多方法去便捷操作一些int值 例如:10进制数转2进制数的方法。

          4、能否在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量?

            答:不可以,虽然double 和 long 都是8个字节(64位),但是底层的存储 结构不一样,double表示的范围 > long表示的范围 所以把double值赋值给long需要强制类型转换。

          5、java 中 3*0.1 == 0.3 将会返回什么?true 还是 false?

            答:java中float和double,在做运算的时候,会有精度丢失 所以这个表达式的值为false。

          6、java 中 float f = 3.4; 是否正确?

            答:3.4默认为double类型,若需要强制将3.4赋值给float需要强制类型转换 也有其他解决方案。 解决方案1: 3.4后面添加小f或者大F float f = 3.4F; 解决方案2: 变量f的数据类型,改为 double double f=              3.4; 解决方案3: 使用造型符号,强制类型转换 float f = (float) 3.4。

  • 相关阅读:
    Linux学习之路3-HelloWorld
    Linux学习之路2-linux系统烧写
    Linux学习之路1
    linux常用命令总结
    禅道配置发邮件功能
    SHELVE模块
    PICKLE模块
    JSON_dump和load
    json.dumps和loads方法
    模块调用
  • 原文地址:https://www.cnblogs.com/xuqz-niking/p/13227593.html
Copyright © 2020-2023  润新知