引導語: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語句中。