Java基礎語法面試題

來源:文萃谷 2.74W

引導語:Java的主要工作是通過編程語言來製作互聯網頁面、製作動態效果以及網站等技術,以下是小編整理的Java基礎語法面試題,歡迎參考閲讀!

Java基礎語法面試題

  short s1 = 1; s1 = s1 + 1;有什麼錯?

對於short s1 = 1; s1 = s1 + 1;由於s1+1運算時會自動提升表達式的類型,所以結果是int型,再賦值給short類型s1時,編譯器將報告需要強制轉換類型的`錯誤。

對於short s1 = 1; s1 += 1;由於+=是java語言規定的運算符,java編譯器會對它進行特殊處理,因此可以正確編譯。

  && 和 & 的區別

&& :稱為短路與,當左邊表達式結果為false時,右邊表達式將不再運算。

& : 是位運算符,當用於邏輯運算時,無論左邊表達式結果為true還是false,右邊都運算。

  用最有效率的方法算出2乘以8等於幾?

答案:2 << 3

解析:因為將一個數左移n位,就相當於乘以了2的n次方,那麼,一個數乘以8只要將其左移3位即可,而位運算cpu直接支持的,效率最高。所以,求2乘以8的最效率的方法是2 << 3。

  switch語句能否作用在byte上,能否作用在long上,能否作用在String上

答案:byte可以,long,String不行。

解析:在switch(expr1)中,expr1只能是一個整數表達式或者枚舉常量(更大字體),整數表達式可以是int基本類型或Integer包裝類型,

由於,byte,short,char都可以隱含轉換為int,所以,這些類型以及這些類型的包裝類型也是可以的。顯然,long和String類型都不符合switch的語法規定,並且不能被隱式轉換成int類型,所以,它們不能作用於swtich語句中。

熱門標籤