Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(39)
承蒙各位厚愛,我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)
1.在Java中,一個(gè)類可同時(shí)定義許多同名的方法,這些方法的形式參數(shù)個(gè)數(shù)、類型或順序各不相同,傳回的值也可以不相同。
這種面向?qū)ο蟪绦虻奶匦苑Q為
正確答案: C
隱藏
覆蓋
重載
Java不支持此特性
2.ArrayList和Vector主要區(qū)別是什么?
正確答案: A
Vector與ArrayList一樣,也是通過數(shù)組實(shí)現(xiàn)的,不同的是Vector支持線程的同步
Vector與ArrayList一樣,也是通過數(shù)組實(shí)現(xiàn)的,不同的是ArrayList支持線程的同步
Vector是通過鏈表結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),ArrayList是通過數(shù)組存儲(chǔ)數(shù)據(jù)
上述說法都不正確
3.public class Test
{
static boolean foo(char c)
{
System.out.print©;
return true;
}
public static void main( String[] argv )
{
int i = 0;
for ( foo(‘A'); foo(‘B') && (i < 2); foo(‘C'))
{
i++ ;
foo(‘D');
}
}
}
What is the result?
正確答案: A
ABDCBDCB
ABCDABCD
Compilation fails.
An exception is thrown at runtime.
題解:
在循環(huán)中可分為四部分
1:foo(‘A') 初始條件
2: foo(‘B') && (i < 2) 判斷條件
3: i++ ; foo(‘D'); 方法體
4: foo(‘C') 自增,這個(gè)循環(huán)把自增寫到方法體中了,這個(gè)位置用 foo(‘C') 代替了
總之:執(zhí)行順序就是 先執(zhí)行1,只會(huì)執(zhí)行一次,然后是 2 ,然后是3 然后是4 然后繼續(xù)2-> 3->4,循環(huán)執(zhí)行,直到2不符合條件。
4.下面哪種情況會(huì)導(dǎo)致持久區(qū)jvm堆內(nèi)存溢出?
正確答案: C
循環(huán)上萬次的字符串處理
在一段代碼內(nèi)申請(qǐng)上百M(fèi)甚至上G的內(nèi)存
使用CGLib技術(shù)直接操作字節(jié)碼運(yùn)行,生成大量的動(dòng)態(tài)類
不斷創(chuàng)建對(duì)象
5.如果希望監(jiān)聽TCP端口9000,服務(wù)器端應(yīng)該怎樣創(chuàng)建socket?
正確答案: B
new Socket(“l(fā)ocalhost”,9000);
new ServerSocket(9000);
new Socket(9000);
new ServerSocket(“l(fā)ocalhost”,9000);
題解:
ServerSocket (int port)
創(chuàng)建一個(gè)serversocket 綁定在特定的端口
Socket(InetAddress address, int port)
創(chuàng)建一個(gè)socket流,連接到特定的端口和ip地址
6.What will happen when you attempt to compile and run the following code?
public class Test{
static{
int x=5;
}
static int x,y;
public static void main(String args[]){
x–;
myMethod( );
System.out.println(x+y+ ++x);
}
public static void myMethod( ){
y=x++ + ++x;
}
}
正確答案: D
compiletime error
prints:1
prints:2
prints:3
prints:7
prints:8
題解:
1.靜態(tài)語句塊中x為局部變量,不影響靜態(tài)變量x的值
2.x和y為靜態(tài)變量,默認(rèn)初始值為0,屬于當(dāng)前類,其值得改變會(huì)影響整個(gè)類運(yùn)行。
3.java中自增操作非原子性的
main方法中:
執(zhí)行x–后 x=-1
調(diào)用myMethod方法,x執(zhí)行x++結(jié)果為-1(后++),但x=0,++x結(jié)果1,x=1 ,則y=0
x+y+ ++x,先執(zhí)行x+y,結(jié)果為1,執(zhí)行++x結(jié)果為2,得到最終結(jié)果為3
7.下列代碼輸出結(jié)果為( )
class Animal{
public void move(){
System.out.println(“動(dòng)物可以移動(dòng)”);
}
}
class Dog extends Animal{
public void move(){
System.out.println(“狗可以跑和走”);
}
public void bark(){
System.out.println(“狗可以吠叫”);
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
b.bark();
}
}
正確答案: D
A:動(dòng)物可以移動(dòng)
狗可以跑和走
狗可以吠叫
B:動(dòng)物可以移動(dòng)
動(dòng)物可以移動(dòng)
狗可以吠叫
C:運(yùn)行錯(cuò)誤
D:編譯錯(cuò)誤
題解:
父類中沒有bark方法,b.move會(huì)調(diào)用子類的move因?yàn)楦割愐灿衜ove,子類可以覆蓋掉,但是父類沒有bark,不存在覆蓋的情況,所有編譯錯(cuò)誤。
8.下列描述錯(cuò)誤的是?
正確答案: B D
類只能繼承一個(gè)父類,但是可以實(shí)現(xiàn)多個(gè)接口
抽象類自身可以定義成員而接口不可以
抽象類和接口都不能被實(shí)例化(忽略匿名內(nèi)部類)
一個(gè)類可以有多個(gè)父類和多個(gè)基接口
9.下面關(guān)于面向?qū)ο蟮囊恍├斫饽男┦清e(cuò)誤的( )
正確答案: C
A:面向?qū)ο蟮淖钪匾奶匦允侵С掷^承、封裝和多態(tài)
B:系統(tǒng)設(shè)計(jì)應(yīng)該遵循開閉原則,系統(tǒng)應(yīng)該穩(wěn)定不不可修改,但應(yīng)支持通過繼承、組合等方式進(jìn)行擴(kuò)展
C:函數(shù)式的語言必然是面向?qū)ο蟮恼Z言
D:面向?qū)ο笤O(shè)計(jì)時(shí),每個(gè)類的職責(zé)應(yīng)該單一,不要再一個(gè)類中引入過多的接口
E:過程式語言和面向?qū)ο蟮恼Z言各有其優(yōu)勢(shì),過程式語言更加靈活,面向?qū)ο笳Z言更加強(qiáng)調(diào)抽象和封裝
F:Java和C++都是靜態(tài)類型的面向?qū)ο缶幊陶Z言
10.關(guān)于Java中的數(shù)組,下面的一些描述,哪些描述是準(zhǔn)確的:( )
正確答案: A C F
數(shù)組是一個(gè)對(duì)象,不同類型的數(shù)組具有不同的類
數(shù)組長(zhǎng)度是可以動(dòng)態(tài)調(diào)整的
數(shù)組是一個(gè)連續(xù)的存儲(chǔ)結(jié)構(gòu)
一個(gè)固定長(zhǎng)度的數(shù)組可類似這樣定義: int array[100]
兩個(gè)數(shù)組用equals方法比較時(shí),會(huì)逐個(gè)便利其中的元素,對(duì)每個(gè)元素進(jìn)行比較
可以二維數(shù)組,且可以有多維數(shù)組,都是在Java中合法的
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
jvm中指定時(shí)區(qū)信息user.timezone問題及解決方式
同一份程序使用時(shí)間LocalDateTime類型,在國(guó)內(nèi)和國(guó)外部署后,返回的時(shí)間信息前端使用出問題,這篇文章主要介紹了jvm中指定時(shí)區(qū)信息user.timezone問題及解決方法,需要的朋友可以參考下2023-02-02Springboot+SpringSecurity實(shí)現(xiàn)圖片驗(yàn)證碼登錄的示例
本文主要介紹了Springboot+SpringSecurity實(shí)現(xiàn)圖片驗(yàn)證碼登錄的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04java精度計(jì)算代碼 java指定精確小數(shù)位
這篇文章主要為大家詳細(xì)介紹了java精度計(jì)算代碼,java指定精確小數(shù)位,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02通過Spring Boot + Mybatis + Redis快速搭建現(xiàn)代化Web項(xiàng)目
本篇文章介紹了如何通過Spring Boot、Mybatis以及Redis快速搭建一個(gè)現(xiàn)代化的Web項(xiàng)目,并且同時(shí)介紹了如何在Spring Boot下優(yōu)雅地書寫單元測(cè)試來保證我們的代碼質(zhì)量。具體內(nèi)容詳情大家通過本文學(xué)習(xí)下吧2017-12-12使用SpringMVC的@Validated注解驗(yàn)證的實(shí)現(xiàn)
這篇文章主要介紹了使用SpringMVC的@Validated注解驗(yàn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08運(yùn)用Spring?Aop+注解實(shí)現(xiàn)日志記錄
我們都知道Spring框架的兩大特性分別是 IOC (控制反轉(zhuǎn))和 AOP (面向切面),這個(gè)是每一個(gè)Spring學(xué)習(xí)視頻里面一開始都會(huì)提到的,這里,如果我們使用Aop來記錄日志,那是再好不過了,感興趣的朋友跟隨小編一起學(xué)習(xí)下Spring?Aop注解實(shí)現(xiàn)日志記錄的過程吧2022-01-01