本节书摘来异步社区《Java和Android开发学习指南(第2版)》一书中的第2章,第2.3节,作者:【加】Budi Kurniawan,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.3 基本类型
当我们编写一个面向对象应用程序的时候,就会创建和现实世界相似的对象模型。例如,一个工资支付应用程序有Employee对象、Tax对象、Company对象等。然而,在Java中,对象并非唯一的数据类型。还有另一种叫作基本类型的数据类型。Java中有8种基本类型,其中每一种都有特定的格式和大小。表2.2列出了Java的基本类型。
前6种基本类型(byte、short、int、long、float和double)表示数字。每一种都有不同的大小。例如,byte可以包含−128到127之间的任意整数。要搞清楚一个整数类型所包含的在最小数字和最大数字,可以看一下位数。一个byte是8位的长度,因此,有28即256个可能的值。前128个值是从−128~−1,0还要占一个位置,剩下了127个正值。因此,一个byte的范围是−128~127。
如果你需要一个占位符来存储数字1 000 000,那么,需要使用一个int类型。long甚至会更大,你可能会问,如果long可以包含比byte和int更大的一组数字,为何不总是使用long呢?这是因为,long占了64位,比byte和int消耗更多的内存。因此,为了节省空间,总是要使用数据大小尽可能小的基本类型。
基本类型byte、short、int和long只能够保存整数,对于小数来说,你需要使用float或者double类型。float是32位的值,遵守IEEE标准754。double是一个64位的值,也遵从相同的标准。
char可以包含单个的Unicode字符,例如“a”、“9”或“&”。使用Unicode,允许char包含那些在英语字母中不存在的字符。一个boolean类型包含两个可能的状态(false或true)之一。
Java不将一切内容都表示为对象,是考虑到速度的原因。和基本类型相比,创建和操作对象的代价更加昂贵。在编程语言中,如果一项操作对资源需求很大,并且要占用很多的CPU周期才能完成,我们就说该操作很昂贵。
既然了解了Java中的两种数据类型(基本类型和对象),让我们来继续学习如何使用基本类型。我们从变量开始。