• Java 中的数据类型有哪些?


    Java中主要有八种基本数据类型:

    1、整型:byte、short、int、long

    2、字符型:char

    3、浮点型:float、double

    4、布尔型:boolean

    一、整型

    Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1。

    1、byte

    8位、有符号的以二进制补码表示的整数。

    min:-128(-2^7)

    max:127(2^7-1)

    默认值:0

    包装类:Byte

    2、short

    16位、有符号的以二进制补码表示的整数。

    min:-32768(-2^15)

    max:32767(2^15-1)

    默认值:0

    包装类:Short

    3、int

    32位、有符号的以二进制补码表示的整数。

    min:-2,147,483,648(-2^31)

    max:2,147,483,647(2^31-1)

    默认值:0

    包装类:Integer

    4、long

    64位、有符号的以二进制补码表示的整数。

    min:-9,233,372,036,854,775,808(-2^63)

    max:9,223,372,036,854,775,807(2^63-1)

    默认值:0

    包装类:Long

    二、浮点型

    Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。

    1、float

    单精度、32位、符合IEEE 754标准的浮点数。

    float在储存大型浮点数组的时候可节省内存空间

    浮点数不能用来表示精确的值,如货币

    默认值:0.0f

    包装类:Float

    2、double

    双精度、64位、IEEE 754标准的浮点数。

    浮点数的默认类型为double类型

    double类型同样不能表示精确值,如货币

    默认值:0.0d

    包装类:Double

    三、字符型

    char

    char类型是一个单一的16位Unicode字符。

    min:\u0000(即为0)

    max:\uffff(即为65,535)

    char数据类型可以储存任何字符

    包装类:Character

    四、布尔型

    在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。

    boolean

    boolean数据类型表示一位的信息。

    只有两个取值:true和false

    这种类型只作为一种标志来记录true/false情况

    默认值:false

    包装类:Boolean

    自动类型转换

    指不需要编写代码,有系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所有Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。

    转换规则:从存储范围小的类型到存储范围大的类型。

    具体规则:byte -> short(char)-> int -> long -> float -> double。

    举例说明:byte类型的变量可以自动转换为short类型,

    byte b = 11;

    short sh = b;

    这里在给sh赋值时,JVM首先将变量b的值转换成short类型然后再赋值给sh。

    当然,在类型转换的时候可以跳跃,也就是byte可以自动转换为int类型,

    注意,在整数之间进行类型转换时数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型时,由于存储精度不同,可能会存在数据精度的损失。

    黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

    黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

  • 相关阅读:
    C++操作ZEROMQ
    反向代理原理
    【算法】【递归与动态规划模块】最小通关血量
    Qt 基于海康相机的视频绘图
    安装包UI美化之路-nsNiuniuSkin界面在线设计引擎
    肾囊肿会出现什么异常?
    Prometheus+Grafana可视化监控【Nginx状态】
    【机器学习笔记】吴恩达机器学习
    人工智能对我们的生活影响
    感统失调长大就好了?错,长大就晚了!
  • 原文地址:https://blog.csdn.net/Itmastergo/article/details/134261326