1. 程式人生 > >胡八一之Java(六):表示式的幾個簡單的小陷阱

胡八一之Java(六):表示式的幾個簡單的小陷阱

1、複合賦值運算子的陷阱

a=a+5與a +=5 是有區別的。a +=5等價於 a=(a的型別)(a+5);這就是複合運算子中包含的隱式型別轉換。

在什麼時候會遇到此型別的錯誤呢?

   short a =5;
   a = (a-2);

此句編譯不通過,把一個int型別的值賦給short,所以報錯。

a -=2;

而這樣就不會發生錯誤,因為發生了隱式型別轉換。

2、輸入法導致的陷阱

我們在程式設計中輸入的空格和Tab都是在半形狀態下的。全形狀態下的空格,Tab會發生非法字元的報錯。

3、註釋字元必須合法

大部分時候,Java編譯器會直接忽略掉註釋部分,但有一種情況例外,Java要求註釋部分必須是合法的字元。Java中允許直接使用\uxxxx的形式來代表字元,所以當字元中出現了\unit4類似的\u開頭的註釋,有可能會報錯。

4、轉義字元的陷阱

java中可以使用轉義字元來表達某些東西,但不會對轉義字元進行任何的處理,例如:

System.out.println("abc\u000a".length());

此句便會報錯。