java随笔
12/29
java是强类型语言,需定义后才能使用
js,VBScript是弱类型语言
| 强类型 | 类型约束严格,不允许 “无意义” 的隐式类型转换,类型错误早暴露 | Java、C#、Python |
|---|---|---|
| 弱类型 | 类型约束宽松,允许任意隐式类型转换,类型错误晚暴露 | JS、VBScript、Perl |
| 静态类型 | 变量声明时必须指定类型,类型在编译期确定且不可变 | Java、C++ |
| 动态类型 | 变量无需指定类型,类型在运行期动态变化 | JS、Python、VBScript |
long类型需要在数字后加L
float类型需要在后面加F
String 不是关键字,它是一个类
问题:
-为啥写Integer会有help
-既然都是类,为啥String不是关键字
12/30
整数

浮点数


不能使用浮点数进行比较
字符

字符串

布尔

问题:
- 复制忘记怎么复制了
1/2
类型转换



1/3
- 虽然可以在一行申明多个变量,但是不推荐
变量类型及作用域

除八大基本类型外,其他类变量的默认值为null

常量

问题:
- 数值型变量的域,类变量的默认值
- 引用类型
- 变量定义规则
![image]()
1/4
运算符

有long则long,无long则int,有double必double

1/5运算符的优先级
| 优先级 | 运算符类型 | 具体运算符 | 结合性 | 核心说明 |
|---|---|---|---|---|
| 1 | 括号 / 数组 / 方法调用 | ()、[]、.(点) | 从左到右 | 优先级最高,优先计算括号内内容 |
| 2 | 单目运算符(一元) | ++(后缀)、--(后缀) | 从左到右 | 先取值,后自增 / 自减 |
| ++(前缀)、--(前缀) | 从右到左 | 先自增 / 自减,后取值 | ||
| +(正)、-(负)、!、~ | 从右到左 | 取反、取负等 | ||
| 3 | 乘除取模 | *、/、% | 从左到右 | 先乘除,后加减 |
| 4 | 加减 | +、- | 从左到右 | |
| 5 | 移位运算符 | <<、>>、>>> | 从左到右 | 位运算的移位操作 |
| 6 | 关系运算符 | <、>、<=、>=、instanceof | 从左到右 | 比较大小 / 类型判断 |
| 7 | 相等运算符 | ==、!= | 从左到右 | 判断是否相等 |
| 8 | 按位与 | & | 从左到右 | 位运算的与操作 |
| 9 | 按位异或 | ^ | 从左到右 | 位运算的异或操作 |
| 10 | 按位或 | 从左到右 | ||
| 11 | 逻辑与 | && | 从左到右 | 短路与(左边 false 则不执行右边) |
| 12 | 逻辑或 | |||
| 13 | 三元运算符 | ?: | 从右到左 | 条件判断,如 a>b?a:b |
| 14 | 赋值运算符 | =、+=、-=、*=、/=、%= 等 | 从右到左 | 赋值操作,优先级最低 |

1/8
短路操作

与/或/非/异或位运算

位移

1/13
- jdk帮助文档
- 阿里巴巴开发手册
![image]()
javadoc

凡是io流的操作记得关闭
1/15
switch语法

case没有break会继续输出,case穿透现象,直到看到break
label标签,不好用(?)

代替品




浙公网安备 33010602011771号