目录
一、数据类型
1.1分类
1.2关键字&内存占用&范围
|--------|---------|--------|-----------------|
| 数据类型 | 关键字 | 内存占用 | 范围 |
| 字节型 | byte | 1字节 | -128~127 |
| 短整型 | short | 2字节 | -32768~32767 |
| 整型 | int | 4字节 | -2^31~2^31-1 |
| 长整型 | long | 8字节 | -2^63~2^63-1 |
| 单精度浮点数 | float | 4字节 | 有范围,一般不关注 |
| 双精度浮点数 | double | 8字节 | 有范围,一般不关注 |
| 字符型 | char | 2字节 | 0-65535 |
| 布尔型 | boolean | 没有明确规定 | true和false |
1.3包装类
Java包装类是Java为八种基本数据类型提供的特殊类,它们使得基本数据类型的值可以作为对象处理
每个包装类都将基本数据类型封装在一个对象中,并提供了一系列方法来操作这些数据
每种基本数据类型都有一个对应的包装类:
-
byte 对应java.lang.Byte
-
short 对应java.lang.Short
-
int 对应java.lang.Integer
-
long 对应java.lang.Long
-
float 对应java.lang.Float
-
double 对应java.lang.Double
-
boolean 对应java.lang.Boolean
-
char 对应java.lang.Character
1.4说明
- Java中的数据类型占用字节数与操作系统无关,可移植性高
- 整型和浮点型都是带有符号的
- 整型默认int类型,浮点型默认double类型
- 定义变量:数据类型+变量名
- 包装类型.MAX_VALUE,求某一数据类型可存储的最大值
- 包装类型.MIN_VALUE 求某一数据类型可存储的最小值
- Java中,如果变量没有初始化,在使用的时候会编译报错;变量赋值的时候,字面值超过了可存储的范围,编译也会报错
- 为了区分长整型变量和整型变量,一般在变量的初始值之后加L或者l
- 对于一个小数来说默认是double类型,要给float类型数据赋值小数时需要在值的后面加上一个F
- boolean类型和int类型不能相互转换
1.5类型转换
不同类型之间的变量相互赋值的时候,会有较严格的检验
有两种类型转换方式:强制类型转换(显示)和自动类型转换(隐式)
- 强制类型转换:进行操作的时候,代码需要经过一定的格式处理,不能自动完成
- 自动类型转换:自动完成的,不需要进行格式处理,范围小的类型能隐式转换成范围大的类型
强制转换不一定成功,不相关的类型不能相互转换(比如boolean类型和int类型不能相互转换 )
1.6类型提升
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的
byte类型之间运算时尤其要注意
对于小于四个字节的数据,在运算时会被提升为四个字节后进行运算
二、常量
2.1java中的常量
在Java编程语言中,常量是指在程序执行过程中其值不可改变的量。常量可以是任何基本数据类型,如整数、浮点数、字符或布尔值。常量的主要特点是一旦它们被初始化或赋值后,它们的值就不能被修改
2.2定义常量
定义常量,使用final关键字,后跟数据类型、常量名和初始值,例如
java
final int MAX_WIDTH = 800;
final String COMPANY_NAME = "Tech Corp";
其中MAX_WIDTH和COMPANY_NAME就是常量,他们分别被赋值为800和"Tech Corp"
tips:一般将被修饰的变量大写
2.3分类
- 字符型常量
- 整型常量
- 浮点数常量
- 字符常量
- 布尔常量
- 空常量