3_数据类型
变量的基本概念
- 当需要在程序中记录单个数据内容时,声明一个变量即可,而声明变量的本质就是在内存中申请一个存储单元,由于该存储单元中的数据内容可以发生改变,因此得名为“变量”。
- 由于存放的数据内容大小不一样,导致所需存储单元的大小不一样,在Java语言中使用数据类型加以描述,为了便于下次访问不再需要重新给该变量指定一个名字,用于记录该变量对应的存储单元。
数据类型分类
Java中数据类型主要分为两大类
- 基本数据类型:
byte
,short
,int
,long
,float
,double
,boolean
,char
- 引用数据类型:数组、类(如
String
)、接口、枚举、标注
标识符的命名规则
- 由数字、字母、下划线以及
$
等组成,其中数字不能开头。 - 不能使用Java语言中的关键字,所谓关键字就是Java语言用于表示特殊含义的单词。
- 区分大小写,长度没有限制但不宜过长。
- 尽量做到见名知意,支持中文但不推荐使用。
- 标识符可以给 类、变量、属性、方法、包 命名。
整数类型
-
Java语言中描述整数数据的类型有:
byte
、short
、int
、long
,推荐int
类型 -
byte:占内存空间1个字节(8位),范围是
-2^7 ~ 2^7-1
-
short:占内存空间2个字节(16位),范围是
-2^15 ~ 2^15-1
-
int:占内存空间的4个字节,范围是
-2^31 ~ 2^31-1
-
long:占内存空间的8个字节,范围是
-2^63 ~ 2^63-1
-
Java程序中直接写出的整数数据叫做常量,默认为 int类型。若希望表达更大的直接量,则在直接量的后面加上L。
浮点类型
-
Java语言中用于描述小数数据的类型:
float
和double
,推荐double
类型。 -
float
类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字,范围:-3.403E38 ~ 3.403E38
。 -
double
类型在内存空间占8个字节,叫做双精度浮点数,可以表示15位有效数字,范围:-1.798E308 ~ 1.798E308
。 -
float
和double
类型运算时可能会有误差,若希望实现精确运算可以借助java.math.BigDecimal
类型。 -
Java程序中直接写出的数据叫做直接量,默认为
double
类型,若希望表达float
类型的直接量,则需要在直接量的后面加上F。
布尔类型
- Java怨言中用于描述真假信息类型有:
boolean
,数值只有true
和false
。 - 布尔类型在内存空间中所占大小没有明确的规定,可以认为是1个字节。
字符类型
- Java语言中用于描述单个字符的数据类型:char类型。如:”a“、”中“等。
- char类型在内存空间中占2个字节并且没有符号位,表示的范围是:
0 ~ 65535
,由于现实生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来组成的字符串,使用String
类型加以描述,如:“hello”、“奇点”等。 - 计算机的底层只识别0和1组成的二进制序列,对于字符‘a’这样的图案老说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的团数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做ASCII。
\n -- 10
\0(空字符) -- 16
空格 -- 32
0 -- 48
1 -- 49
A -- 65
B -- 66
a -- 97
b -- 98
位运算符
运算符的优先级
()
的优先级极高=
的优先级极低- 实在无法确定优先级就用
()
括起来
算数运算符:+ — * / %
字符串连接符:+
关系运算符:> >= < <= == !=
自增减运算符:++ --
条件运算符:&& || !
条件运算符:?:
赋值运算符:= += -= *= /= %=
移位运算符:<< >> >>>
位运算符:& | ^ ~