java試卷,Java試卷專升本

本文目錄一覽:

JAVA試卷

1b 2c 3b 4c 5a 6d 7d 8a 9c 10d 11c 12a 13a 14a 15c 16a 17d 18b 19d 20c

如有錯誤,請多指教

java試卷

第一,談談final,

finally,

finalize的區別。

final

修飾符(關鍵字)如果一個類被聲明為final,意味着它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為

abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載

finally

再異常處理時提供

finally

塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的

catch

子句就會執行,然後控制就會進入

finally

塊(如果有的話)。

finalize?方法名。java

技術允許使用

finalize()

方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在

object

類中定義的,因此所有的類都繼承了它。子類覆蓋

finalize()

方法以整理系統資源或者執行其他清理工作。finalize()

方法是在垃圾收集器刪除對象之前對這個對象調用的。

第二,anonymous

inner

class

(匿名內部類)

是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?

匿名的內部類是沒有名字的內部類。不能extends(繼承)

其它類,但一個內部類可以作為一個接口,由另一個內部類實現。

第三,static

nested

class

inner

class的不同,說得越多越好(面試題有的很籠統)。

nested

class

(一般是c++的說法),inner

class

(一般是java的說法)。java內部類與c++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http:

//

;page=1

註:

靜態內部類(inner

class)意味着1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象

第四,和的區別。

是位運算符。是布爾邏輯運算符。

第五,hashmap和hashtable的區別。

都屬於map接口的類,實現了將惟一鍵映射到特定的值上。

hashmap

類沒有分類或者排序。它允許一個

null

鍵和多個

null

值。

hashtable

類似於

hashmap,但是不允許

null

鍵和

null

值。它也比

hashmap

慢,因為它是同步的。

第六,collection

collections的區別。

collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。

collection是個java.util下的接口,它是各種集合結構的父接口。

第七,什麼時候用assert。

斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為

true。如果表達式計算為

false,那麼系統會報告一個

assertionerror。它用於調試目的:

assert(a

0);

//

throws

an

assertionerror

if

a

=

斷言可以有兩種形式:

assert

expression1

;

assert

expression1

:

expression2

;

expression1

應該總是產生一個布爾值。

expression2

可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的

string

消息。

斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用

source

1.4

標記:

javac

-source

1.4

test.java

要在運行時啟用斷言,可使用

-enableassertions

或者

-ea

標記。

要在運行時選擇禁用斷言,可使用

-da

或者

-disableassertions

標記。

要系統類中啟用斷言,可使用

-esa

或者

-dsa

標記。還可以在包的基礎上啟用或者禁用斷言。

可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。

第八,gc是什麼?

為什麼要有gc?

(基礎)。

gc是垃圾收集器。java

程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:

system.gc()

runtime.getruntime().gc()

第九,string

s

=

new

string(“xyz”);創建了幾個string

object?

兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

第十,math.round(11.5)等於多少?

math.round(-11.5)等於多少?

math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11;

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

都不能

幫忙做一份JAVA試卷 後天就要拉

三、填空題

1、Java 2 platform分成三個版本套件____51_J2SE_____、_____52____J2EE__、_______53___J2ME______。

4、Arrays類的_______54__sort____方法可以對數組進行排序。

5、______55____Interface___關鍵字用來定義一個接口。

6、在java中,把數據類型分為兩大類為_______56____基本類型_______和__________57______對象類型___。

8、若在java程序中設置包語句,則使用關鍵字_______58___package______。若要導入其他包中的類則需要使用關鍵字_________59______import_______。

9、設x、k均為int型變量,x已經賦值。用三目條件運算符,求變量x的絕對值,並賦給變量k的賦值語句是__60___k=x0?x:(-1)*x__________。

10、(在同一包中)子類不能繼承父類中的 61____private__ 成員,除此之外,其它所有的成員都可以通過繼承變為子類的成員。

11、下面是以命令行參數形式輸入double型數據的程序,並對出現的數組越界異常(IndexOutOfBoundsException異常)和數據格式錯誤異常(NumberFormatException異常)進行捕獲處理。請將程序補

充完整。

