数据类型,是系统预先规定的一些常用类型。它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。
①逻辑类型用关键字boolean标识,所以也称为布尔型。逻辑类型只有真(true)和假(false)两个值。
②字符类型用关键字char标识。字符型数据是一个字符,内部表示是字符的Unicode代码,共有65535个不同的字符。在Java程序中,字符常量有普通字符常量
(用单引号括住一个字符)和转义字符常量(用\开头后跟特定字符或字符串)两种。
③整数类型是指不带小数点和指数的数值数据。
由于计算机只能表示整数的一个子集,表达更大范围内的整数需要更多的二进制位,Java语言将整数数据按数值范围大小不同分成四种:基本型用关键字int标识,4个字节,32位,取值范围是-231~231-1;短整型用关键字short标识,2个字节,16位,取值范围是-215~215-1;字节型用关键字byte标识,1个字节,8位,取值范围是-27~27-1;长整型用关键字long标识(或者在常数后加L或l标识),8个字节,64位,取值范围是-263~263-1。每种整数类型处理不同范围的整数值,并且都是带符号的。整型常量有十进制、八进制(以数字符0开头)和十六进制(以0x开头)三种写法。
④浮点数类型也称为实型,浮点数是带小数点或指数的数值数据。Java语言的浮点数有单精度和双精度两种。单精度型用关键字float标识,占4个字节,32位。Float型常量的书写方法是在实数之后加上字母F或f。双精度用关键字double标识,占8个字节,64位。double型常量的书写方法有两种:一种写法是直接写一个实数,或在实数后加字母D或d。另一种是科学计数法,用10的方幂(用字符e或E表示幂底10)。
2.1数据运算
Java语言的基本运算可分成以下几类:赋值运算、算术运算、自增和自减运算、关系运算、逻辑运算、条件运
算和字符串连接运算等。
2.1.1赋值运算
在Java语言中符号“=”是赋值运算符不是“相等”运算符(相等运算符是“= =”见关系运算符的叙述)赋值运算分为两类:一是简单赋值运算;二是复合赋值运算。
1.简单赋值运算
简单赋值运算的一般形式如下:
变量表达式赋值运算的执行过程是:
(1)计算赋值运算符右端的表达式。
(2)当赋值运算两侧的类型不一致时,将表达式值的类型自动转换成变量的类型。
(3)将表达式的值赋值给变量,即存储到与变量对应的存储单元中。
这里的类型转达换是指数值数据的类型自动转换,这样的自动转换只能是简单类型向复类型转换,不能从复杂的转换成简单的。即如下所示的从左到右转换。
byte→short→int→long→float→double
Java语言约定赋值运算也有值,它的值就是赋予变
量的值,因此,赋值运算的结果可以继续赋值。
intj;
doubley=2.0;
y=j=3;∥j的值为3,y的值为3.0
赋值运算符结合性“自右至左”当连续有多个赋值
运算时,是从右至左逐个赋值。
2.复合赋值运算
这类运算的特殊性点是:变量即要参与运算,又要接受赋值。为避免对同一个变量的地址重复,计算引入复合赋值运算符。
常用的复合赋值运算符有:+=、
-=、=、/=、%=。
2.1.2算术运算
算术运算要求运算分量的类型是数值类型的(整数类型和浮点数类型)。运算时,只需一个运算分量的是单目运算,需两个运算分量的是双目运算。特别的:
(1)“/”为除法运算符,当除数和被除数均为整数类型数据时,则结果也是整数类型数据。例如7/4的结果为1。
(2)“%”为求余数运算符,求余数运算所得结果的符号与被除数的符号相同。例如5%3的结果为2,-5%3的结果为的结果为3。
2.1.3自增和自减运算
自增运算符“++”和自减运算符“--”是单目运算符,要求运算分量是数值类型的变量,其作用是使变量的值增1或减1,这两个运算符与变量结合有以下四种可能形式:
++i前缀形式,表示在引用变量i之前,先使i加
1,以加1后的i值为运算结果。
-i前缀形式,表示在引用变量i之前,先使i减1,
以减1后的i值为运算结果。
i++后缀形式,表示在引用变量i之后,才使i加1,
即以增1前的i值为运算结果。
i--后缀形式,表示在引用变量i之后,才使i减1,
即以减1前的i值为运算结果。
例如:
i=4;j=++i
;∥i结果为5,j的结果为5
i=4;j=i++;∥i的结果为5,j的结果为4
i=4;j=--i;∥i结果为3,j的结果为3
i=4;j=i--;∥i结果为3,j的结果为4
上述例子说明,对变量采用自增(或自减),用前缀形式或用后缀形式,对变量本身来说,效果是相同的,但表达式的值不相同。前缀形式是变量运算之后的新值,后缀形式是变量运算之前的值.自增自减运算能使程序更为简洁和高效,但在使用时需注意“++”和“!!”运算的运算对象只能是变量,不能是常量或表达式.例如,4++或(i+j)++都是不
合法的.
2.1.4关系运算
关系运算对左右两侧的值进行比较,如果比较运算的结果成立,则值为true,不成立为false。关系运算符的优先级别不完全相同。<