1. 程序入口
    1. public main(String[] args)
    2. 作为applet的子类
  2. 数据类型
    1. 简单类型
      1. 类似C的define声明的常量
        1. 用final实现 例如:double PI=3.14159
      2. 按作用域划分的变量
        1. 局部变量
          1. 代码块中声明,作用域为代码块
        2. 类变量
          1. 类中声明,而不是类的方法中声明,作用域为整个类
        3. 方法参数
          1. 传递给方法,作用域是这个方法
        4. 例外处理参数
          1. 传递给例外处理代码,作用域为例外处理部分
      3. 按数据类型划分变量
        1. 整形数据
          1. 常量
          2. 十、八、十六进制
          3. 123, 0123, 0x123
          4. 变量
          5. byte, short, int, long
        2. 字符型数据
          1. 常量
          2. ‘A’, 'a'
          3. 变量
          4. char a = 'a';
          5. 字符串常量
          6. "This is a string.\n"
        3. 布尔型数据
          1. ture, false
          2. boolean a = ture;
        4. 浮点型(实型)数据
          1. 常量
          2. 十进制实型
          3. 1234123.123f
          4. 科学计数法
          5. 123e3
          6. 变量
          7. float, double
      4. 各类数值型数据间的混合运算
        1. 自动类型转换(向上转)
        2. 强制类型转换
          1. int i; byte b = (byte) i;
  3. 对象、类、包和接口
    1. 对象、类和消息
      1. 对象:变量和方法组成
      2. 类:是组成Java程序的基本要素。它封装了一类对象的状态和方法, 是这一类对象的原型
        1. 类声明
          1. class className { …… }
          2. 类所实现的接口以修饰符public, abstract, final
        2. 类体
          1. class className { memberVariableDeclarations methodDeclarations }
          2. 对类的成员(变量和方法)可以限定其它对象对它的访问权限,有以下几种: private, protected, public, friendly
          3. 实例成员
          4. 类成员
          5. 成员变量
          6. static限定成员变量为类变量
          7. final用来声明一个常量,在程序中不能改变它,一般都用大写字母
          8. class FinalVar{ final int CONSTANT = 50; …… }
      3. 消息:实现对象之间的交互, 同时, 处于不同处理过程甚至不同主机的对象间都可以通过消息实现交互
        1. 消息的接收者
        2. 接收对象应采用的方法
        3. 方法所需要的参数
    2. 继承
      1. 子类继承父类的所有状态和行为, 同时增加自己的状态和行为
      2. 通过继承也实现了代码的复用, 使程序的复杂性线性地增长, 而不是呈几何级数增长
      3. Java只支持单一继承
    3. 多态
      1. 方法重写
        1. 重写同名、但不同参数的方法
      2. 方法重载
        1. 通过方法重载, 子类可以重新实现父类的某些方法, 使其具自己的特征
  4. 数组
    1. 一维数组
      1. 定义
        1. type arrayName[]
        2. arrayName = new type[arraySize]
        3. type arrayName = new type[arraySize]
      2. 引用
        1. arrayName[index]
      3. 初始化
        1. int a[] = {1,2,3,4,5}
    2. 多维数组
      1. 定义
        1. type arrayName[][]
        2. int a[][] = new int[2][3]
        3. int a[][] = new int[2][]; a[0] = new int[3]; a[1] = new int[3];
      2. 引用
        1. arrayName[index1][index2]
      3. 初始化
        1. int a[][]={{2,3},{1,5},{3,4}}
  5. 流控制
    1. 分支语句: if-else, break, switch, return
    2. 循环语句: while, do-while, for, continue
    3. 例外处理语句: try-catch-finally, throw
    4. 三种注释方式
      1. // 单行注释
      2. /* … */ 用于多行注释
      3. /** … */ 是Java所特有的doc注释
  6. 运算符和表达式
    1. 运算符
      1. 算术运算符 (+,-,*,/,%,++,--)
        1. 与C/C++不同, 对取模运算符%来说, 其操作数可以为浮点数
          1. 37.2%10=7.2
      2. 关系运算符 (>,<,>=,<=,==,!= )
        1. 返回布尔类型的值 true 或 false?
      3. 布尔逻辑运算符 ( !,&&,|| )
        1. 表达式1&&表达式2,如果表达式是false,那么表达式2不会运算,同理'||'
      4. 位运算符 (>>,<<,>>>,&,|,^,~ )
      5. 赋值运算符 (=,及其扩展赋值运算符如+=)
      6. 条件运算符 ( ?:)
      7. 其它 (包括分量运算符 · ,下标运算符[],实例运算符 instance of,内存分配运算符 new,强制类型转换运算符(类型),方法调用运算符()等 )