class Catch2Demo{

public static void main(String args[]){

(_______62_ throws __IndexOutOfBoundsException,__NumberFormatException____){

String s=args[0];

double d=Double.parseDouble(s);

System.out.println(“d的平方為:”+d*d);

}

catch(IndexOutOfBoundsException e){

System.out.println(“沒有輸入命令行參數”);

e.printStackTrace();

}

( ______63____catch(NumberFormatException e)______){

System.out.println(“沒有輸入正確的數據”);

e.printStackTrace();return;

}

}

}

五、編程題

一)按照以下要求編寫程序

1、編寫一個矩形類Rect,包含:

兩個protected屬性:矩形的寬width;矩形的高height。

兩個構造器方法:

(1)一個帶有兩個參數的構造器方法,用於將width和height屬性初化;

(2)一個不帶參數的構造器,將矩形初始化為寬和高都為10。

兩個方法:

(1)求矩形面積的方法area()

(2)求矩形周長的方法perimeter()

答:

public class Rect{

protected double width;

protected double height;

public Rect(double width,double height){

this.width=width;

this.height=height;

}

public Rect(){

this.width=10;

this.height=10;

}

public double area(){

return width*height;

}

public double perimeter() {

return 2*(width+height);

}

}

2、通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用矩形的左上角坐標來標識,包含:

添加兩個屬性:矩形左上角坐標startX和startY。

兩個構造器方法:

(1)帶4個參數的構造器方法,用於對startX、startY、width和height屬性初始化;

(2)不帶參數的構造器方法,將矩形初始化為左上角坐標、長和寬都為0的矩形;

添加一個方法:

判斷某個點是否在矩形內部的方法isInside(double x,double y)。如在矩形內,返回true, 否則,返回false。

提示:點在矩形類是指滿足條件:

x=startXx=(startX+width)ystartYy=(startY+height)

答:

public class PlainRect extends Rect{

private double startX;

private double startY;

public PlainRect(double startX,double startY,double width,double height){

this.width=width;

this.height=height;

this.startX=startX;

this.startY=startY;

}

public PlainRect(){

this.width=0;

this.height=0;

this.startX=0;

this.startY=0;

}

public isInside(double x,double y){

if(x=startXx=(startX+width)ystartYy=(startY+height) ){

return true;

}else{

return false;

}

}

}

3、編寫PlainRect類的測試程序

(1)創建一個左上角坐標為(10,10),長為20,寬為10的矩形對象;

(2)計算機並打印輸出矩形的面積和周長;

(3)判斷點(25.5,13)是否在矩形內,並打印輸出相關信息。

public class TestPlainRect{

public static void main(String[] args){

PlainRect plainRect=new PlainRect(10,10,20,10);

System.out.println(“矩形面積:”+area());

System.out.println(“矩形周長:”+perimeter());

System.out.println(“判斷點(25.5,13)是否在矩形內:”+isInside(25.5,13));

}

}

二)按照以下要求編寫程序

定義一個類A,類中有一個private的整型變量data;一個private的字符串對象str。類中有兩個構造函數,一個不含參數,初始化data 和str為其缺省值;另一個有兩個參數,分別用來初始化data 和str

。類中還定義三個方法,方法頭的定義和其功能如下:

1)public A add(int k,String s):該方法把data和str的值分別加上k和s。

2)public A clearA():該方法把data和str的值分別清除為其缺省值。

3)public String toString():該方法把data和str的值轉變為字符串返回,便於顯示。

編寫測試類TestA,創建類A對象並使用類A中的三個方法。並寫出輸出結果。

答:

public class A{

private int data;

private String str;

public A(){

this.data=0;

this.str=””;

}

public A(int data,String str){

this.data=data;

this.str=str;

}

public A add(int k,String s){

this.data+=k;

this.str+=s;

}

public A clearA(){

this.data=0;

this.str=””;

}

public String toString(){

retrun “整型值:”+data+”,字符串值:”+str;

}

}

public class TestA{

public static void main(String[] args){

A a=new A(123,”Java”);

// 輸出結果為:整型值:123,字符串值:Java

System.out.println(a.toString());

a.add(456,”World”);

// 輸出結果為:整型值:579,字符串值:JavaWorld

System.out.println(a.toString());

a.clearA();

// 輸出結果為:整型值:0,字符串值:

System.out.println(a.toString());

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/197308.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 13:29
下一篇 2024-12-03 13:29

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論