亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) Java Java面試題 Java的基礎(chǔ)面試題目(1)

Java的基礎(chǔ)面試題目(1)

Nov 30, 2019 pm 01:25 PM
java

Java的基礎(chǔ)面試題目(1)

1、一個(gè)".java"原始檔中是否可以包含多個(gè)類別(不是內(nèi)部類別)?有什麼限制?

可以有多個(gè)類,但只能有一個(gè)public的類,且public的類別名稱必須與檔案名稱相符。 (推薦學(xué)習(xí):java面試題目

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

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

3、說說&和&&的差別。

&和&&都可以當(dāng)作邏輯與的運(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)&運(yùn)算子兩邊的當(dāng)表達(dá)式不是boolean型別時(shí),&表示位元與運(yùn)算,我們通常使用0x0f來與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來取得該整數(shù)的最低4個(gè)bit位,例如,0x31 & 0x0f的結(jié)果為0x01。

4、在JAVA中如何跳出目前的多重巢狀循環(huán)?

在Java中,若要跳出多重循環(huán),可以在外面的循環(huán)語句前定義一個(gè)標(biāo)號(hào),然後在裡層循環(huán)體的程式碼中使用標(biāo)號(hào)的break語句,即可跳出外層循環(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è)人通常不會(huì)使用標(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<arr.length&&!found;i++)       {
        for(intj=0;j<arr[i].length;j++){
              System.out.println(“i=” + i + “,j=” + j);
              if(arr[i][j] ==5) {
                      found =true;
                      break;
              }
        }
}

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

在switch( e)中,e只能是一個(gè)整數(shù)表達(dá)式或列舉常數(shù)(更大字體),整數(shù)表達(dá)式可以是int基本型別或Integer包裝型別,由於byte,short,char都可以隱含地轉(zhuǎn)換為int,所以,這些類型以及這些類型的包裝類型也是可以的。

顯然,long和String類型都不符合switch的語法規(guī)定,並且不能被隱式轉(zhuǎn)換成int類型,所以,它們不能作用於swtich語句。 (java1.7之後已經(jīng)可以用在String類型上,以及char byte short int以及它們的包裝類別上了。)

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

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

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

7、char型變數(shù)中能不能存貯一個(gè)中文漢字?為什麼?

char型變數(shù)是用來儲(chǔ)存Unicode編碼的字元的, unicode編碼字元集中包含了漢字,所以,char型變數(shù)中當(dāng)然可以儲(chǔ)存漢字啦。不過,如果某個(gè)特殊的漢字沒有被包含在unicode編碼字元集中,那麼,這個(gè)char型變數(shù)中就不能儲(chǔ)存這個(gè)特殊漢字。

補(bǔ)充說明:unicode編碼佔(zhàn)用兩個(gè)位元組,所以,char類型的變數(shù)也是佔(zhàn)用兩個(gè)位元組。

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)鍵字修飾變數(shù)時(shí),是引用不能變,還是引用的物件不能變?

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

 finalStringBuffer a=new StringBuffer("immutable");

執(zhí)行如下語句將報(bào)告編譯期錯(cuò)誤:

a=new StringBuffer("");

但是,執(zhí)行如下語句則可以透過編譯:

a.append(" broken!");

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

public void method(final  StringBuffer param){
}

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

 param.append("a");

10,靜態(tài)變數(shù)和實(shí)例變數(shù)的差別?

在語法定義上的區(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ì)象,而是屬于類,所以也稱為類變量,只要程序加載了類的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了。

總之,實(shí)例變量必須創(chuàng)建對(duì)象后才可以通過這個(gè)對(duì)象來使用,靜態(tài)變量則可以直接使用類名來引用。

例如,對(duì)于下面的程序,無論創(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);
        }
}

以上是Java的基礎(chǔ)面試題目(1)的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動(dòng)提交模式,再執(zhí)行多個(gè)操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開始事務(wù);2.執(zhí)行多個(gè)SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時(shí)應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

在Java的掌握依賴注入春季和Guice 在Java的掌握依賴注入春季和Guice Aug 01, 2025 am 05:53 AM

依賴性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

了解Java虛擬機(jī)(JVM)內(nèi)部 了解Java虛擬機(jī)(JVM)內(nèi)部 Aug 01, 2025 am 06:31 AM

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類替代舊的Date和Calendar類;2.通過LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時(shí)間;3.使用of()方法創(chuàng)建特定日期時(shí)間;4.利用plus/minus方法不可變地增減時(shí)間;5.使用ZonedDateTime和ZoneId處理時(shí)區(qū);6.通過DateTimeFormatter格式化和解析日期字符串;7.必要時(shí)通過Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

Google Chrome無法打開本地文件 Google Chrome無法打開本地文件 Aug 01, 2025 am 05:24 AM

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

了解網(wǎng)絡(luò)端口和防火牆 了解網(wǎng)絡(luò)端口和防火牆 Aug 01, 2025 am 06:40 AM

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c

比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

See all articles