學習面試題Day09

z_paul發表於2021-09-09

一、Java基礎部分

1、一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?

可以有多個類,但只能有一個public的類,並且public的類名必須與檔名相一致。

2、Java有沒有goto?

java中的保留字,現在沒有在java中使用。

3、說說&和&&的區別。

&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。

&&還具有短路的功能,即如果第一個表示式為false,則不再計算第二個表示式。

&還可以用作位運算子,當&運算子兩邊的表示式不是boolean型別時,&表示按位與操作。

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

在switch(expr1)中,expr1只能是一個整數表示式或者列舉常量(更大字型),整數表示式可以是int基本型別或Integer包裝型別,由於byte,short,char都可以隱含轉換為int,所以,這些型別以及這些型別的包裝型別也是可以的。顯然,long和String型別都不符合switch的語法規定,並且不能被隱式轉換成int型別,所以,它們不能作用於switch語句中。

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

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

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

6、char型變數中能不能儲存一箇中文漢字?為什麼?

char型變數是用來儲存Unicode編碼的字元的,unicode編碼字符集中包含了漢字,所以,char型變數中當然可以儲存漢字。不過,如果某個特殊的漢字沒有被包含在Unicode編碼字符集中,那麼,這個char型變數中就不能儲存這個特殊漢字。(Unicode編碼佔用兩個位元組,所以,char型別的變數也是佔用兩個位元組。)

原文連結:http://www.apkbus.com/blog-815579-60992.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2815114/,如需轉載,請註明出處,否則將追究法律責任。

相關文章