黄阶低级 - 《 Java 核心》- 3.3 数据类型 - 修改1次

来源:互联网 发布:粒子群算法matlab代码 编辑:程序博客网 时间:2024/05/01 04:27

Java 数据类型

Java 是一种强类型语言,这就意味着必须为每一个变量声明一种类型
Java一共有8种基本类型,都是小写
-4种整形 ( byte , short , int , long )
-2种浮点类型 ( float , double )
-1种字符类型 ( char )
-1种表示真值的类型 ( boolean )

1、整形

类型 存储需求 取值范围 默认初始值 对应的包装类 byte 1字节 -128~127(100多)(7次方) ( byte )0 Java.lang.Byte short 2字节 -32768~32767(3万多)(15次方) ( short )0 Java.lang.Short int 4字节 -2147483648~(20亿多)(31次方) 0 Java.lang.Integer long 8字节 -9223372036854775808~()(63次方) 0L Java.lang.Long
  • 由于 Java 程序必须保证在所有机器上都能得到相同的运行结果,所以每一种数据类型的取值范围必须固定。

2、浮点型

类型 存储需求 取值范围 默认初始值 对应的包装类 float 4字节 有效位6~7位 0.0f Java.lang.Float double 8字节 有效位15位 0.0d Java.lang.Double
  • float 类型的数值有一个后缀 F ,没有后缀 F 的浮点数值默认为 double 类型, double 也可以加后缀 D 。
float f = 3.14F ;double d = 3.14D ;
  • 浮点数值不适用于禁止出现舍入误差的金融计算中,应该使用 BigDecimal 类。
System.out.println(2.0-1.1);/**结果输出 0.8999999999999999*主要原因是浮点数值采用二进制表示,无法精确表示分数 1/10 ,就像十进制无法精确表示 1/3 一样。**/

3、char 类型

类型 存储需求 取值范围 默认初始值 对应的包装类 char 2字节 \u0000~\uffff ‘\u0000’( null ) Java.lang.Character
  • Java 中,char 类型用 UTF-16 编码描述一个代码单元。
  • 建议不要在程序中使用 char 类型。

4、boolean 类型

类型 存储需求 取值范围 默认初始值 对应的包装类 boolean 无严格定义 false , true ‘\u0000’( null ) Java.lang.Boolean
int a = 0 ;if(a=0){}//在 Java 中,这样的判断语句会报错:Type Mismatch:cannot convert from int to boolean
  • 在 Java 中整形值和布尔值之间不能进行相互转换。
  • boolean 类型只表示 1bit 的信息量。
  • boolean 类型被编译成 int 类型来使用,占 4字节。
  • boolean 数组被编译成 byte 数组类型,每个 boolean 数组成员占1字节。
  • 这只是 Java 虚拟机的建议,无严格定义。

5、备注

Java是双类型的系统,即具有基本数据类型和对象类型,简称基本类型和对象。Java中有8个预定义的基本类型,每一个基本类型都有一个对应的对象包装类。基本类型基于值,对象类型基于引用。

0 0