
其中,boolean是用来表示布尔型数据的数据类型。boolean型的变量或常量的取值只有true和false两个。其中,true代表“真”, false代表“假”。
byte是用来处理未经加工的二进制数据的数据类型,每个byte型的常量或变量中包含8位(bit)的二进制信息。
Java的字符数据类型char与其他语言相比有较大的改进。C语言等的字符类型是采用ASCII编码,每个数据占用8比特的长度,总共可以表示256个不同的字符。ASCII编码是国际标准的编码方式,但是也有其一定的局限性,最典型的体现是在处理以汉字为代表的东方文字方面。汉字的字符集大,仅用8位编码是不够的,所以传统的处理方法是用两个8位的字符数据来表示一个汉字。为了简化问题,Java的字符类型采用了一种新的国际标准编码方案——Unicode编码。每个Unicode码占用16个比特位,包含的信息量比ASCII编码多了一倍,无论东方字符还是西方字符,都可以统一用一个字符表达。由于采用Unicode编码方案,为Java程序在基于不同语言的平台间实现平滑移植铺平了道路。
上面所介绍的数据类型都是基本数据类型,Java中还存在着一种引用数据类型(reference),包括类和接口等。比如对应基本的double类型,还存在着一个类Double。这些类在包含基本数据类型所表示的一定范围、一定格式的数值的同时,还包含了一些特定的方法,可以实现对数值的专门操作,如把字符串转换成双精度型数值等。严格的面向对象语言中不应该有基本数据类型存在;但事实上这些简单数据类型应用得太广、太多了,为了简化编程,Java中也就定义了与面向过程语言相似但与类无关的基本数据类型。从这个意义上来说,Java仍继承了面向过程的一些东西,并不是严格意义上的完全面向对象的语言。

