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

Java日常練習題,每天進步一點點(3)

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

承蒙各位厚愛,我們一起每天進步一點點?。ㄊ髽诉x中空白處查看答案)

1、以下不屬于構造方法特征的是()

正確答案: D

構造方法名與類名相同

構造方法不返回任何值,也沒有返回類型

構造方法在創(chuàng)建對象時調用,其他地方不能顯式地直接調用

每一個類只能有一個構造方法

題解:一個類可以有多個構造方法,多個構造方法通過不同參數(shù)列表進行重載。

2、下面有關java classloader說法錯誤的是?

正確答案: C

Java默認提供的三個ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoader

ClassLoader使用的是雙親委托模型來搜索類的

JVM在判定兩個class是否相同時,只用判斷類名相同即可,和類加載器無關

ClassLoader就是用來動態(tài)加載class文件到內存當中用的

題解: JVM在判定兩個class是否相同時,不僅要判斷兩個類名是否相同,而且要判斷是否由同一個類加載器實例加載的

3、一個文件中的字符要寫到另一個文件中,首先需要( )。

正確答案: C

System.out.print (buffer[i]);

FileOutputStream fout = new FileOutputStream(this.filename);

FileInputStream fin = new FileInputStream(this.filename);

System.in.read(buffer);

題解:程序的邏輯很簡單。程序必須打開兩個文件,以可讀的方式打開一個已有文件和以可寫的方式打開一個新文件,后將已有文件中的內容,暫時存放在內存中,再寫入新的文件,后關閉所有文件,程序結束。根據(jù)題意,首先需要讀入一個文件中的字符,需要FileInputStream fin = new FileInputStream(this.filename);

4、假設num已經(jīng)被創(chuàng)建為一個ArrayList對象,并且最初包含以下整數(shù)值:[0,0,4,2,5,0,3,0]。 執(zhí)行下面的方法numQuest(),最終的輸出結果是什么?

private List nums;

//precondition: nums.size() > 0

//nums contains Integer objects

public void numQuest() {

int k = 0;

Integer zero = new Integer(0);

while (k < nums.size()) {

if (nums.get(k).equals(zero))

nums.remove(k);

k++;

}

}

正確答案: D

[3, 5, 2, 4, 0, 0, 0, 0]

[0, 0, 0, 0, 4, 2, 5, 3]

[0, 0, 4, 2, 5, 0, 3, 0]

[0, 4, 2, 5, 3]

題解:做這種題還是要一步一步來,不然一不小心就掉坑里: List中的 get ( i )指的是獲取下標(索引)為 i 的元素,也就是第 i+1 個元素本題:

zero==0,如果get(k)==0,執(zhí)行remove(k); ;

size==8 ; k==0 , 因此第一次remove(0) ,刪除索引為0的元素也就是第一個元素0,然后k++, size()–;

此時集合元素為 :[0,4,2,5,0,3,0]

size==7; k==1,因此get(1)==4 !=0 , 不執(zhí)行remove(); k++,因沒有刪除元素,size()不變,

此時集合元素為:[0,4,2,5,0,3,0]

size==7;k==2,k++;

size==7;k==3,k++;

size==7;k==4,get(4)==0,remove(4) ; k++, size()–;

此時集合元素為: [0,4,2,5,3,0]

size==6; k==5,get(5)==0,remove(5);k++, size()–;

此時集合元素為: [0,4,2,5,3]

size==5; k==6 ;退出循環(huán);

最終輸出此時集合元素為 [0,4,2,5,3] ;

一般更改刪除集合元素,使用iterator()迭代器,不推薦使用這種;

5、以下聲明合法的是

正確答案: B

default String s

public final static native int w( )

abstract double d

abstract final double hyperbolicCosine( )

題解:

A:變量不能被defalut修飾

B:native修飾方法,native修飾的方法簡單來說就是:一個Java方法調用了一個非Java代碼的接口。定義navtive方法時,并不提供實現(xiàn)體,因為其實現(xiàn)體是用非Java語言在外面實現(xiàn)的。native可以和任何修飾符連用,abstract除外。因為native暗示這個方法時有實現(xiàn)體的,而abstract卻顯式指明了這個方法沒有實現(xiàn)體。

C:abstract修飾方法和類

