JAVA編程思想讀書筆記四(控制程序流程)

1、關於別名效應

      對對象賦值實際上是拷貝的對象的引用,而引用會指向同一個對象。這會帶來“別名效應”。

     當把對象傳遞給方法的時候,也會產生別名效應。比如下面的代碼中的例子:

class letter()...{
        char c;
}

public class PassObject()...{
        static void f( letter y )...{
                y.c = 'z';
         }
         public static void main( string[] args)...{
                letter x = new letter();
                x.c = 'a';
                System.out.println("x.c="+x.c);
                f...{x};
                System.out.println("y.c="+y.c)
         }
}
       
在這裏傳的還是reference。

別名效應是個很複雜的問題,在後面還會講到。

2、正則表達式

  expect()方法

3、對象的相等性

     比較對象的相等性,使用equals() 方法,但是在默認的 equals()方法中比較的還是對象的引用,只是在大多數的類中系統已經重寫了這個方法,用來比較對象的相等性。

4、短接

     處理邏輯運算時,只要準確的知道整個表達式的結果,會自動結束整個表達式,這種現象叫做“短接”。

     java中不提供運算符重載。

5、 while ( x = y ) 在JAVA中在等待一個boolean 值,而這個表達式不是 boolean 值,它更不會將int 轉化爲 boolean 值,所以編譯器會自動報錯。

6、類型轉換

    cast 的意思是“將東西澆到模子裏”

    JAVA 允許對除 BOOLEAN 之外的任何基本類型的數據任意轉換,而boolean 值根本不能轉換。類是不允許轉化的。要讓他們相互轉換,必須有特殊的方法。JAVA中所有的對象都可以在自己的類系中上下傳遞。

     如果對比 int 小的數據類型(也就是char,byte 和 short 型的數據)進行數學和位運算時,這些值會自動被提升爲int 在進行運算。所以運算的結果仍然是int ,所以當你把這個值賦給更小的變量時,必須進行類行轉換。    java中沒有sizeof()運算符,因爲JAVA中的所有的數據類型在所有的機器語言上相同的。

7、程序的控制

      GOTO 是 JAVA 中的保留字,但是並沒有用進去。而JAVA 中有 LABLE(標籤)。

 

 

 
 

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