JAVA面試筆記(5)

1、equals() 和==

根據下面的程序代碼,哪些選項的值返回true?

 

A. a==b

B. s==a

C. b==c

D. a.equals(s)

分析:

equals()是object類的一個方法, 指示某個其他對象是否與此對象“相等”。由於object類是類層次結構的根類。所以它是每個類的超類。每個類都可以重寫equals()方法,如String類。如果沒有重寫新類的equals(),則該方法和==操作符一樣在兩個變量指向同一對象時返回真,但是java推薦的是使用equals()方法來判斷兩個對象的內容是否一樣。注意以下幾點區別

1,引用類型比較引用,基本類型比較值

2,equals()方法只能比較引用類型,==可以比較引用及基本類型

3,用equals()方法進行比較時,對類File,String,Date及封裝類(Wrapper Class)來說,是比較類型及內容。

4,用==進行比較時,符號兩邊的數據類型必須一致(可相互轉換的基本類型除外),否則編譯出錯。

答案 C

 

 

2.public class TestOne {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a = 2;
        int b = 1;
        for(int c = 0; c < 5; c++){
            if((++a > 2)&&(++b > 2)){
                System.out.println(a+"...");
                a++;
                System.out.println(a+",,,");
            }
        }
        System.out.println("a="+a+" b="+b);
    }

}

 

輸出a=11 b=6

 

 

3、邏輯運算符

邏輯運算符共3中,即“非(!)”,“和(&&)”,“或(||)”

 

 

4.位運算符

位運算符是用來對二進制進 行操作的。位運算符一般分兩種:位邏輯運算符 和 位移位運算符

4.1 位邏輯運算符

    與(&)、按位取反(~)、或(|)、異或()。

      注意位邏輯運算符從表面上看似乎有點像邏輯運算符,但邏輯運算符是針對兩個關係運算符來進行邏輯運算,而位運算符主要針對兩個二進制數的位進行邏輯運算。

 

4.1 位移運算符

左移(<<)、 右移(>>):帶符號 右移、邏輯右移 (>>>):不帶符號 右移

操作數<<移位數

 

 

邏輯操作與的左右操作數都應該是布爾型的值,而位邏輯操作符的左右操作數是整型值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章