语法基础
关键字:
- final: 用于表示某个变量、方法或类是最终的,不能被修改或继承
- super: 可用于调用父类的方法或者字段
- synchronized: 用于指定多线程代码中的同步方法、变量或者代码块
- transient: 修饰的字段不会被序列化
- const 在 C语言中是声明常量的关键字,在 Java 中可以使用 public static final 三个关键字的组合来达到常量的效果。
注释:
- java的注释要写在代码行上面,符合阿里巴巴开发公约。
数据类型和变量:
- 数据类型的分类
数据类型 默认值 大小
boolean false 1 比特
char '\u0000' 2 字节
byte 0 1 字节
short 0 2 字节
int 0 4 字节
long 0L 8 字节
float 0.0f 4 字节
double 0.0 8 字节 - 基本数据类型和引用数据类型的区别;
基本数据类型:
- 变量名指向具体的数值。
- 基本数据类型存储在栈上。
引用数据类型: - 变量名指向的是存储对象的内存地址,在栈上。
- 内存地址指向的对象存储在堆上。
- 变量的分类
变量有局部变量,成员变量,静态变量- 局部变量在使用时必须初始化。
包装器
包装器类型(Wrapper Types)是 Java 中的一种特殊类型,用于将基本数据类型(如 int、float、char 等)转换为对应的对象类型。
- Byte(对应 byte)
- Short(对应 short)
- Integer(对应 int)
- Long(对应 long)
- Float(对应 float)
- Double(对应 double)
- Character(对应 char)
- Boolean(对应 boolean)
包装器类型允许我们使用基本数据类型提供的各种实用方法,并兼容需要对象类型的场景。
基本数据类型的包装类除了 Float 和 Double 之外,其他六个包装器类(Byte、Short、Integer、Long、Character、Boolean)都有常量缓存池。 - new Integer(18) 每次都会新建一个对象;
- Integer.valueOf(18) 会使⽤用缓存池中的对象,多次调用只会取同⼀一个对象的引用。
类型转换
- 这种写法是错误的 int无法自动转化为byte
byte b = 50;
b = b * 2;
- char 类型比较特殊,char 自动转换成 int、long、float 和 double,但 byte 和 short 不能自动转换为 char,而且 char 也不能自动转换为 byte 或 short。