Java基础中的一些注意点(续)

时间:2023-03-08 16:51:09

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()拷贝的是引用,而不是对象。对象本身不改变

相关文章