java_数据类型
变量的基本概念
一个变量对应着内存中的一个地址,变量的值就存储在那个地址所对应存储单元内
变量的三要素
-
类型
-
-
值
注意事项
-
变量不能在一个作用域重复定义
数据类型
基本数据类型
整型
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| byte | 1字节 | -128 ~ 127 |
| short | 2字节 | -(2^15) ~ (2^15)-1 |
| int | 4字节 | -(2^31) ~ (2^31)-1 |
| long | 8字节 | -(2^63) ~ (2^63)-1 |
浮点型
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| float | 4字节 | …… |
| double | 8字节 | …… |
虽然long的字节占的多,但是float的范围比long大,因为两者编码方式不一样。

字符型
字符型可以表示一个字符,本质是一个数值,输出时是该数值的ASII码
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| char | 2字节 | -(2^15) ~ (2^15)-1 |
布尔型
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| boolean | 1字节 | -128 ~ 127 |
引用数据类型
-
类
-
接口
-
数组
数据的运算
赋值运算
-
用整数赋值给整型时只需要考虑数值的范围(用变量赋值时变量时高精度赋值给低精度会导致精度丢失)。
-
整数默认int型,小数默认double。xxx(L\l)表示long型,xxx(F\f)表示float型。
-
变量赋值给变量时触发数据类型的自动转换。char不能和short、byte中任意一个转换。
-
boolean类型只有ture和false,并且不能用整数表示(c++ / python可以)。
四则运算
-
带着char、byte、short的运算,结果为int型。
-
运算时取最高精度的数据类型
-
字符串参与加法时,所有的数据都变成字符串,采用拼接。
数据类型的转换
自动转换

强制转换
基本数据类型转换
例 (数据类型)(xxxx)
问题:
-
高精度转低精度会有精度损失
-
可能导致溢

字符串转基本数据类型
例 使用Integer类中的一个方法来转换
String a = "1";
int b = Integer.parseInt(a);
注意事项
-
除了char每一个基本数据类型都有一个类中的parse方法来将String转换。
-
char类型用CharAt()来检索
String a = "abc";
char b = a.charAt(0);
浙公网安备 33010602011771号