3.3 数据类型分类

3.3 数据类型分类

变量的本质

编程的本质,就是对内存中数据的访问和修改
程序所用的数据都会保存在内存中,变量是一种用来访问或修改内存中数据的机制,每个变量都代表了某一小块内存,而且变量是有名字的,
程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程;
程序读取变量的值,实际上就是从该变量所代表的内存区取值的过程。
形象地理解:变量相当于一个有名称的容器,该容器用于装各种不同类型的据。

Java语言是强类型语言

Java语言是强类型(strongly Typed)语言,强类型包含两方面的含义:

  1. 所有的变量必须先声明后使用;
  2. 指定类型的变量只能接受类型与之匹配的值

这意味着每个变量和每个表达式都有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。
强类型语言可以在编译时进行更严格的语法检査,从而减少编程错误。

声明变量的语法

声明变量的语法非常简单,只要指定变量的类型和变量名即可,如下所示:

1
type varName [=初始值];

上面语法中,定义变量时既可指定初始值,也可不指定初始值。随着变量的作用范围的不同,变量还可能使用其他修饰符。但不管是哪种变量,定义变量至少需要指定变量类型和变量名两个部分。定义变量时的变量类型可以是Java语言支持的所有类型

java变量类型分类

Java语言支持的类型分为两类:
基本类型(PrimitiveType)和引用类型(ReferenceType)。

基本类型

基本类型包括boolean类型和数值类型数值类型有整数类型和浮点类型。整数类型包括byteshortintlongchar。其中char代表字符型,实际上字符型也是一种整数类型,相当于无符号整数类型。浮点类型包括foatdouble

引用类型

引用类型包括接口数组类型,还有一种特殊的**null类型**。
所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java语言里不再使用指针这个说法。

空类型

空类型(null Type)就是null值的类型,这种类型没有名称。因为null类型没有名称,所以不可能声明一个null类型的变量或者转换到null类型。空引用(null)是null类型变量唯一的值。空引用(null可以转换为任何引用类型。
在实际开发中,程序员可以忽略null类型,假定null只是引用类型的一个特殊直接量。
空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个null值赋给基本数据类型的变量