D:final修飾的方法不能被重寫。而abstract定義的方法沒有實現(xiàn),必須被子類重寫,明顯不能一起使用。

6、以下代碼段執(zhí)行后的輸出結果為

public class Test {

public static void main(String[] args) {

System.out.println(test());

}

private static int test() {

int temp = 1;

try {

System.out.println(temp);

return ++temp;

} catch (Exception e) {

System.out.println(temp);

return ++temp;

} finally {

++temp;

System.out.println(temp);

}

}

}

正確答案: D

1,2,2

1,2,3

1,3,3

1,3,2

題解:

執(zhí)行順序為:

輸出try里面的初始temp:1;

temp=2;

保存return里面temp的值:2;

執(zhí)行finally的語句temp:3,輸出temp:3;

返回try中的return語句,返回存在里面的temp的值:2;

輸出temp:2。

7、給定includel.isp文件代碼片段,如下:

<% pageContext.setAttribute(“User”,”HAHA”);%>

______ // 此處填寫代碼

給定include2.jsp文件代碼片段如下:

<%=pageContext.getAttribute(“User”)%>

要求運行include1.jsp時,瀏覽器上輸出:HAHA

正確答案: B

<jsp:include page=”include2.jsp” flash=”true”>

%@include file=”include2.jsp”%

<jsp:forward page=”include2.jsp”>

<% response.sendRedirect(“include2.jsp”); %>

題解: JSP 共有以下 6 種基本動作:

jsp:include:在頁面被請求的時候引入一個文件;

jsp:useBean:尋找或者實例化一個JavaBean。;

jsp:setProperty:設置 JavaBean 的屬性。;

jsp:getProperty:輸出某個 JavaBean 的屬性;

jsp:forward:把請求轉到一個新的頁面;

jsp:plugin:根據(jù)瀏覽器類型為 Java 插件生成 OBJECT 或 EMBED 標記。

B選項是靜態(tài)包含,相當于不include2.jsp頁面內容拷貝到此處,因此可以輸出User屬性值

D選項是轉發(fā)重定向,轉發(fā)的時候pageContent內的屬性值不能被傳遞,因此得不到User屬性值

A選項使用了jsp中動作標簽的包含標簽,這里是動態(tài)包含。原理是包含與被包含的頁面單獨翻譯成不同的java文件,然后運行時合并在一起。因為是存在域中的數(shù)據(jù),故剛開始就直接翻譯數(shù)據(jù)還不存在,因此瀏覽器上不能顯示出HAHA。

B選項使用了jsp三大指令中的包含指令,這里是靜態(tài)包含。原理是直接把包含與被包含頁面的內容先合并在一起,然后翻譯成一個java源文件,最后編譯執(zhí)行。故可以在瀏覽器上顯示出HAHA。

C和D選項分別使用了跳轉和重定向,我們知道jsp中有四個域對象,從小到大分別為:

page域:在同一個jsp頁面中數(shù)據(jù)有效

request域:在同一個請求中數(shù)據(jù)有效

session域:在用一個會話中數(shù)據(jù)有效

application域:在同一個網(wǎng)站中數(shù)據(jù)有效題中使用的是

page域對象:pageContext,而C選項應該使用

request域對象:HttpServletRequest,而D選項應該至少使用

session域對象:HttpSession(如果處于同一會話中)。

8、String與StringBuffer的區(qū)別。

正確答案: A B

String是不可變的對象,StringBuffer是可以再編輯的

字符串是常量,StringBuffer是變量

String是可變的對象,StringBuffer是不可以再編輯的

以上說法都不正確

題解: String 是 final定義的,不可變

9、Gadget has-a Sprocket and Gadget has-a Spring and Gadget is-a Widget and Widget has-a Sprocket 以下哪兩段代碼可以表示這個關系? (選擇兩項) ( )

正確答案: A C

A:class Widget { Sprocket s; }

class Gadget extends Widget { Spring s; }

B:class Widget { }

class Gadget extends Widget { Spring s1; Sprocket s2; }

C:class Widget { Sprocket s1; Spring s2; }

class Gadget extends Widget { }

D:class Gadget { Spring s; }

class Widget extends Gadget{ Sprocket s; }

題解:

這道題主要考查我們的Java類與類之間的關系。

