面試過程
Java基本技術(shù),Android應(yīng)用層開發(fā),framework層開發(fā)技術(shù),做過項目分析.
面試官提到的問題
一個".java"源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?
可以有多個類,但只能有一個public的類,并且public的類名必須與文件名相一致。
2、Java有沒有g(shù)oto?
java中的保留字,現(xiàn)在沒有在java中使用。
3、說說&和&&的區(qū)別。
&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當(dāng)運算符兩邊的表達式的結(jié)果都為true時,整個運算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false。
&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對于if(str != null && !str.equals(“”))表達式,當(dāng)str為null時,后面的表達式不會執(zhí)行,所以不會出現(xiàn)NullPointerException如果將&&改為&,則會拋出NullPointerException異常。If(x==33 & ++y>0) y會增長,If(x==33 && ++y>0)不會增長
&還可以用作位運算符,當(dāng)&操作符兩邊的表達式不是boolean類型時,&表示按位與操作,我們通常使用0x0f來與一個整數(shù)進行&運算,來獲取該整數(shù)的最低4個bit位,例如,0x31 & 0x0f的結(jié)果為0x01。
備注:這道題先說兩者的共同點,再說出&&和&的特殊之處,并列舉一些經(jīng)典的例子來表明自己理解透徹深入、實際經(jīng)驗豐富。
4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)?
在Java中,要想跳出多重循環(huán),可以在外面的循環(huán)語句前定義一個標(biāo)號,然后在里層循環(huán)體的代碼中使用帶有標(biāo)號的break 語句,即可跳出外層循環(huán)。例如,
ok:
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
System.out.println(“i=” + i + “,j=” + j);
if(j == 5) break ok;
}
}
另外,我個人通常并不使用標(biāo)號這種方式,而是讓外層的循環(huán)條件表達式的結(jié)果可以受到里層循環(huán)體代碼的控制,例如,要在二維數(shù)組中查找到某個數(shù)字。
int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i {
for(int j=0;j {
System.out.println(“i=” + i + “,j=” + j);
if(arr[i][j] == 5)
{
found = true;
break;
}
}
}
其它細節(jié)
應(yīng)聘途徑 網(wǎng)上申請
面試內(nèi)容 職業(yè)技能測試
面試難度 難度一般
面試感覺 一般