變量
1.對局部變量,要先賦值,后使用。
2.一個局部變量,作用域,是定義它的
代碼塊!
public class Test{
public static void main(String[] args){
{
int a = 4;
}
System.out.println(a);
}
}
a的作用域在main里面的兩個括號之間。所以,此程序編譯不通過。cannot resolve symbol
3.對于兩個局部變量,在同一作用域內不允許兩個同名變量出現。
public class Test{
public static void main(String[] args){
int a = 6;
{
int a = 4;
}
System.out.println(a);
}
}
在小代碼塊,重了。Duplicate local variable a。
------------------------------
命名規范
1.語義
2.包,所有字母小寫
3.類,所有單詞首字母大寫
4.變量、方法,首字母小寫,其余單詞首字母大寫
5.常量,所有字母大寫
byte b=1;
b=b+1;報錯,因為b+1運算后,系統轉為int,無法隱式轉換
b+=1;不報錯。請查看JVM,字節碼差異。
>> 右移 除2,左補符號位
<< 左移 乘2,右補0
>>> 右移,左永遠補0
雖然比乘除運算符快,但是有問題。
12>>32
回變為12。
12&9 按位與
12|9 或
12^9 異或
(a>b)&(c>d)
非短路方式,都判斷,并不會因為a>b為假而不進行后面表達式的判斷。
(a>b)&&(c>d)
短路方式,a>b為假,后面不執行,直接返回false。
int i = 3;
int count = (i++)+(i++)+(i++);
count = 3 + 4 + 5
i=4 i=5 i=6
int i =3;
i = i++;
那么流程如下
i++這個表達式的值是3。然后執行i自加1,變為4(因為++操作比賦值優先級高),最后i 再次被賦值為3。
不記運算符優先級,最好用括號老解決,很明白,否則像這樣的b+++a表達式,實際上(b++)+a。
posted on 2005-11-24 23:26
北國狼人的BloG 閱讀(384)
評論(0) 編輯 收藏 所屬分類:
達內學習總結