欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(42)

 更新時(shí)間:2021年08月25日 09:17:18   作者:牛哄哄的柯南  
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你

承蒙各位厚愛,我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)

1、Integer a = 1;

Integer b = 1;

Integer c = 500;

Integer d = 500;

System.out.print(a == b);

System.out.print(c == d);

上述代碼返回結(jié)果為:

正確答案: B

true、true

true、false

false、true

false、false

題解:
Interger的范圍時(shí)[-128,127],在這個(gè)范圍內(nèi)比較大小,相等為true,這個(gè)范圍是被緩存了的,也就是每個(gè)對(duì)象的內(nèi)存地址是相同的,賦值就直接從緩存中取,不會(huì)有新的對(duì)象產(chǎn)生,而大于這個(gè)范圍,將會(huì)重新創(chuàng)建一個(gè)Integer對(duì)象,也就是new一個(gè)對(duì)象出來,超過范圍為false

2、對(duì)于同一類中的兩個(gè)方法 , 在判斷它們是不是重載方法時(shí) , 肯定不考慮( )

正確答案: C

參數(shù)個(gè)數(shù)

參數(shù)類型

返回值類型

參數(shù)順序

題解:

關(guān)于D的疑問:
1.參數(shù)類型不同時(shí),順序不同也是重載,例如:
public void first(int a,double b ){}
public void first(double b2,int a2){}
2.參數(shù)類型相同時(shí),沒有順序之分,例如:
public void first(int a,int b ){}
public void first(int b2,int a2){}
因?yàn)閿?shù)據(jù)類型相同,不能說明誰(shuí)前誰(shuí)后,這里a,b,a2,b2,僅僅是變量名稱而已。

3、對(duì)于Java中異常的描述正確的是( )

正確答案: D

A:用throws定義了方法可能拋出的異常,那么調(diào)用此方法時(shí)一定會(huì)拋出此異常。

B:如果try塊中沒有拋出異常,finally塊中的語(yǔ)句將不會(huì)被執(zhí)行。

C:拋出異常意味著程序發(fā)生運(yùn)行時(shí)錯(cuò)誤,需要調(diào)試修改

D:Java中的可不檢測(cè)(unchecked)異??赡軄碜訰untimeException類或其子類。

題解:
A錯(cuò) 在調(diào)用此方法的時(shí)候 也可以再次申明以將異常交由更高一級(jí)處理。
B錯(cuò) finally塊中的語(yǔ)句一定會(huì)被執(zhí)行。除非catch塊中有System.exit(0)。
C錯(cuò) 拋出異常不一定是運(yùn)行時(shí)異常,也有可能是編譯時(shí)異常。
D對(duì) 運(yùn)行時(shí)異常的特點(diǎn)是Java編譯器不會(huì)檢查它。
Exception(異常)
是程序本身可以處理的異常。主要包含RuntimeException等運(yùn)行時(shí)異常和IOException,SQLException等非運(yùn)行時(shí)異常。
運(yùn)行時(shí)異常 包括:都是RuntimeException類及其子類異常,如NullPointerException(空指針異常)、IndexOutOfBoundsException(下標(biāo)越界異常)等,這些異常是不檢查異常,程序中可以選擇捕獲處理,也可以不處理。這些異常一般是由程序邏輯錯(cuò)誤引起的,程序應(yīng)該從邏輯角度盡可能避免這類異常的發(fā)生。
運(yùn)行時(shí)異常的特點(diǎn)是Java編譯器不會(huì)檢查它,也就是說,當(dāng)程序中可能出現(xiàn)這類異常,即使沒有用try-catch語(yǔ)句捕獲它,也沒有用throws子句聲明拋出它,也會(huì)編譯通過。
非運(yùn)行時(shí)異常(編譯異常) 包括:RuntimeException以外的異常,類型上都屬于Exception類及其子類。從程序語(yǔ)法角度講是必須進(jìn)行處理的異常,如果不處理,程序就不能編譯通過。如IOException、SQLException等以及用戶自定義的Exception異常,一般情況下不自定義檢查異常。

4、下面的方法,當(dāng)輸入為2的時(shí)候返回值是多少?

public static int getValue(int i) {

int result = 0;

switch (i) {

case 1:

result = result + i;

case 2:

result = result + i * 2;

case 3:

result = result + i * 3;

}

return result;

}

正確答案: D

0

2

4

10

題解:
沒有break,發(fā)生case穿透現(xiàn)象,程序會(huì)繼續(xù)向下執(zhí)行,直到遇到break或者結(jié)束switch語(yǔ)句的大括號(hào)為止。
當(dāng)i=2時(shí),執(zhí)行程序
case2:result=4;
case3:result=4+6=10;
沒有break,就會(huì)順序執(zhí)行下去

5、下面有關(guān) maven和ant的描述,描述錯(cuò)誤的是?

正確答案: C

A:Ant 沒有正式的約定如一個(gè)一般項(xiàng)目的目錄結(jié)構(gòu),你必須明確的告訴 Ant 哪里去找源代碼

B:Maven 擁有約定,因?yàn)槟阕裱思s定,它已經(jīng)知道你的源代碼在哪里

C:maven和ant都有“生命周期”的概念,當(dāng)你輸入一個(gè)命令后,maven或者ant會(huì)執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期

D:Ant構(gòu)建文件默認(rèn)命名為build.xml,Maven默認(rèn)構(gòu)建文件為pom.xml

