1)在方法中定義,作用域在方法內;
2)在用之前必須被初始化,不能默認初始化;
3)與實例變量相同時,局部變量在方法中起作用;
4)類的每個方法都可以直接訪問其實力變量;
5)類的方法中傳的參數也是局部變量;
2.實例變量
1)定義於類中、方法外;
2)自動初始化;
3)其數據類型默認值如下:
byte:0 short:0 int:0 long:0L float:0.0f double:0.0d char:(Unicode)'\u0000' boolean:false
引用類型:null
3.操作符
1)%取餘 這是雙目操作符 當兩個操作數符號不相同時 結果的正負與第一個操作數的符號相同
2)a=a+b和a+=b 是否相同
a)數據類型相同時兩者相同;
b)數據類型不相同時,會發生隱式轉換 ,或者類型轉換錯誤 eg:
int a = 10;double d = 1.23;
a = a+d ;錯誤 a和d相加 a會自動隱式轉換爲double型 但結果爲double 類型不能隱式轉換爲int
a +=d; 正確 可以自動轉換爲int類型 結果爲11
3)instanceof 雙目操作符 左爲引用 右爲類類型 判斷對象是否是類或者其子類的對象 是返回true 否則爲false
4.移位操作符
1)>>右移 <<左移 >>>右移
2)int類型 5>>2=1 即5-2×2=1 右移時 低位去掉 高位正補零負補1 對於>>>也是右移 只是無論正負都補0
5 :00000000 00000000 00000000 00000101
移位後:00000000 00000000 00000000 00000001
int類型 5<<2=20 即5×2×2=20 左移時 高位去掉 低位無論正負都補0
移位後:00000000 00000000 00000000 00010100
3)位操作符:&與 | 或 ~取反 邏輯操作符:&&與 ||或 也叫短路操作符
4)&與&&區別:
都可以做邏輯與的運算符,當表達式結果兩邊爲true時,整個結果爲true 否則爲false
&&有短路功能,如果第一個爲false 不判斷第二個 ||與之相同
&還可以是位運算符,表示按位與操作,通常使用0x0f與正數進行&操作 獲取其最低4個bit
5)把某一位清0 用0與這一位做與操作 其他位全爲1 要得到這樣一個 指定位爲0 其他位全爲1的數 只需要把1左移
指定位在整體取反即可:
1左移4位:0001 0000 再取反:11101111 即第四位爲0其他全爲1
6)打印一個2進制數的方法:
a)除2取餘數;
b)將這個數循環右移32次 每次與1作與運算 輸出
7)若將第n位置1 只需要把1左移n-1位 與這個數做或運算
8)int a = 10;int b = 20;double c = 1.23;
a>b?c:a 結果爲10.0 此操作符會發生類型轉換
9)0x0001<<2+3的結果 ;
相當於0x0001<<(2+3)=32
5.if(){} ()中最後結果只能是布爾表達式 不同於C/C++
6.switch(){} ()中可放的數據類型有:
byte short int char String enum 共6種