Java知识线路
- Java基础
- 变量
- 运算符
- 数组
- 流程控制
- 面向对象
- 封装
- 继承
- 多态
- 抽象
- 接口
- 核心类库
- 集合
- 实用类
- 并发
- 多线程
- JUC
- 高级
- IO
- 网络编程
- WEB
- 框架
基本数据类型
整数类型(4种)
| 类型 | 占用字节 | 取值范围 | 默认值 | 使用场景 |
|---|---|---|---|---|
| byte | 1字节 | -128 ~ 127 | 0 | 节省内存,处理文件流或网络传输 |
| short | 2字节 | -32768 ~ 32767 | 0 | 较少用,二进制文件操作时偶尔用 |
| int | 4字节 | 约-21亿 ~ 21亿 | 0 | 最常用的整数,默认整数类型 |
| long | 8字节 | -2⁶³ ~ 2⁶³-1 | 0L | 数值范围超过int时使用,赋值时末尾加L |
浮点类型(2种)
| 类型 | 占用字节 | 取值范围 | 默认值 | 注意事项 |
|---|---|---|---|---|
| float | 4字节 | 约 ±3.4e-38 ~ ±3.4e38 | 0.0f | 赋值时末尾加f,精度约6-7位小数 |
| double | 8字节 | 约 ±4.9e-324 ~ ±1.8e308 | 0.0d | 默认浮点类型,精度约15-16位小数,金融计算慎用 |
字符类型(1种)
| 类型 | 占用字节 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|
| char | 2字节 | 0 ~ 65535(Unicode字符) | '\u0000' | 用单引号表示,如 'A',本质上是一个无符号整数 |
布尔类型(1种)
| 类型 | 占用字节 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|
| boolean | 1位(1/8字节) | true / false | false | 只表示逻辑值,不能与整数互转(与C/C++不同) |
逻辑运算符
- 与
&&:短路与,性能更高,表达式一旦出现false就直接返回,不再计算之后表达式&:计算所有表达式得到结果,结果和短路与一致
- 或
||:短路或,性能更高,表达式一旦出现true就直接返回,不再计算之后表达式|:计算所有表达式得到结果,结果和短路或一致
- 非
!:取反
位运算符
都是数值运算,转为二进制后按位补齐,再进行计算
&:按位与,都为1记为1,否则记为0|:按位或,有一个为1记为1,否则记为0^:按位异或,相同记为1,不同记为0<<:乘2的N次方>>:除2的N次方