—— 本文參照 Learn Java for Android Development (第三版)
對象創(chuàng)建符
對象創(chuàng)建符new通常是用來創(chuàng)建類的對象用的涡尘,當(dāng)然它也可以使用構(gòu)造器創(chuàng)建數(shù)組痢士,有關(guān)對象創(chuàng)建的相關(guān)內(nèi)容會(huì)在第三章做詳細(xì)的介紹珠移。
關(guān)系操作符
常用的關(guān)系操作符包括大于符號(>)魔种、大于等于符號(>=)咪奖、小于符號(<)碉克、小于等于符號(<=)菩彬、還有類型檢查符號(instanceof)醉顽。前面4個(gè)關(guān)系符號返回的是操作數(shù)比較的結(jié)果沼溜。如果左邊的操作數(shù)大于、大于等于徽鼎、小于或者小于等于右邊的操作數(shù)結(jié)果都返回true盛末,例如:5.0 > 3, 2 >= 2, 16.1< 303.3, 54.0 <= 54.0 這些表達(dá)式的結(jié)果都是true。
類型檢查符號主要是用來判斷一個(gè)對象是不是某個(gè)特定類的對象否淤,如果是的話結(jié)果就是true悄但。舉個(gè)例子:"abc" instanceof String 返回的結(jié)果就是true,因?yàn)?abc"就是String類的一個(gè)對象石抡。有關(guān)這個(gè)這個(gè)操作符的內(nèi)容將在第五章里面做詳細(xì)的介紹檐嚣。
移位運(yùn)算符
移位運(yùn)算符有左移(<<)、有符號右移(>>)、無符號右移(>>>)嚎京。先說一下左移運(yùn)算符嗡贺,例如2<<3,意思就是說將2的二進(jìn)制形式向左邊移動(dòng)3位鞍帝,這樣說起來比較抽象诫睬,其實(shí)每移動(dòng)一位就是乘以2的意思,所以這個(gè)表達(dá)式的結(jié)果就是2*8帕涌。
向右移位的意思跟向左剛好相反摄凡,比如16 >> 3,意思就是將16的二進(jìn)制形式向右邊移動(dòng)3位蚓曼,每向右移動(dòng)一位就是除以一個(gè)2的意思亲澡,所以16>>3的結(jié)果就是16除以8的意思。
需要區(qū)分的是有符號右移和無符號右移的差別是右移的過程是否需要考慮符號位纫版。有符號右移的過程中符號位也跟著移動(dòng)床绪,無符號右移的時(shí)候符號位不移動(dòng),所以-4 >> 1的結(jié)果是-2其弊,但是–4 >>> 1的結(jié)果就是2147483646癞己。
下面給個(gè)代碼測試一下位移操作符:
public class CompoundExpressions
{
public static void main(String[] args)
{
System.out.println(2 << 3);
System.out.println(16 >> 3);
System.out.println(-4 >> 1);
System.out.println(-4 >>> 1);
}
}
javac CompoundExpressions.java
java CompoundExpressions
輸出結(jié)果如下:
16
2
-2
2147483646
(注意:在實(shí)際的開發(fā)過程中使用移位操作符的速度要比我們直接使用乘以或者除以2的執(zhí)行速度要快)
Page 66