3.3 数据类型分类
3.3 数据类型分类
变量的本质
编程的本质,就是对内存中数据的访问和修改。
程序所用的数据都会保存在内存中,变量是一种用来访问或修改内存中数据的机制,每个变量都代表了某一小块内存,而且变量是有名字的,
程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程;
程序读取变量的值,实际上就是从该变量所代表的内存区取值的过程。
形象地理解:变量相当于一个有名称的容器,该容器用于装各种不同类型的据。
Java语言是强类型语言
Java
语言是强类型(strongly Typed
)语言,强类型包含两方面的含义:
- 所有的变量必须先声明后使用;
- 指定类型的变量只能接受类型与之匹配的值。
这意味着每个变量和每个表达式都有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。
强类型语言可以在编译时进行更严格的语法检査,从而减少编程错误。
声明变量的语法
声明变量的语法非常简单,只要指定变量的类型和变量名即可,如下所示:
1 | type varName [=初始值]; |
上面语法中,定义变量时既可指定初始值,也可不指定初始值。随着变量的作用范围的不同,变量还可能使用其他修饰符。但不管是哪种变量,定义变量至少需要指定变量类型和变量名两个部分。定义变量时的变量类型可以是Java
语言支持的所有类型
java变量类型分类
Java
语言支持的类型分为两类:
基本类型(PrimitiveType
)和引用类型(ReferenceType
)。
基本类型
基本类型包括boolean
类型和数值类型。数值类型有整数类型和浮点类型。整数类型包括byte
、short
、int
、long
、char
。其中char
代表字符型,实际上字符型也是一种整数类型,相当于无符号整数类型。浮点类型包括foat
和double
引用类型
引用类型包括类、接口和数组类型,还有一种特殊的**null
类型**。
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java
语言里不再使用指针这个说法。
空类型
空类型(null Type
)就是null
值的类型,这种类型没有名称。因为null
类型没有名称,所以不可能声明一个null
类型的变量或者转换到null
类型。空引用(null
)是null
类型变量唯一的值。空引用(null
可以转换为任何引用类型。
在实际开发中,程序员可以忽略null
类型,假定null
只是引用类型的一个特殊直接量。
空引用(null
)只能被转换成引用类型,不能转换成基本类型,因此不要把一个null
值赋给基本数据类型的变量。