1. 程式人生 > >筆試題之Java基礎部分

筆試題之Java基礎部分

1、一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?
可以有多個類,但只能有一個public的類,並且public的類名必須與檔名相一致。
2、Java有沒有goto?
java中的保留字,現在沒有在java中使用。  
3、說說&和&&的區別。
&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
&&還具有短路的功能,即如果第一個表示式為false,則不再計算第二個表示式,例如,對於if(str != null && !str.equals(""))表示式,當str為null時,後面的表示式不會執行,所以不會出現NullPointerException如果 將&&改為&,則會丟擲NullPointerException異常。If(x==33 & ++y>0) y會增長,If(x==33 && ++y>0)不會增長

&還可以用作位運算子,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作,我們通常使用0x0f來與一個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。

4、在JAVA中如何跳出當前的多重巢狀迴圈?
在Java中,要想跳出多重迴圈,可以在外面的迴圈語句前定義一個標號,

然後在裡層迴圈體的程式碼中使用帶有標號的break 語句,即可跳出外層迴圈。

<span style="font-size: 18px;">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;
}
} </span>

  要在二維陣列中查詢到某個數字。

<span style="font-size: 18px;">int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i<arr.length && !found;i++)
{
for(int j=0;j<arr[i].length;j++)
{
System.out.println("i=" + i + ",j=" + j);
if(arr[i][j] == 5) 
{
found = true;
break;
}
}
}</span>