2.7 Java语言的数据类型
Java也和其他语言一样,具有三种层次的数据类型。但是,Java是基于类的面向对象的语言,因此,用户定义类型比较简单。
Java语言规范将数据类型定义为基本类型和引用(Reference)类型。基本类型又分为整数类型、浮点类型、布尔类型等。引用类型分为类类型、接口类型和数组类型。
2.7.1 内部类型
(1)整型
关键字为int,内部表示为32位有符号补码整数。另外,还有长整数long,内部表示为64位有符号补码整数;短整数short,内部表示为16位有符号补码整数;字节长度整数byte,内部表示为8位有符号补码整数。
(2)实型
关键字为float,单精度浮点数;另外,还有双精度浮点数,关键字为double。
(3)字符型
关键字为char,内部表示为16位无符号Unicode字符。
(4)布尔型
关键字为boolean,N/A,布尔值为true或false。在C和C++语言中,布尔型是枚举类型,表示为整数0或1。Java的布尔型是一种独立的数据类型,因此布尔值不能直接转换成数值。
2.7.2 用户定义类型
Java语言不支持指针、结构和联合,它只支持数组,其语法格式为
(类型)<数组名>[]|(类型)<数组名>[][]
Java定义数组的方法与C和C++语言类似,也要求说明数组元素的类型。
Java的数组与C和C++的数组有很大的不同,它不需要说明数组的上、下界,实际上,它是一个动态的灵活数组。因此,在说明数组时,并不分配存储空间,也没有实际建立一个具体的数组。必须利用new语句来显式分配一个实际空间,即建立一个实际的数组,将数组实例化。Java称数组的实例为对象。
语句
int ai[]
定义了一个整型数组,它仅说明ai是一个整型数组。但语句
int ai[]= new int[10]
在说明ai为整型数组的同时,还将ai初始化,即它有10个元素。一旦用new建立了实际数组,它的元素个数是不能随意改变的。
数组元素类型可以是任意类型,既可以是基本类型,也可以是引用类型。