计算机编程语言是用来控制计算机的行为及操作,协助人类解决现实中的问题,其能表达的数据类型也是从实际中提取并抽象出来形成的数据结构描述。
例如:数学中数的基础分类有正整数、负整数、小数等类别,数学中所有关于数的运算都是在基础分类上进行的。计算机出现之前,数学家们用稿纸进行大量的数学运算以求证数学问题和科学计算,这耗费了数学家们太多的精力。随着计算机科技的发展,大量复杂的数学运算交给计算机来执行,极大提高了计算效率,也让数学家们从复杂地数学运算中摆脱出来。
数学运算包含大量的计算表达式,计算机程序需要有连续处理计算表达式和计算数据的处理能力,下面是一个简单的四则运算表达式:
15.8+20*31.5-30
计算机程序要处理上述表达式,就需要具备存储小数、整数、运算符的能力。Java语言提供了存储小数、整数、运算符的基本数据类型。下图是表达式数据类型到Java数据类型的映射图。
表达式数据类型到Java数据类型的映射
为说明问题起见,给出一个简化算术表达式:8.25+30
声明三个变量用来存储运算数和运算符
public float floatNum; public int intNum; public char op;
程序要计算上面的算术表达式时,首先从左到右扫描表达式。假设本次扫描不考虑优先级运算,只是完成提取运算数和运算符的功能。扫描过程如下:如果是运算数,判断是整型还是小数,整型赋值给intNum,如果是小数赋值给floatNum,如果是运算符赋值给op。下图是扫描完成后,变量在内存储器的存储情况。

不同数据类型的变量在存储器的存储情况
从上图可以看出,不同数据类型的变量在存储器占用的空间也不相同。数据类型为字符型的变量在存储器占用一个字节的空间,数据类型为整型的变量在存储器占用四个字节的空间,数据类型为浮点型的变量在存储器也占用四个字节的空间。Java基本数据类型都有固定的取值范围空间,不会随着机器硬件环境或者操作系统的改变而改变,因此Java程序的可移植性要强于其它编程语言。
Java基本数据类型见下图。

Java基本数据类型
Java基本数据类型包括数值型、字符型和布尔型。数值型又分为整数类型和浮点类型。Java基本数据类型是构成其它复合类型的基础,后面几节将分别讲述整数、浮点、字符和布尔型的具体应用和取值范围。