真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java的相關(guān)基礎(chǔ)面試題有哪些

本篇內(nèi)容主要講解“Java的相關(guān)基礎(chǔ)面試題有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Java的相關(guān)基礎(chǔ)面試題有哪些”吧!

為海州等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及海州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、海州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1、一個(gè)".java"源文件中是否可以包括多個(gè)類(lèi)(不是內(nèi)部類(lèi))?有什么限制?

        可以有多個(gè)類(lèi),但只能有一個(gè)public的類(lèi),并且public的類(lèi)名必須與文件名相一致。

2、Java有沒(méi)有g(shù)oto?

        java中的保留字,現(xiàn)在沒(méi)有在java中使用。

3、說(shuō)說(shuō)&和&&的區(qū)別。

        &和&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false。

        &&還具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,例如,對(duì)于if(str!= null&& !str.equals(s))表達(dá)式,當(dāng)str為null時(shí),后面的表達(dá)式不會(huì)執(zhí)行,所以不會(huì)出現(xiàn)NullPointerException如果將&&改為&,則會(huì)拋出NullPointerException異常。If(x==33 &++y>0) y會(huì)增長(zhǎng),If(x==33 && ++y>0)不會(huì)增長(zhǎng)

        &還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類(lèi)型時(shí),&表示按位與操作,我們通常使用0x0f來(lái)與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來(lái)獲取該整數(shù)的最低4個(gè)bit位,例如,0x31 & 0x0f的結(jié)果為0x01。

4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)?

        在Java中,要想跳出多重循環(huán),可以在外面的循環(huán)語(yǔ)句前定義一個(gè)標(biāo)號(hào),然后在里層循環(huán)體的代碼中使用帶有標(biāo)號(hào)的break語(yǔ)句,即可跳出外層循環(huán)。

例如:

for(int i=0;i<10;i++){
   for(intj=0;j<10;j++){
       System.out.println(“i=” + i + “,j=” + j);
       if(j == 5) break ok;
   }
}

        另外,我個(gè)人通常并不使用標(biāo)號(hào)這種方式,而是讓外層的循環(huán)條件表達(dá)式的結(jié)果可以受到里層循環(huán)體代碼的控制,例如,要在二維數(shù)組中查找到某個(gè)數(shù)字。

int arr[][] ={{1,2,3},{4,5,6,7},{9}};

boolean found = false;

for(int i=0;i

        for(intj=0;j

              System.out.println(“i=” + i + “,j=” + j);

              if(arr[i][j] ==5) {

                      found =true;

                      break;

              }

        }

}

5、switch語(yǔ)句能否作用在byte上,能否作用在long上,能否作用在String上?

        在switch(e)中,e只能是一個(gè)整數(shù)表達(dá)式或者枚舉常量(更大字體),整數(shù)表達(dá)式可以是int基本類(lèi)型或Integer包裝類(lèi)型,由于byte,short,char都可以隱含轉(zhuǎn)換為int,所以,這些類(lèi)型以及這些類(lèi)型的包裝類(lèi)型也是可以的。顯然,long和String類(lèi)型都不符合switch的語(yǔ)法規(guī)定,并且不能被隱式轉(zhuǎn)換成int類(lèi)型,所以,它們不能作用于swtich語(yǔ)句中。

switch語(yǔ)句能否作用在String上說(shuō)錯(cuò)了,Java1.7之后已經(jīng)支持這種寫(xiě)法了!

6、short s1= 1; s1 = (s1+1是int類(lèi)型,而等號(hào)左邊的是short類(lèi)型,所以需要強(qiáng)轉(zhuǎn))1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?(沒(méi)有錯(cuò))

        對(duì)于short s1= 1; s1 = s1 + 1;由于s1+1運(yùn)算時(shí)會(huì)自動(dòng)提升表達(dá)式的類(lèi)型,所以結(jié)果是int型,再賦值給short類(lèi)型s1時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類(lèi)型的錯(cuò)誤。

        對(duì)于short s1= 1; s1 += 1;由于 +=是java語(yǔ)言規(guī)定的運(yùn)算符,java編譯器會(huì)對(duì)它進(jìn)行特殊處理,因此可以正確編譯。

7、char型變量中能不能存貯一個(gè)中文漢字?為什么?

        char型變量是用來(lái)存儲(chǔ)Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當(dāng)然可以存儲(chǔ)漢字啦。不過(guò),如果某個(gè)特殊的漢字沒(méi)有被包含在unicode編碼字符集中,那么,這個(gè)char型變量中就不能存儲(chǔ)這個(gè)特殊漢字。補(bǔ)充說(shuō)明:unicode編碼占用兩個(gè)字節(jié),所以,char類(lèi)型的變量也是占用兩個(gè)字節(jié)。

8、用最有效率的方法算出2乘以8等於幾?

        2<< 3,(左移三位)因?yàn)閷⒁粋€(gè)數(shù)左移n位,就相當(dāng)于乘以了2的n次方,那么,一個(gè)數(shù)乘以8只要將其左移3位即可,而位運(yùn)算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2<< 3。

9、使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還是引用的對(duì)象不能變?

        使用final關(guān)鍵字修飾一個(gè)變量時(shí),是指引用變量不能變,引用變量所指向的對(duì)象中的內(nèi)容還是可以改變的。例如,對(duì)于如下語(yǔ)句:

 finalStringBuffer a=new StringBuffer("immutable");
執(zhí)行如下語(yǔ)句將報(bào)告編譯期錯(cuò)誤:

a=new StringBuffer("");
但是,執(zhí)行如下語(yǔ)句則可以通過(guò)編譯:

a.append(" broken!");

有人在定義方法的參數(shù)時(shí),可能想采用如下形式來(lái)阻止方法內(nèi)部修改傳進(jìn)來(lái)的參數(shù)對(duì)象:

public void method(final  StringBuffer param){

}

實(shí)際上,這是辦不到的,在該方法內(nèi)部仍然可以增加如下代碼來(lái)修改參數(shù)對(duì)象:

        param.append("a");

10,靜態(tài)變量和實(shí)例變量的區(qū)別?

        在語(yǔ)法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實(shí)例變量前則不加。

        在程序運(yùn)行時(shí)的區(qū)別:實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量。靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于類(lèi),所以也稱為類(lèi)變量,只要程序加載了類(lèi)的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了??傊瑢?shí)例變量必須創(chuàng)建對(duì)象后才可以通過(guò)這個(gè)對(duì)象來(lái)使用,靜態(tài)變量則可以直接使用類(lèi)名來(lái)引用。

        例如,對(duì)于下面的程序,無(wú)論創(chuàng)建多少個(gè)實(shí)例對(duì)象,永遠(yuǎn)都只分配了一個(gè)staticVar變量,并且每創(chuàng)建一個(gè)實(shí)例對(duì)象,這個(gè)staticVar就會(huì)加1;但是,每創(chuàng)建一個(gè)實(shí)例對(duì)象,就會(huì)分配一個(gè)instanceVar,即可能分配多個(gè)instanceVar,并且每個(gè)instanceVar的值都只自加了1次。

public class VariantTest{

        publicstatic int staticVar = 0;

        publicint instanceVar = 0;

        publicVariantTest(){

              staticVar++;

              instanceVar++;

              System.out.println(staticVar +instanceVar);

        }

}

到此,相信大家對(duì)“Java的相關(guān)基礎(chǔ)面試題有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)頁(yè)標(biāo)題:Java的相關(guān)基礎(chǔ)面試題有哪些
URL網(wǎng)址:http://weahome.cn/article/jehhgd.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部