JavaSE考試題庫基礎(chǔ)題1-10(某硅谷內(nèi)部核心資料)
一、基礎(chǔ)題(2分/題)
1.???? 用最有效的的方法算出2乘以8等于幾
2<<3。因為將一個數(shù)左移n位,就相當于乘以了2的n次方,那么,一個數(shù)乘以8只要將其左移3位即可,而位運算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2 << 3。
2.???? Math.round(11.5)和Math.round(-11.5)的值是多少?
Math.round(11.5):12
Math.round(-11.5):-11
數(shù)軸拉出來,標點向右看
3.???? 兩個對象a和b,請問a==b和a.equals(b)有什么區(qū)別?
a==b:比較對象地址
a.equals(b):如果a對象沒有重寫過equals方法,也是比較地址,如果重寫了就按照重寫的規(guī)則比較。
4.???? switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
可以,不可以,可以(7后)
switch支持的類型byte,short,int,char
JDK1.5之后支持枚舉,
JDK1.7之后支持String類型。
5.???? char型變量中是否可以存儲一個漢字?
能,一個char=一個unicode 可以表示一個漢字
6.???? float f=3.4;是否正確,表達式15/2*2的值是多少
不正確,float f = 3.4F;
14
7.???? 編寫代碼實現(xiàn)兩個變量值交換,int m = 3, n =5;
方法一:
Int temp=m;
m=n;
n=temp;
缺點:需要一個臨時變量。
方法二:
先將兩個數(shù)加在一起
m=m+n;
n=m-n;
m=m-n;
缺點:當m和n較大時,有可能出現(xiàn)精度失準
方法三:
采用異或算法
m=m^n;
n=m^n;?//(m^n)^n==m
m=m^n; //(m^n)^m==n
優(yōu)點:沒有上述兩種方法的缺點。
8.???? Java的基本數(shù)據(jù)類型有哪些?String是基本數(shù)據(jù)類型嗎?
基本(8個):boolean(1bit),byte(1byte),short(2byte),char(2byte),int(4byte),long(8byte),float,double
String不是基本數(shù)據(jù)類型
9.???? 數(shù)組有沒有l(wèi)ength()方法?String有沒有l(wèi)ength()方法?File有沒有l(wèi)ength()方法?ArrayList有沒有l(wèi)ength()方法?(純粹SB題)
數(shù)組沒有l(wèi)ength()方法,但是有l(wèi)ength屬性。
String和File有l(wèi)ength()方法。
ArrayList沒有l(wèi)ength()方法,有size()方法獲取有效元素個數(shù)。
10.???? String str = new String(“hello”);創(chuàng)建了幾個對象?
字符串常量池中有一個對象,堆中有一個字符串對象。