case interview

case Interview

first part

  • 1、一個".java"源文件中是否可以包括多個類(不是內部類)?有什麼限制?

       可以。
      1、如果有公開類,只能有一個類的訪問權限爲public,且此類名爲.java的文件名。
      2、無公開類,符合命名規則即可。
      註釋:
      1、一個編譯單元(*.java文件)只允許一個public對外出口,若有兩個public文件時,將會引起歧義(將不能爲編譯單元,同一文件將會編譯兩次),導致報錯。
      2、因爲public類是公共訪問的,jvm運行時並不是把所有類都加載至內存,當遇到import的時候,纔會根據路徑(包名)去編譯*.java文件。public類名與文件名一致,便於尋找,開銷減少。
      3、若同一.java有非public類,將視爲這些類爲支持public類的輔助類,畢竟不是public,無法對外。
      4、一個".java"源文件中包括多個類,編譯結束將會產生多個.class文件。
      5、main方法不一定要在public修飾了的類下才能執行(可以爲輔助類)。但是main方法必須是public修飾的
    
  • 2、Java有沒有goto?

      有,但沒用,作爲關鍵字進行保留。
    
  • 3、說說&和&&的區別。

      1、&和&&用作邏輯與的運算,表示邏輯與(and),當運算符兩邊的表達式的結果都爲true時,整個運算結果才爲true,否則,只要有一方爲false,則結果爲false。
      2、雙與還具有短路功能,雙與運算時,當雙與左邊爲假時,則不再計算雙與右邊的表達式了。雙與更爲高效,雙與用的較多。
    
  • 4、在JAVA中如何跳出當前的多重嵌套循環?

      通過循環嵌套前但標籤+break/continue
    
  • 5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?
    在這裏插入圖片描述

      	1、在switch(expr1)中,expr1只能是一個整數表達式【byte,short,char,int】或者枚舉常量(更大字體),整數表達式可以是int基本類型或Integer包裝類型,由於,byte,short,char都可以隱含轉換爲int,所以,這些類型以及這些類型的包裝類型也是可以的。顯然,long和String類型都不符合switch的語法規定,並且不能被隱式轉換成int類型,所以,它們不能作用於swtich語句中【JDK1.7以前的版本】。
      	2、由於在JDK7.0中引入了新特性,所以switch語句可以接收一個String類型的值,String可以作用在switch語句上。
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章