一.基本数据类型

数据类型 范围 二进制位数 包装类 默认值
byte [-128,127] 8位,有符号 Byte 0
short [-32768,32767] 16位,有符号 Short 0
int [-2^31,2^31-1] 32位,有符号 Integer 0
long [-2^63,2^63-1] 64位,有符号 Long 0L
float 单精度 32位 Float 0.0f
double 双精度 64位 Double 0.0d
boolean true or false 1位 false
char [‘\u0000’,’\uFFFF’] 16位,无符号 Character ‘\u0000’

包装类: https://zhuanlan.zhihu.com/p/65538963

自动类型转换

实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。

Java SE - 图1

二.修饰符

访问控制修饰符

修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包
public Y Y Y Y Y
protected Y Y Y Y/N N
default Y Y Y N N
private Y N N N N

访问控制和继承

请注意以下方法继承的规则:

  • 父类中声明为 public 的方法在子类中也必须为 public。
  • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
  • 父类中声明为 private 的方法,不能够被继承。

    abstract 修饰符

  • 抽象类

    • 抽象类不能用来实例化对象
    • 一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类
    • 抽象类可以包含抽象方法和非抽象方法
  • 抽象方法

    • 抽象方法不能被声明成 final 和 static
    • 任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类

      其他访问符

  • synchronized

    • 关键字声明的方法同一时间只能被一个线程访问
  • transient
    • 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。
  • volatile

    三.常用类库

    Math

    Character

    Arrays

    StringBuffer 和 StringBuilder

    | StringBuilder | 速度快,非线性安全 | | —- | —- | | StringBuffer | 速度慢,线性安全 |

日期类

Date

  • SimpleDateFormat
    • 格式化日期
    • prase()转换String为Date | 字母 | 描述 | 示例 | | :—- | :—- | :—- | | G | 纪元标记 | AD | | y | 四位年份 | 2001 | | M | 月份 | July or 07 | | d | 一个月的日期 | 10 | | h | A.M./P.M. (1~12)格式小时 | 12 | | H | 一天中的小时 (0~23) | 22 | | m | 分钟数 | 30 | | s | 秒数 | 55 | | S | 毫秒数 | 234 | | E | 星期几 | Tuesday | | D | 一年中的日子 | 360 | | F | 一个月中第几周的周几 | 2 (second Wed. in July) | | w | 一年中第几周 | 40 | | W | 一个月中第几周 | 1 | | a | A.M./P.M. 标记 | PM | | k | 一天中的小时(1~24) | 24 | | K | A.M./P.M. (0~11)格式小时 | 10 | | z | 时区 | Eastern Standard Time | | ‘ | 文字定界符 | Delimiter | | “ | 单引号 | ` |

printf格式化日期

转 换 符 说 明 示 例
c 包括全部日期和时间信息 星期六 十月 27 14:21:20 CST 2007
F “年-月-日”格式 2007-10-27
D “月/日/年”格式 10/27/07
r “HH:MM:SS PM”格式(12时制) 02:25:51 下午
T “HH:MM:SS”格式(24时制) 14:28:16
R “HH:MM”格式(24时制) 14:28

Calendar

UUID

四.Java 正则表达式

https://www.runoob.com/java/java-regular-expressions.html