1、局部(local)变量是在一个方法内定义的变量, 也被称作自动(automatic)、临时(temporary)或栈(stack)变量
- 当一个方法被执行时, 局部变量被创建;当一个方法被终止时, 局部变量被清除
- 局部变量必须使用之前初始化, 否则编译时将出错
2、在方法外定义的变量被自动初始化
3、当一个对象被创建时,实例变量在分配存储器的同时被下列值初始化
4、一个具有空值的引用不引用任何对象。试图使用它引用的对象将会引起一个异常
5、如果使用||运算符,而且第一个表达式返回真, 则第二个表达式不必求值,因为整个表达式已经被认为是真。
6、如果使用&&运算符,当第一个子表达式是假时,第二个子表达式被跳过
7、用加号(+)进行串链接:如果+运算符中有一个自变量为String对象,则其它自变量将被转换成String。
8、运算符>>进行算术或符号右移位。移位的结果是第一个操作数被2的幂来除,而指数的值是由第二个数给出的
9、运算符<<执行一个左移位。移位的结果是:第一个操作数乘以2的幂,指数的值是由第二个数给出的
10、对 + 运算符来说,当两个操作数是原始数据类型时,其结果至少有一个int,并且有一个通过提升操作数到结果类型、或通过提升结果至一个较宽类型操作数而计算的值,这可能会导致溢出或精度丢失
11、在switch (expr) 语句中,expr必须与int类型是赋值兼容的;byte, short或char类型可被升级;不允许使用浮点或long表达式
12、for循环一般用在那种循环次数事先可确定的情况,而while和do用在那种循环次数事先不可确定的情况
13、break语句被用来从switch语句、loop语句和预先给定了label的块中退出;continue语句被用来略过并跳到循环体的结尾;
label可标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合语句
14、数组一旦创建后,其大小不可调整。然而,你可使用相同的引用变量来引用一个全新的数组
15、在处理对象数组时,System.arraycopy()拷贝的是引用,而不是对象。对象本身不改变