5.3.2 数据类型
1.常量与变量
常量是在程序运行时不会修改的量,用文字串表示,如整型常量12、浮点型常量1.21、字符常量“啊”、布尔常量“true”和“false”及字符串常量“ab is c”。通过final关键字也可以定义常量,此时常量名全部为大写字母。
变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域。
①变量名是一个合法的标识符,它是字母、数字、下划线或“$”的序列。Java对变量名区分大小写。变量名不能以数字开头,且不能为关键字。
②变量类型用于指定变量的数据类型。
③变量的作用域是指程序代码能够访问该变量的区域。根据作用域的不同,可将变量分为成员变量和局部变量。
成员变量在类中、方法体之外定义,在创建对象的时候实例化,可以被类中方法、构造方法和特定类的语句块访问。局部变量是在方法内或方法内的某代码块(方法内部,“{”与“}”之间的代码)中声明的变量。在代码块中声明的变量,只在当前代码块中有效;在代码块外、方法内声明的变量,在整个方法内都有效。
2.数据类型
Java使用两种数据类型:简单数据类型和复合数据类型。简单数据类型包括:整型、浮点型、字符型和布尔型。复合数据类型包括字符串、数组、类,等等。
(1)整型
Java提供了4种整型数据类型,分别是byte(字节)、short(短整数)、int(整数)、long(长整数),占用内存空间分别为1、2、4、8字节。表示整数常数值的方式包括常用的十进制以及八进制和十六进制。例如,
(2)浮点型
浮点型数据有十进制和科学计数法两种形式。浮点型变量包含单精度浮点数(f1oat),双精度浮点数(double)两种,分别占4、8字节。例如,
(3)字符型
字符型数据是单一的2字节Unicode字符,以单引号括起来。字符型变量的数据类型为char,占2字节。例如,
char ch1=C;
char ch2=飞;
(4)布尔型
布尔型仅有两种可能取值:“true”和“false”,分别表示逻辑的真与假。
(5)字符串
Java的字符串分为不变字符串和可变字符串,不变字符串是java.lang.String类的实例,可变字符串是java.lang.StringBuffer类的实例。可以利用new运算符创建。例如,
St r ing st r=new St r ing(“abcd”);
(6)数组
数组是一组相同数据类型元素的集合,分为一维、二维和多维数组。其元素数据类型既可以是简单的也可以是复杂的,数组名称必须是合法标识符。
声明数组时可以使用new运算符分配内存:
int list[]=new int[5];
数组元素由统一数组名和下标来唯一确定,如list[1]、list[2]或list[x],x为数组下标,为整型常数或表达式。
每个数组有个属性length指示长度,如list.length。
可以设置数组元素的值或列举初始值对数组初始化,例如,
St ring names[]={“a“,“b“,“c“,“d“};
3.数据类型转换
在程序执行时,有时需要进行数据类型转换。
(1)基本数据类型的转换
基本数据类型的转换比较简单,只需要在数据前加上要转换的类型即可。例如,
int i;
byte b=(byte)i;
这种类型转换可能导致精度下降或溢出。
(2)字符串与基本数据类型的转换
字符串与基本数据类型的转换需要使用对象提供的方法,包括字符串转换为基本数据类型以及基本数据类型转换为字符串。主要方法如表5-1所示。
表5-1 字符串与基本数据类型的转换方法