区分实例变量和局部变量,描述实例变量是如何被初始化的
实例变量也称作成员变量,它是类的成员,简单的说,独立在类中存在,不在任何方法中的变量,这种变量有一个特点,就是在编写的时候,程序员可以不用初始化在后面就可以使用,因为在你创建一个新对象的时候,也就是new的时候,编译器自动为成员变量初始化一个值,如果实例变量是一个reference type,那么它初始化的结果为null,如果实例变量是一个primitive type,那么它初始化的结果则为:byte short int long为0, float double 为0.0,boleen为false,char为'0000/u'。与实例变量同一个级别的是类变量,或者也叫做静态成员变量,这种变量可以在不创建对象的时候就直接使用它,也可以自动初始化,初始化得出的结果与实例变量相同。局部成员变量,顾名思义,局部,也就是在方法内部的变量,这类变量使用前必须初始化,也就是说在类被new的时候,编译器并没有给这类变量自动初始化,要初始化则必须要程序员自己去完成。在生命周期上做比较的话,实例变量在创建类的时候就被创建,局部变量则是在调用该局部变量的方法的时候被创建,所以,在方法调用结束的时候,局部变量被取消,在类被清理的时候,实例变量被取消。
Java的运算符
~x=- x -1
x>>n = x/2的n次方 在去掉小数部分
-x>>n = -x/2的n次方 在去掉小数后 -1
x<<n = x*2的n次方
>>>不管是正负,都在第一位补0
Java运算符的优先顺序由高至低
--------------------------------------------------------------------------------
助记词 运算符类型 运算符
--------------------------------------------------------------------------------
Ulcer(溃疡) Unary: 一元 +- ++ -[其余的]
Addicts(患者) Arithmetic(shift);算术(和移位) * / % + - << >>
Really(特别) Relational:关系 > < >= <= == !=
Like(喜欢) Logical(bitwise):逻辑(和按位) && || & / ^
C Conditional(ternary:条件(三元) A>B?X:Y
A lot Assignment: 赋值 =(以及复合赋值,如*=)
--------------------------------------------------------------------------------