java不看答案不会_Java新手必备:20道java基础面试题,不看答案你会几道题?
1、面向對象的特征有哪些方面? 【基礎】
答:面向對象的特征主要有以下幾個方面:
抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節(jié)。抽象包括兩個方面,一是過程抽象,二是數(shù)據(jù)抽象。
繼承:繼承是一種聯(lián)結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。
封裝:封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應用程序函數(shù)同名問題。
2、作用域public,private,protected,以及不寫時的區(qū)別?【基礎】
答:區(qū)別如下:
作用域 當前類 同包 子孫類 其他
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
不寫時默認為default。
3、String 是最基本的數(shù)據(jù)類型嗎? 【基礎】
答:不是。
4、float 型float f=3.4是否正確? 【基礎】
答:不正確;精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4 。
5、語句float f=1.3;編譯能否通過?【基礎】
答:不能;應該用強制類型轉換,如下所示:float f=(float)1.3; 。
6、short s1 = 1; s1 = s1 + 1;有什么錯?【基礎】
答:short s1 = 1; s1 = s1 + 1;s1+1運算結果是int 型,需要強制轉換類型;short s1 = 1; s1 += 1;可以正確編譯,自動類型提升。
7、Java 有沒有goto? 【基礎】
答:goto 是java 中的保留字,現(xiàn)在沒有在java 中使用。
8、int 和Integer 有什么區(qū)別? 【基礎】
答:Java 提供兩種不同的類型:引用類型和原始類型(或內置類型);
int 是java 的原始數(shù)據(jù)類型,Integer 是java 為int 提供的封裝類。
Java 為每個原始類型提供了封裝類:
原始類型: boolean,char,byte,short,int,long,float,double
封裝類型:Boolean,Character,Byte,Short,Integer,Long,Float,Double引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結構存儲,當引用類型和原始類型用作某個類的實例數(shù)據(jù)時所指定的缺省值。對象引用實例變量的缺省值為,而原始類型實例變量的缺省值與它們的類型有關。
9、&和&&的區(qū)別?【基礎】
答:&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。
10、簡述邏輯操作(&,|,^)與條件操作(&&,||)的區(qū)別?【基礎】
答:區(qū)別主要有兩點:a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型b.邏輯操作不會產(chǎn)生短路。
11、heap 和stack 有什么區(qū)別?【基礎】
答:棧是一種線形集合,其添加和刪除元素的操作應在同一段完成,棧按照后進先出的方式進行處理;堆是棧的一個組成元素。
12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 【基礎】
答:Math.round(11.5)==12 Math.round(-11.5)==-11 round 方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2 后求其floor。
13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 【基礎】
答:switch(expr1)中,expr1 是一個整數(shù)表達式。因此傳遞給switch 和case語句的參數(shù)應該是int、short、char 或者byte。long,string 都不能作用于swtich。
14、編程題: 用最有效率的方法算出2 乘以8 等於幾? 【基礎】
答: 2 << 3。
15、有沒有l(wèi)ength()這個方法? String 有沒有l(wèi)ength()這個方法?【基礎】
答:數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength 的屬性。String 有l(wèi)ength()這個方法。
16、在JAVA 中,如何跳出當前的多重嵌套循環(huán)?【基礎】
答:在最外層循環(huán)前加label 標識,然后用break:label 方法即可跳出多重循環(huán)。
17、構造器Constructor 是否可被override? 【基礎】
答:構造器Constructor 不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
18、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對? 【基礎】
答:不對,有相同的hash code。
19、是否可以繼承String 類? 【基礎】
答:String 類是final 類,故不可以繼承。
20、以下二條語句返回值為true 的有:
A:“beijing”==“beijing”;
B:“beijing”.equalsIgnoreCase(new String(“beijing”));【基礎】
答:A 和B
總結
以上是生活随笔為你收集整理的java不看答案不会_Java新手必备:20道java基础面试题,不看答案你会几道题?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql php 入门_第一节 数据库
- 下一篇: java list布局_java –