Java数据类型可分为基础数据类型和引用数据类型。
基础数据类型包括8种
其中四种整数类型:
-
byte
,字节类型,-128 ~ 127; -
short
, 短整型,-215 ~ 215-1; -
int
, 整型, -231 ~ 231-1; -
long
, 长整型,定义时须在后面加上l,eg, long a = 15l;
两种浮点数类型:
-
float
,单精度浮点数, 定义时须在后面加上f,eg, float a = 15f; -
double
, 双精度浮点数;
bool类型(boolean),true or false,不能像其他语言一样用0,1来表示;
字符类型(char),单引号括起来的。
基础数据类型转换
- 自动类型转换:容量小的类型自动转换为容量大的数据类型,然后再进行运算。数据类型按容量大小排序为:
- 多种类型的数据进行混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算;
- byte、short、char之间不会相互转换,他们三者在计算时首先转换为int类型,
System.out.println('a'+1+"aaa")
// 输出 98aaa;- 当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型;
- 强制转换,对于一些无法进行自动转换的操作有时可以采用强制转换,这里与c++是基本相同的。
一个有意思的例子,
System.out.println('*' + '\t' + '*');
,输出93.
扩展赋值运算符: +=, -=, *=, /=, %=。需要注意类型转换的问题。
short s = 2; s = s + 3; // 这里会报错,因为变量参与运算时,Java程序不知道变量在做完运算后会不会超出当前变量类型的范围, // 所以会先把变量转换为一个更大的长度 s+=3; // 正确,在使用扩展赋值运算符时,变量在参与运算时会把结果自动转换为当前变量的类型
引用数据类型:
- 类(class),String字符串属于此类;
- 接口(interface);
- 数组([])
字符串类型(String)
Java的字符串类型与其他语言的有区别,他与任何值相加都会将其他值转换为String类型,如
System.out.println("aaa"+123)
; // 输出 aaa123;
System.out.println("aaa"+1+2+3)
// 输出 aaa123;
System.out.println(1+2+3+"aaa"+123)
; // 输出 6aaa123;上面最后一行的解释是运算是从左到右进行的,在没有碰到字符串之前,是可以进行正常的数值运算的,遇到字符串后就将字符串紧挨着的前面的和后面的全部变成了字符串类型来进行运算。
网友评论