java重拾-语法
java重拾-语法
关键字 保留字
abstract
抽象类与抽象方法,使用抽象方法必须为抽象类,属于是半个接口
boolean
bool类型,基本数据类型
byte
8位有符号数,基本数据类型
short
16位有符号数,基本数据类型
int
32位有符号数,基本数据类型
long
64位有符号数,基本数据类型
char
8位字符,基本数据类型
float
单精度浮点,基本数据类型
double
双精度浮点,基本数据类型
enum
枚举类,理解为字符和int的映射
try-catch-finally
异常捕获与处理
extends
类的继承
final
表示该变量的值无被修改,该方法无法被重写,该类无法被继承,但是都可以被调用
如String类就是强制final的,为了实现
- 字符串常量池
- 线程安全
- HashCode不可变
String 对象一旦被创建后就固定不变了,对 String 对象的任何修改都不会影响到原来的字符串对象,都会生成新的字符串对象
implements
实现接口
interface
接口,所有接口函数都必须在继承后实现,除非继承的也是接口
instanceof
类型判定,包括继承类型
native
本地方法,c/c++实现,JNI
null
空指针,不同虚拟机也许有不同的实现,但应当都是c 标准库所定义的0地址
private-protected-public
private 仅本类可见
protected 只要有继承 包含关系都可见
public 都可见
static
静态,固定在内存中,加载即可使用,无需实例化
在实际的项目开发中,通常使用静态代码块来加载配置文件到内存当中
静态内部类
super
this.father
synchronized
同步:方法 变量 代码块
=await
throw
抛出异常
transient
暂态变量,序列化是重置,值置零,引用置null
volatile
禁止优化重排,保证变量操作不会影响依赖,即
操作前读取的命令都执行完成,操作后写入的命令都未执行
数据类型
数据类型 | 默认值 | 大小 |
---|---|---|
boolean | false | 不确定 |
char | '\u0000' | 2 字节 |
byte | 0 | 1 字节 |
short | 0 | 2 字节 |
int | 0 | 4 字节 |
long | 0L | 8 字节 |
float | 0.0f | 4 字节 |
double | 0.0 | 8 字节 |
包装器类型
将基本数据类型包装为对象,实现一些默认功能
- Byte(对应 byte)
- Short(对应 short)
- Integer(对应 int)
- Long(对应 long)
- Float(对应 float)
- Double(对应 double)
- Character(对应 char)
- Boolean(对应 boolean)
**使用 Integer 类的 parseInt 方法将字符串转换为整数,或使用 Character 类的 isDigit 方法检查字符是否为数字,还有前面提到的 **Character.forDigit()
方法
- 自动拆装箱
基本数据类型:
- 1、变量名指向具体的数值。
- 2、基本数据类型存储在栈上。
引用数据类型:
- 1、变量名指向的是存储对象的内存地址,在栈上。
- 2、内存地址指向的对象存储在堆上。
说白了就是指针
堆和栈
数据放堆,引用和基本数据类型放栈
因为堆是真的存东西,栈只是调用函数的时候给你压进去并退出的时候弹出来,这样才知道上一层函数使用的数据
自动类型转换
byte -> short -> int -> long -> float -> double
强制类型转换
自己管好数据范围
基本数据类型缓存池
基本数据类型的包装类除了 Float 和 Double 之外,其他六个包装器类(Byte、Short、Integer、Long、Character、Boolean)都有常量缓存池。
- Byte Short Long Character:-128~127
- Boolean:true 和 false
public static Integer valueOf(int i) {
if (i >=IntegerCache.low && i <=IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
运算符
算数
+** - * / %**
关系
== != > >= < <=
位
& | ^ ~ << >> >>>
逻辑
&& ||
赋值
=
三元
a:b?c
if a then b else c