Java新手必掌握的基礎知識
1、訪問修飾符public,private,protected,以及不寫(默認)時的區別?
答:
類的成員不寫訪問修飾時默認為default。默認對於同一個包中的其他類相當於公開(public),對於不是同一個包中的其他類相當於私有(private)。受保護(protected)對子類相當於公開,對不是同一包中的沒有父子關係的類相當於私有。Java中,外部類的修飾符只能是public或默認,類的成員(包括內部類)的修飾符可以是以上四種。
2、String 是最基本的數據類型嗎?
答:不是。Java中的基本數據類型只有8個:byte、short、int、long、float、double、char、boolean;除了基本類型(primitive type)和枚舉類型(enumeration type),剩下的都是引用類型(reference type)。
3、float f=3.4;是否正確?
答:不正確。3.4是雙精度數,將雙精度型(double)賦值給浮點型(float)屬於下轉型(down-casting,也稱為窄化)會造成精度損失,因此需要強制類型轉換float f =(float)3.4; 或者寫成float f =3.4F;。
4、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
答:對於short s1 = 1; s1 = s1 + 1;由於1是int類型,因此s1+1運算結果也是int 型,需要強制轉換類型才能賦值給short型。而short s1 = 1; s1 += 1;可以正確編譯,因為s1+= 1;相當於s1 = (short)(s1 + 1);其中有隱含的強制類型轉換。
5、Java有沒有goto?
答:goto 是Java中的保留字,在目前版本的Java中沒有使用。(根據James Gosling(Java之父)編寫的《The Java Programming Language》一書的附錄中給出了一個Java關鍵字列表,其中有goto和const,但是這兩個是目前無法使用的關鍵字,因此有些地方將其稱之為保留字,其實保留字這個詞應該有更廣泛的意義,因為熟悉C語言的程序員都知道,在系統類庫中使用過的有特殊意義的單詞或單詞的組合都被視為保留字)
6、Math.round(11.5) 等於多少?Math.round(-11.5)等於多少?
答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四捨五入的原理是在參數上加0.5然後進行下取整。
7、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
答:在Java 5以前,switch(expr)中,expr只能是byte、short、char、int。從Java 5開始,Java中引入了枚舉類型,expr也可以是enum類型,從Java 7開始,expr還可以是字元串(String),但是長整型(long)在目前所有的版本中都是不可以的。
8、數組有沒有length()方法?String有沒有length()方法?
答:數組沒有length()方法,有length 的屬性。String 有length()方法。JavaScript中,獲得字元串的長度是通過length屬性得到的,這一點容易和Java混淆。
9、構造器(constructor)是否可被重寫(override)?
答:構造器不能被繼承,因此不能被重寫,但可以被重載。
10、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
答:不對,如果兩個對象x和y滿足x.equals(y) == true,它們的哈希碼(hash code)應當相同。Java對於eqauls方法和hashCode方法是這樣規定的:(1)如果兩個對象相同(equals方法返回true),那麼它們的hashCode值一定要相同;(2)如果兩個對象的hashCode相同,它們並不一定相同。當然,你未必要按照要求去做,但是如果你違背了上述原則就會發現在使用容器時,相同的對象可以出現在Set集合中,同時增加新元素的效率會大大下降(對於使用哈希存儲的系統,如果哈希碼頻繁的衝突將會造成存取性能急劇下降)。
※Java常見問題匯總 一
※Java新手問題集錦一
※學Java從事的方向有哪些?
※Java,大數據技術領域的一匹黑馬
※Java初學者最全的基礎問題及答案匯總
TAG:java吧 |
※ui設計新人必須掌握的知識
※掌握這些Photoshop中顏色的基礎知識,提升你的設計能力
※csgo破點必須掌握的知識
※掌握核心技術是根本 LiDAR知識產權哪家強
※從小白到大神,一文讓你掌握 Python 基礎知識點
※開發測試必讀手冊:必須要掌握的Linux命令
※大屏也能一手掌握,榮耀Play手機使用評測
※三星推出Bixby Routines 掌握用戶習慣 你所需要的它都知道
※csgo必須掌握的那些小技巧
※你必須掌握的logo設計核心技巧
※一文帶你理解Q-Learning的搜索策略,掌握強化學習最常用演算法
※一文掌握InfiniBand技術和架構
※OpenAI新型機械手臂 不用教就能掌握人類的基本動作
※學習Linux必須掌握的一個知識-i節點
※2句話,掌握how to的真正用法
※掌握這些修圖小技巧,開啟手機攝影的freestyle!
※Linux 需要掌握的一些命令
※web前端開發者必須掌握的幾大技術知識!
※swisse西芹籽效果怎麼樣 掌握正確的服用方法
※水果系女孩兒既Fresh又惹人愛的秘密,掌握以後So easy啊