題解:
Ant和Maven都是基于Java的構(gòu)建(build)工具。理論上來說,有些類似于(Unix)C中的make ,但沒有make的缺陷。Ant是軟件構(gòu)建工具,Maven的定位是軟件項(xiàng)目管理和理解工具。
Ant特點(diǎn):
-沒有一個(gè)約定的目錄結(jié)構(gòu)
-必須明確讓ant做什么,什么時(shí)候做,然后編譯,打包
-沒有生命周期,必須定義目標(biāo)及其實(shí)現(xiàn)的任務(wù)序列
-沒有集成依賴管理
Maven特點(diǎn) :
-擁有約定,知道你的代碼在哪里,放到哪里去
-擁有一個(gè)生命周期,例如執(zhí)行 mvn install 就可以自動(dòng)執(zhí)行編譯,測(cè)試,打包等構(gòu)建過程
-只需要定義一個(gè)pom.xml,然后把源碼放到默認(rèn)的目錄,Maven幫你處理其他事情
-擁有依賴管理,倉(cāng)庫(kù)管理

6、下列方法中哪個(gè)是執(zhí)行線程的方法? ()

正確答案: A

run()

start()

sleep()

suspend()

題解:
答案是A,題目說的是執(zhí)行線程,不是啟動(dòng)
run()方法用來執(zhí)行線程體中具體的內(nèi)容
start()方法用來啟動(dòng)線程對(duì)象,使其進(jìn)入就緒狀態(tài)
sleep()方法用來使線程進(jìn)入睡眠狀態(tài)
suspend()方法用來使線程掛起,要通過resume()方法使其重新啟動(dòng)

7、java中Hashtable, Vector, TreeSet, LinkedList哪些線程是安全的?

正確答案: A B

Hashtable

Vector

TreeSet

LinkedList

題解:

LinkedList 和 ArrayList 都是不同步的,線程不安全;
Vector 和 Stack 都是同步的,線程安全;
Set是線程不安全的;
 
Hashtable的方法是同步的,線程安全;
HashMap的方法不是同步的,線程不安全;
WeakHashMap是非線程安全。

8、關(guān)于HashMap和Hashtable正確的說法有()

正確答案: A C

都實(shí)現(xiàn)了Map接口

Hashtable類不是同步的,而HashMap類是同步的

Hashtable不允許null鍵或值

HashMap不允許null鍵或值

題解:
總結(jié)一下HashMap和Hashtable的區(qū)別:
(1)HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn),它們都實(shí)現(xiàn)了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),而Hashtalbe不允許。
(2)HashMap沒有contains方法,而是containsValue和containsKey。
(3)Hashtable的方法是線程安全的,而HashMap不是線程安全的。
(4)HashMap使用Iterator,Hashtable使用Enumeration。
(5)HashMap和Hashtable采用的hash/rehash算法都幾乎一樣,所以性能不會(huì)有很大的差異。
(6)在Hashtable中,hash數(shù)組默認(rèn)大小是11,增加的方式是old*2+1。在Has和Map中,hash數(shù)組的默認(rèn)大小是16,而且一定是2的倍數(shù)。
(7)hash值的使用不同,Hashtable直接使用對(duì)象的hashCode。

9、以下關(guān)于final關(guān)鍵字說法錯(cuò)誤的是()

正確答案: A C

final是java中的修飾符,可以修飾類、接口、抽象類、方法和屬性

final修飾的類肯定不能被繼承

final修飾的方法不能被重載

final修飾的變量不允許被再次賦值

題解:
1.final修飾變量,則等同于常量
2.final修飾方法中的參數(shù),稱為最終參數(shù)。
3.final修飾類,則類不能被繼承
4.final修飾方法,則方法不能被重寫。
5.final 不能修飾抽象類
6.final修飾的方法可以被重載 但不能被重寫

10、關(guān)于java中的數(shù)組,下面的一些描述,哪些描述是準(zhǔn)確的:()

正確答案: A C F

A:數(shù)組是一個(gè)對(duì)象,不同類型的數(shù)組具有不同的類

B:數(shù)組長(zhǎng)度是可以動(dòng)態(tài)調(diào)整的

C:數(shù)組是一個(gè)連續(xù)的存儲(chǔ)結(jié)構(gòu)

D:一個(gè)固定長(zhǎng)度的數(shù)組可類似這樣定義:int array[100]

E:兩個(gè)數(shù)組用Object 里equals方法比較時(shí),會(huì)逐個(gè)遍歷其中的元素,對(duì)每個(gè)元素進(jìn)行比較

F:java中不存在 int * a這樣的東西做數(shù)組的形參

題解:
B:數(shù)組長(zhǎng)度不是動(dòng)態(tài)的
D:一維數(shù)組的初始化:
(1)靜態(tài)初始化
1)int[] arr = new int[]{1, 2, 3}
2)int[] arr = {1, 2, 3}
(2)動(dòng)態(tài)初始化
int[] arr = new int[3];
E:數(shù)組沒有重寫equals,所以還是使用的object的equals。相當(dāng)于“==”。

答案匯總:

1、正確答案: B

2、正確答案: C

3、正確答案: D

4、正確答案: D

5、正確答案: C

6、正確答案: A

7、正確答案: A B

8、正確答案: A C

9、正確答案: A C

10、正確答案: A C F

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評(píng)論