1.访问修饰符

当前包 同包 子类 其他类
private × × ×
default × ×
protected ×
public

2.原码,补码和反码(用2,-2举例,4个字节,32位)

原码:负数符号位为1: 00000000 00000000 00000000 00000010,10000000 00000000 00000000 00000010
反码:正数的反码和原码相同。负数的反码与原码的符号位不变,其他位取反,11111111 11111111 11111111 11111101
补码:正数的补码和原码相同。负数的补码为反码+1,01111111 11111111 11111111 11111110
计算机以整数的补码进行运算

3.Java流程控制语句

顺序结构
选择结构
循环结构

4.运算符

算术运算符:+ -
比较运算符:> <=
赋值运算符:= +=
逻辑运算符:& | !^
位运算符:<< >> & | ^ ~
三目运算符:?:

5.变量

  1. 成员变量
    1. 静态变量
      在类中以static关键字声明,但必须在方法构造方法和语句块之外。
      无论类对象有几个,类值拥有静态变量的一份拷贝
    2. 非静态变量
      当一个对象被实例化之后,每个实例变量的值就跟着确定
      实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名。
    3. 调用方式
      • 静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。这个变量属于类。
      • 成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。
    4. 存储位置
      • 静态变量存储在方法区中的静态区。(实际上就在栈区,因为调用栈的速度会比堆更快)
      • 成员变量存储在堆内存
    5. 生命周期
      • 静态变量随着类的加载而存在,随着类的消失而消失。生命周期长。
      • 成员变量随着对象的创建而存在,随着对象的消失而消失。
    6. 一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见。
  2. 局部变量:类的方法中的变量
    • 访问修饰符不能用于局部变量
    • 局部变量是在栈上分配的。
    • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。