一、数据类型的分类
计算机处理的对象是数据,可以是数值数据,如123.01,也可以是非数值数据,如字符串“Hello World”,在Java中将数据按其性质进行分类,每一类称为一种数据类型(Data Type)。数据类型定义了数据的性质、取值范围、存储方式以及对数据能进行的运算和操作。
Java语言数据类型分为两类,即基本数据类型(PrimitiveType)和引用数据类型(ReferenceType)。而基本数据类型又包括数值型、字符型(char)和布尔型(boolean),其中数值型又分为整型(byte、short、int、long)和浮点型(float、double)。引用数据类型包括类(class)、接口类型(interface)和数组类型。在这里主要讲基本数据类型,引用数据类型将在以后详细说明。
二、基本数据类型
基本数据类型是java语言中预定义的、长度固定的、不能再分的类型,数据类型的名字被当作关键字保留,并且都是小写。Java的数据类型不依赖于具体计算机系统,并且java的每种数据类型都对应一个默认值,这两点体现了java的跨平台性和安全性。
类型名称 关键字 所占字节 默认值
字节型 byte 1 0
短整型 short 2 0
整型 int 4 0
长整形 long 8 0
单精度浮点型 float 4 0
双精度浮点型 double 8 0
字符型 char 2 ‘\u0000’
布尔型 booleam 1 true和false
三、常量和变量
1.常量
(1).整型常量
整型常量默认为int类型,用4个字节的存储单元存放。要表示长整形,需在数后面加一个字母L(或小写的l)。例如,78l、78L。
八进制整数只能包含数字0~7以及正、负号,而且必须以数字0开头。如011(十进制为9)。
十六进制整数只能包括数字0~9、字母A~F(a~f)以及正、负号,而且必须以0X(0x)开头,如0X2A(十进制为42)。
(2).浮点型常量(实型常量)
十进制形式:由整数部分、小数点和小数部分构成,如3.56,789.23等,也可以是科学计数法表示十进制浮点数,如3.679E+2、4.5e-3等,其中E或e后跟的是十进制指数。
十六进制形式:从JDK5.0开始,也可以十六进制形式表示浮点数了,但只能采用科学计数法表示,其格式为:<0x |0x><十六进制尾数><p|p><以2为底的指数>
(3).布尔型常量
布尔型常量仅有两个值,即true和false,分别代表布尔逻辑中的“真”和“假”,在java中,布尔型常量与其他任何类型转换,true不等于1,而fulse不等于0。
(4).字符型常量
字符型常量是非常常见的一种数据类型。在java中字符数据类型char是用16位表示,这种编码方法被称为Unicode。
Java中的字符型常量有四种表达形式:
用单引号括起来单个字符;
用单引号括起来转义字符;
用单引号括起来八进制转义字符;
用单引号括起来Unicode转义字符。
(5).字符串常量
字符串常量是用双引号括起来的由0个或多个字符组成的一个字符序列(包含转义字符),如””(空字符串)、”HelloWorld”、”HelloWorld \n”。在Java中,字符串不是基本数据类型,是引用数据类型(“String类”类型),但也能像基本数据类型一样来使用它。
2.变量
(1)变量的声明
在java中变量必须先声明后使用。声明变量包括指定变量的名称和数据类型,必要时还可以指定变量的初始值。格式如下:
<数据类型名><变量名>[=<初值>][,<变量名>[=<初值>]...];
其中,[]中的内容是可选的;<变量名>必须是一个合法的标识符,变量名的长度没有限制;当有多个变量同属一种类型,各变量之间用逗号分开。
(2)变量的作用域
变量的作用域也称为变量的作用范围,即一个变量在多大的范围内可以使用。变量的作用域和变量的定义位置有关,再该类体中定义的类的成员变量,在该类的各个成员方法中均可以使用;在某个方法中定义的局部变量,仅能在本方法中使用;在if语句、switch语句或for语句等复合语句中定义的变量仅在该复合语句中有效。
注:方法体或复合语句中定义的局部变量必须初始化(赋值)后才能使用,而类中的成员变量可自动初始化为默认值。