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

首頁 Java Java面試題 java基礎(chǔ)面試題(一)

java基礎(chǔ)面試題(一)

Aug 24, 2020 pm 04:08 PM
java 面試題

java基礎(chǔ)面試題(一)

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

可以有多個類,但只能有一個public的類,且public的類別名稱必須與檔案名稱相符。

(更多面試題推薦:java面試題目及答案

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

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

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

&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當運算子兩邊的表達式的結(jié)果都為true時,整個運算結(jié)果才會為true,否則,只要有一方為false,則結(jié)果為false。

&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對於if(str!= null&& !str.equals(s))表達式,當str為null時,後面的表達式不會執(zhí)行,所以不會出現(xiàn)NullPointerException如果將&&改為&,則會拋出NullPointerException例外。 If(x==33 & y>0) y會成長,If(x==33 && y>0)不會成長

&也可以用作位元運算符,當&運算子兩邊的當表達式不是boolean型別時,&表示位元與運算,我們通常使用0x0f來與一個整數(shù)進行&運算,來取得該整數(shù)的最低4個bit位,例如,0x31 & 0x0f的結(jié)果為0x01。

4、在JAVA中如何跳脫目前的多重巢狀迴圈?

在Java中,要跳出多重循環(huán),可以在外面的循環(huán)語句前定義一個標號,然後在裡層循環(huán)體的程式碼中使用帶有標號的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;
   }
}

另外,我個人通常不會使用標號這種方式,而是讓外層的循環(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<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;
              }
        }
}

(推薦學習:java入門教學

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

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

switch語句能否作用在String上說錯了,Java1.7之後已經(jīng)支援這種寫法了!

6、short s1= 1; s1 = (s1 1是int型,而等號左邊的是short型,所以需要強轉(zhuǎn))1 1;有什麼錯? short s1 = 1; s1 = 1;有什麼錯?(沒有錯)

對於short s1= 1; s1 = s1 1;由於s1 1運算時會自動提升表達式的型別,所以結(jié)果是int型,再賦值給short類型s1時,編譯器將報告需要強制轉(zhuǎn)換類型的錯誤。

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

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

char型變數(shù)是用來儲存Unicode編碼的字元的,unicode編碼字元集中包含了漢字,所以,char型變數(shù)中當然可以儲存漢字啦。不過,如果某個特殊的漢字沒有被包含在unicode編碼字元集中,那麼,這個char型變數(shù)中就不能儲存這個特殊漢字。補充說明:unicode編碼佔用兩個位元組,所以,char類型的變數(shù)也是佔用兩個位元組。

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

2<< 3,(左移三位)因為將一個數(shù)左移n位,就相當於乘以了2的n次方,那麼,一個數(shù)乘以8只要將其左移3位即可,而位運算cpu直接支援的,效率最高,所以,2乘以8等於幾的最效率的方法是2<< 3。

9、使用final關(guān)鍵字修飾一個變數(shù)時,是引用不能變,還是引用的物件不能變?

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

finalStringBuffer a=new StringBuffer("immutable");

執(zhí)行如下語句將報告編譯期錯誤:

a=new StringBuffer("");

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

a.append(" broken!");

有人在定義方法的參數(shù)時,可能想採用如下形式來阻止方法內(nèi)部修改傳進來的參數(shù)物件:

public void method(final  StringBuffer param){
}

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

param.append("a");

(學習影片推薦:java課程

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

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

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

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

public class VariantTest{
        publicstatic int staticVar = 0;
        publicint instanceVar = 0;
        publicVariantTest(){
              staticVar++;
              instanceVar++;
              System.out.println(staticVar +instanceVar);
        }
}

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

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

settings.json文件位於用戶級或工作區(qū)級路徑,用於自定義VSCode設(shè)置。 1.用戶級路徑: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ū)級路徑:項目根目錄下的.vscode/settings

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

要正確處理JDBC事務(wù),必須先關(guān)閉自動提交模式,再執(zhí)行多個操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開始事務(wù);2.執(zhí)行多個SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guā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

Python Itertools組合示例 Python Itertools組合示例 Jul 31, 2025 am 09:53 AM

itertools.combinations用於生成從可迭代對像中選取指定數(shù)量元素的所有不重複組合(順序無關(guān)),其用法包括:1.從列表中選2個元素組合,如('A','B')、('A','C')等,避免重複順序;2.對字符串取3個字符組合,如"abc"、"abd",適用於子序列生成;3.求兩數(shù)之和等於目標值的組合,如1 5=6,簡化雙重循環(huán)邏輯;組合與排列的區(qū)別在於順序是否重要,combinations視AB與BA為相同,而permutations視為不同;

Python Pytest夾具示例 Python Pytest夾具示例 Jul 31, 2025 am 09:35 AM

fixture是用於為測試提供預(yù)設(shè)環(huán)境或數(shù)據(jù)的函數(shù),1.使用@pytest.fixture裝飾器定義fixture;2.在測試函數(shù)中以參數(shù)形式註入fixture;3.yield之前執(zhí)行setup,之後執(zhí)行teardown;4.通過scope參數(shù)控製作用域,如function、module等;5.將共用fixture放在conftest.py中實現(xiàn)跨文件共享,從而提升測試的可維護性和復(fù)用性。

了解Java虛擬機(JVM)內(nèi)部 了解Java虛擬機(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獲取當前日期時間;3.使用of()方法創(chuàng)建特定日期時間;4.利用plus/minus方法不可變地增減時間;5.使用ZonedDateTime和ZoneId處理時區(qū);6.通過DateTimeFormatter格式化和解析日期字符串;7.必要時通過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

See all articles