類與類之間有三種關系:

(1)is-a 包括了繼承(類)和實現(xiàn)(接口)關系;

(2)has-a包括了關聯(lián)、聚合、組合關系;

(3)use-a包括了依賴關系;注:依賴關系 > 關聯(lián)關系 > 聚合關系 > 組合關系舉個例子:

(1)繼承關系:class_A is-a class_B

代碼層面:class_A extends class_B

(2)聚合關系:class_A has-a class_B

代碼層面:類A以類B對象為屬性或是調用了類B的屬性

10、線程安全的map在JDK 1.5及其更高版本環(huán)境 有哪幾種方法可以實現(xiàn)?

正確答案: C D

Map map = new HashMap()

Map map = new TreeMap()

Map map = new ConcurrentHashMap();

Map map = Collections.synchronizedMap(new HashMap());

題解: 1.HashMap,TreeMap 未進行同步考慮,是線程不安全的。 2.HashTable 和 ConcurrentHashMap 都是線程安全的。區(qū)別在于他們對加鎖的范圍不同,HashTable 對整張Hash表進行加鎖,而ConcurrentHashMap將Hash表分為16桶(segment),每次只對需要的桶進行加鎖。 3.Collections 類提供了synchronizedXxx()方法,可以將指定的集合包裝成線程同步的集合。比如, List list = Collections.synchronizedList(new ArrayList()); Set set = Collections.synchronizedSet(new HashSet());

答案匯總:

1、正確答案: D

2、正確答案: C

3、正確答案: C

4、正確答案: D

5、正確答案: B

6、正確答案: D

7、正確答案: B

8、正確答案: A B

9、正確答案: A C

10、正確答案: C D

總結

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

相關文章

  • 一文簡介Java中BlockingQueue阻塞隊列

    一文簡介Java中BlockingQueue阻塞隊列

    本文主要介紹了一文簡介Java中BlockingQueue阻塞隊列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • java實現(xiàn)接口的典型案例

    java實現(xiàn)接口的典型案例

    下面小編就為大家?guī)硪黄猨ava實現(xiàn)接口的典型案例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java命名規(guī)則詳細總結

    Java命名規(guī)則詳細總結

    Class名應是首字母大寫的名詞。命名時應該使其簡潔而又具有描述性。異常類的命名,應以Exception結尾。Interface的命名規(guī)則與Class相同
    2013-10-10
  • Springboot使用RestTemplate調用第三方接口的操作代碼

    Springboot使用RestTemplate調用第三方接口的操作代碼

    這篇文章主要介紹了Springboot使用RestTemplate調用第三方接口,我只演示了最常使用的請求方式get、post的簡單使用方法,當然RestTemplate的功能還有很多,感興趣的朋友可以參考RestTemplate源碼
    2022-12-12
  • java學生信息管理系統(tǒng)設計與實現(xiàn)

    java學生信息管理系統(tǒng)設計與實現(xiàn)

    這篇文章主要為大家詳細介紹了java學生信息管理系統(tǒng)設計與實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Springboot如何實現(xiàn)代理服務器

    Springboot如何實現(xiàn)代理服務器

    這篇文章主要介紹了Springboot如何實現(xiàn)代理服務器問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • springboot中使用自定義兩級緩存的方法

    springboot中使用自定義兩級緩存的方法

    這篇文章主要介紹了springboot中使用自定義兩級緩存的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java 程序內部是如何執(zhí)行的?

    Java 程序內部是如何執(zhí)行的?

    這篇文章主要介紹了Java 程序內部是如何執(zhí)行的,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java Annotation詳解及實例代碼

    Java Annotation詳解及實例代碼

    這篇文章主要介紹了Java Annotation詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-03-03
  • 使用CI/CD工具Github Action發(fā)布jar到Maven中央倉庫的詳細介紹

    使用CI/CD工具Github Action發(fā)布jar到Maven中央倉庫的詳細介紹

    今天通過對Github Action的簡單使用來介紹了CI/CD的作用,這個技術體系是項目集成交付的趨勢,也是面試中的一個亮點技能。 而且這種方式可以實現(xiàn)“一次配置,隨時隨地集成部署”,感興趣的朋友一起看看吧
    2021-07-07

最新評論