久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java基礎習題

時間:2019-05-15 09:16:49下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《java基礎習題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java基礎習題》。

第一篇:java基礎習題

九、習題與實踐(1)

1、編寫程序創建并顯示一個標題為“My Frame”、背景為紅色的Frame。

2、編寫一個程序,其功能為:在窗口上擺放兩個標簽。構造第一個標簽時,令其上面的文本信息為“我將參加Java程序設計考試。”,將第二個標簽構造為空標簽。程序將第一個標簽的信息復制到第二個標簽上,并增加信息“希望自己考取好成績。”。要求第一個標簽以紅色為背景,綠色為前景;第二個標簽以綠色為背景,藍色為前景。

3.請編寫一個窗口程序,實現如下功能:定義一個用于給出提示信息的標簽和兩個文本框,其中,一個文本框用于獲取用戶給出的一個整數,求該數的平方后將計算結果置在另一個文本框中輸出。

4.請編寫一個窗口程序,實現如下功能:定義三個文本框。其中,第一個文本框上面的文本信息為“請輸入口令:”;第二個文本框為口令輸入域;第三個文本框上的信息由程序設置:若口令(假設口令為字符串”MyKey”)正確,則設置為“通過!”,否則設置為“口令錯!”。

5.編寫一個窗口程序, 其中包含兩個按鈕b1、b2,初始時b1的前景為蘭色,b2的前景為紅色,它們的標簽分別為”蘭按鈕”、”紅按鈕”。當點擊b1時,通過paint()方法在坐標(100,100)處畫一個蘭色的橢圓框,橢圓的長半軸為30,短半軸為20;點擊b2時,在坐標(100,100)處,畫一個紅色的圓框,圓的半徑為50。無論那個按鈕被點擊,都將該按鈕上的標記改為“已按過”,并使該按鈕變灰。

6.編寫窗口程序, 其中包含兩個按鈕,初始時兩個按鈕的前景均為綠色。當點擊一個按鈕時,通過paint()方法在坐標(0,0)處顯示一幅圖象,圖象名稱為a.gif,顯示的高、寬分別為400、300;圖象與應用程序在同一目錄(程序中用到的圖片可自行定義)。當點擊另一個按鈕時,在圖像上再輸出字符串“好漂亮!”。同時要求當反復點擊按鈕時,就令被點擊按鈕的前景變為紅色,而使另一個按鈕的前景恢復為綠色。

7、編寫一個窗口程序,要求使用內部類和匿名內部類做監視器,當在文本框text1中輸入一個數字字符串之后,一個監視器負責計算這個數的平方并將結果放入文本框text2中,另外一個監視器計算立方并將結果放入文本框text3中。

8、設計一個帶菜單的窗口程序,實現效果如下圖:文件菜單的菜單項有:新建、保存、打印;編輯菜單的菜單項有:復制、全選、粘貼。菜單項的具體功能暫不需要實現。

第二篇:JAVA基礎總結

JAVA基礎總結

轉眼間,已經來到這里學習半年了,而現在我們對于JAVA學習才算是真正的開始。一開始接觸的時候我發現這個和C語言的基本語法幾乎一模一樣的,老師說:JAVA語言本來就是C++語言發展過來的,而C++是從C語言發展來的,C C++ 還有JAVA雖然是不同的三種語言,但是其實他們的基本語法是一樣的,但是它們卻有巨大的區別,這個區別主要是體現在思想上。

都說C語言是面向過程的語言,C++ C#和JAVA是面向對象的編程,其實就是思維方式稍微改了一下子,面向過程的語言主要是著重于算法,面向對象著重于邏輯而已。

這個教我們的老師是張成峰老師,張成峰是個很負責的老師,雖然JAVA基礎其實和C語言基礎差不多,但是仔細學學還是能找出很多不同的細節的,于是大家的問題就很多,張老師幾乎就是手把手的教我們,所以整體來說JAVA基礎學得挺扎實的。

我在這本書的學習不是挺好,聯系得少了,所以對代碼也不是特別熟悉。而且JAVA是一門重概念的書,對于我來說,概念是我的要害,理論知識也是我最怕學習的,所以學習這本書對我來說很是艱難,聽了很久的課,代碼寫得出來,但是理論知識幾乎一點也不明白,結果就造成了這次筆試考的不好。

筆試考的不好,機試也因為我的粗心沒有考好,所以這次的成績不好。

學習JAVA基礎后,還要在學習的過程中對每個知識都要用心和細心,當然最該注重的地方就是應該提高我對理論知識的學習,要多看書,也要多敲敲代碼,這些就是提高學習知識全面的方法。

下一本書學習的是JAVAOO算是JAVA的一個重要的內容了,這才會真正的接觸JAVA的核心課程,在這本書里我要好好的理解理論知識,仔細的學習每個知識。

第三篇:Java基礎總結

? 基本數據類型

? 變量單元直接存放數據

? 賦值和傳參的方式:傳值,即傳遞副本

? 比較相等使用關系運算符“==”

? 引用數據類型

? 變量單元存放引用即對象地址,而數據(對象)在另一內存區域存放。

? 賦值和傳參的方式:傳引用(傳遞對象的地址),即傳遞對象本身。

? 使用關系運算符“==”比較兩個引用類型變量,比較的是地址,如果比較結果為

真,說明兩個變量引用了同一對象。

? 比較兩個對象是否相等應使用equals方法

? Java是面向對象的語言,開發Java程序就是開發Java類,Java的變量定義、方法(函

數)和語句都必須在類中書寫,“無類即無Java”。

? 類的實例成員

屬性(成員變量):直接定義在類體中的變量(注:在方法或語句塊中定義的變量不是屬性)

方法:直接定義在類體中的方法。

類成員:直接定義在類體中的內部類,即類成員。

注:對象的成員是從屬于對象的,必須通過對象訪問,在Java中不存在脫離對象和類而獨立存在的屬性和方法。

? 類、方法、語句三者的關系:

類中包含方法,方法中包含語句;方法中不能嵌套方法;語句不能直接寫在類體中。

? 變量的作用域

? 局部變量-方法的參數、方法體中定義的變量、語句塊中定義的變量,僅在所定義的方法體或語句塊中有效。

? 屬性-在整個類體中有效。

? 公有的屬性-其它類可以本類對象訪問。

? 私有的屬性-僅限本類內訪問

? 局部變量(無論基本類型還是引用類型)在棧內存中,對象在堆內存中。注:引用類型的局部變量內存放是對象的引用(即地址),而對象在堆內存中。

? 方法的重載-在同一類中多個方法同名的語法現象,方法重載應符合以下條件:

? 方法同名

? 參數有所不同(即類型、個數和順序三者至少有一個不同)

注:方法是否重載不考慮返回類型等其它方面。

? 包和訪問修飾符

? 包-類的目錄結構,主要用途是方便類的管理。

? 類的簡稱:不含包名的類名

? 類的全限定名稱(類的全稱):帶包名的類名。

? 訪問修飾符

? private-僅限本類內訪問

? public-任何類都能夠訪問

? 默認-限本包的類訪問

? protected--限本包的類訪問和子類的訪問

? 類的成員(屬性、方法和成員內部類)可以使用四種訪問修飾符,頂級外部類僅能

使用public和默認兩種修飾符。

? 數組

? 基本類型的數組的元素放的是數據

? 對象數據的元素放的是對象的引用

? 二維數組實際上是一個維數組,而其每個元素又是一個一維數組。

? 構造方法-與類名同名并且無返回類型的方法

? 構造方法的作用是創建對象,僅能通過new關鍵字調用。

? 類中未顯式定義構造方法時,類中會有默認的構造方法(即一個public、無參的構

造方法);類中一旦定義顯式定義構造方法,將不再產生默認的構造方法。

? 構造方法可以重載

? 構造方法只能可以使用四個訪問修飾符,不可以使用其它修飾符(如static、final

等)。

? this關鍵字

? this表示本對象或對象自身的引用

? 通過this可以調用本類的成員方法和屬性

? 通過this可以調用本類的構造方法,this調用構造方法的語句必須寫在構造方法的第一句。

? 實例成員和靜態成員

? 類的成員(屬性、方法和成員類)可劃分為靜態成員和實例成員。

? 實例成員是屬于對象的,隨著對象的創建而存在,隨著對象的銷毀而銷毀。? 靜態成員是屬于類的,隨著類的加載而存在,隨著類的銷毀而銷毀。

? 使用static修飾的成員是靜態成員,未使用static修飾的成員是實例成員。? 靜態成員內不能使用this關鍵字。

? this表示當前對象的引用。

? 對象的初始化

? 第一:實例屬性賦默認值

? 第二:實例屬性賦初值

? 第三:執行對象初始化塊

? 第四:執行構造方法

? 類的初始化

? 第一:靜態屬性賦默認值

? 第二:靜態屬性賦初值

? 第三:執行靜態塊

? 繼承的基本概念

? Java僅支持單繼承

?

?

?

?

? ? 如果一個類沒有顯式繼承任何類,則隱式繼承java.lang.Object類 ? 子類擁有父類的一切,子類對象由兩部分構成:父類對象部分和子類個性化的部分。? 子類并不能訪問父類的一切: ? 子類可以訪問父類的public成員和protected成員 ? 子類不可以訪問父類的private成員 ? 僅當子類與父類同在一包時,子類方可以訪問父類的默認訪問控制的成員。繼承與類和對象的初始化 ? 構造子類對象時,首先構造父類對象,其次構造子類個性化部分,兩者共同構成完整的子類對象,即首先進行父類對象的初始化,在初始化子類對象(個性化)部分。? 子類構造方法的執行首先調用父類的構造方法。? 若在子類構造方法中無顯式調用父類構造方法的語句,則系統默認調用父類中可訪問的無參的構造方法,如果這時候父類中恰好沒有這樣的構造方法,則編譯出錯。? 在子類的構造方法中可以通過super關鍵字調用父類構造方法。這樣的調用語句只能出現在子類構造方法的第一句。? 關于初始化的順序 ? 初始化父類 ? 初始化子類 ? 初始化父類對象 ? 初始化子類對象 繼承與類型轉換 ? 子類型對象可以自動轉型為父類型 ? 父類型引用某個子類型對象時,可以強制轉化為這個具體的子類型 方法重寫 ? 在繼承的情況下,子類的實例方法與父類的實例方法的方法名稱、參數、返回類型、throws聲明完全一致,并且該子類方法的訪問權限不低于父類方法的訪問權限,即方法重寫(子類方法重寫了父類方法),也稱方法覆蓋。? 方法重寫僅存在于父子類中的實例方法,靜態方法沒有重寫的概念。? 當通過子類型對象執行重寫方法時,將始終表現為子類的行為,而且無論引用對象的變量是父類型還是子類型,也無論是直接調用還是通過父類型其它方法間接調用,都將如此。? final修飾的方法不可以被重寫 ? final修飾的類不可以被繼承 隱藏成員變量 ? 如果子類和父類中定義了同名稱的成員變量,則稱子類隱藏了父類的成員變量 ? 通過父類方法訪問隱藏的成員變量時,將獲得父類成員變量 ? 通過子類方法訪問隱藏的成員變量時,將獲得子類成員變量 ? 通過父類型的引用直接訪問隱藏的成員變量時,將獲得父類成員變量 ? 通過子類型的引用直接訪問隱藏的成員變量時,將獲得子類成員變量 super關鍵字

? super僅能用于子類中表示本對象的父對象部分

? super可以調用父類型的構造方法

? Super可以調用父類的成員

? Super不可以使用在靜態上下文中

? Super不可以做為參數傳遞,不可以做為返回值返回。

? 當方法重寫時,或父類成員變量被隱藏時,子類中只能通過super訪問父類方法和

父類成員變量

? final關鍵字

? 用于變量,表示變量的值不可改變

? 用于類,表示類不可被繼承

? 用于方法,表示方法不可以被重寫

? 關于final變量的初始化時機

? 局部變量:聲明的時候初始化

? 實例成員變量:聲明、對象初始化塊和構造方法三處之一

? 靜態成員變量:聲明、靜態塊兩處之一

? 抽象類

? 抽象類可以包含抽象方法,也可以不包含抽象方法

? 含有抽象方法的類必須定義為抽象類

? 抽象類有構造方法

? 抽象類不能夠實例化

? 通過抽象類可以調用其靜態成員

? 抽象類是需要由子類繼承的,因此抽象類不允許是final類

? 抽象方法

? 抽象方法沒有方法體,包括一對空的大括號也不允許有

? 抽象方法必須是實例方法,抽象方法不允許是final的? 抽象類與繼承

? 抽象類可以被繼承

? 若抽象類的子類是非抽象類,則該子類必須實現(重寫)其父類的所有抽象方法 ? 若抽象類的子類也是抽象類,則該子類可以不實現(重寫)其父類的全部或部分抽象

方法。

? 接口

? 接口也是數據類型,可以將其理解為“純”抽象類

? 接口不是類,也沒有構造方法,不能夠實例化

? 接口中的屬性一律是public、static、final的,并可以省略這三個關鍵字

? 接口的方法一律是public、abstract的,并且可以省略這兩個關鍵字

? 接口中可以不包含任何屬性和方法

? 接口與實現

? 接口不是類,因此接口與類的關系不是“繼承”關系,而是“實現”關系,我們可

以將實現理解為繼承(盡管這并不恰當)

? 如果接口的實現類是抽象類,則該實現類可以不實現接口的全部或部分方法 ? 如果接口的實現類是非抽象類,則該實現類必須實現接口的全部方法

? 一個類可以實現多個接口

? 接口與繼承

? 接口之間可以相互繼承

? 一個接口可以繼承多個接口

? 接口與類型轉換

? 接口的的子類型對象可以自動向上轉型為接口類型

? 接口的子類型指:是接口的實現類或者接口的子接口

? 如果變量引用的對象實際是某個接口的實現類對象,而變量的類型不是這個接口的子類型,那么則可以強制轉換為這個接口類型。

? 異常的類層次結構

? Throwable錯誤類,表示不可恢復的致命錯誤

? Exception運行時異常,此類異常可以不做顯式處理

? 非運行時異常catch

? 聲明拋出 在方法頭通過throws聲明可能拋出的異常類型

? 異常機制的五個關鍵字

? try catch finally throw throws

? 如何使用

? try-catch

? try-catch-finally注:只要try執行,其對應的finally塊才必然執行

? try-finally注:只要try執行,其對應的finally塊才必然執行

? throw 主動拋出一個異常

? throws 用在方法聲明頭部,聲明方法可能拋出異常

? finally代碼塊多用于書寫資源回收代碼

? Java集合類(集合框架)

? Collection接口

? List接口 允許重復元素,元素有索引序號,并按放入元素的次序編號

? ArrayList 線性表結構,查找快,增刪慢

? LinkedList 鏈表結構,查找慢,增刪快

? Vector 同步,查找、增刪性能都不高。

? Set接口 不允許重復元素,元素無索引編號

? HashSet 元素散列存放

? TreeSet元素按自然順序排序(即從小到大排序)

? Map接口

? HashMap

? 允許null值和null鍵

? 不同步

? Hashtable <--Properties

? 不允許null值和null鍵

? 同步

? 內部類

第四篇:基礎習題

8單

1、為了具體反映利潤的形成情況,我國現行的利潤表的結構一般采用()報告結構。(A)單步式(B)多步式(C)賬戶式(D)報告式”

2、資產負債表中,直接根據總賬賬戶填列的項目有()。(A)交易性金融資產、應收票據、工程物資、短期借款、應付職工薪酬、應交稅費、實收資本、盈余公積

(B)交易性金融資產、應收票據、應收賬款、工程物資、短期借款、應付職工薪酬、應交稅費、實收資本、盈余公積

(C)交易性金融資產、應收票據、存貨、工程物資、短期借款、應付職工薪酬、應交稅費、長期借款、實收資本、盈余公積(D)交易性金融資產、應收票據、存貨、工程物資、短期借款、應付賬款、應交稅費、實收資本、盈余公積”

3、資產負債表中,所有者權益項目包括()。(A)實收資本(股本)、資本公積、盈余公積和本年利潤(B)實收資本(股本)、資本公積、盈余公積和利潤分配(C)實收資本(股本)、資本公積、盈余公積和未分配利潤(D)實收資本(股本)、資本公積、盈余公積、本年利潤、未分配利潤和利潤分配”

4、利潤表主要是根據()編制的。

(A)資產、負債及所有者權益各賬戶的本期發生額(B)資產、負債及所有者權益各賬戶的期末余額(C)損益類各賬戶的本期發生額(D)損益類各賬戶的期末余額”

5、資產負債表左方的資產項目排列標準是()。(A)重要性原則,即重要項目排在前面,次要項目排在后面 B)債務清償的先后順序,即短期債務排在前面,長期債務排在后面(C)流動性大小,即流動性大的排在前面,流動性小的排在后面(D)金額的大小,即金額小的排在前面,金額大的排在后面” “

6、()是對企業財務狀況、經營成果和現金流量的結構性表述。(A)資產負債表(B)利潤表(C)會計報表附注(D)財務報表” “

7、下列不屬于財務會計報告基本要求的是()。(A)真實可靠(B)合法實用(C)編報及時(D)便于理解” “

8、財務報表中各項目數字的直接來源是()。(A)原始憑證(B)日記賬(C)記賬憑證(D)賬簿記錄” “

9、下列各項中,不會引起利潤總額增減變化的是()。(A)銷售費用(B)管理費用(C)所得稅費用(D)營業外支出” “

10、下列不屬于反映企業財務狀況的會計要素是()。(A)資產(B)負債(C)所有者權益(D)利潤” “

11、某企業本月主營業務收入為1 000 000元,其他業務收入為80 000元,營業外收入為90 000元,主營業務成本為760 000元,其他業務成本為50 000元,營業稅金及附加為30 000元,營業外支出為75 000元,管理費用為40 000元,銷售費用為30 000元,財務費用為15 000元,所得稅費用為75 000元。則該企業本月營業利潤為()元。(A)170 000(B)155 000(C)25 000(D)80 000”

12、甲公司2011年年初利潤分配——未分配利潤賬戶的借方余額為100萬元,2011年實現凈利潤400萬元,提取盈余公積30萬元,分配利潤110萬元,則2011年末未分配利潤項目的數額為()萬元。(A)260(B)300(C)360(D)160”

13、利潤表中的“本期金額”欄內各項數字一般應根據損益類科目的()填列。(A)本期發生額(B)累計發生額(C)期初余額(D)期末余額”

14、我國的資產負債表采用的是()結構。(A)多步式(B)報告式(C)賬戶式(D)單步式”

15、某企業2011年7月1日,本年利潤科目的貸方余額為60萬元,表明()。

(A)該企業2011年6月份的凈利潤為60萬元(B)該企業2011年1~6月份的凈利潤為60萬元(C)該企業2011年全年的凈利潤為60萬元(D)該企業2011年12月份的凈利潤為60萬元” “

16、下列各項中不屬于存貨的是()。(A)低值易耗品(B)包裝物(C)原材料(D)工程物資”

17、某企業會計的期末應收賬款所屬明細賬戶借方余額之和為 500 800元,所屬明細賬戶貸方余額之和為9 800元,總賬為借

方余額491 000元。假設企業“預收賬款”所屬明細科目的金額為0,則在當期資產負債表“應收賬款”項目所填列的金額為()。(A)500 800元(B)9 800元(C)491 000元(D)510 600元”

18、下列不屬于存貨核算范圍的是()。(A)原材料(B)在產品(C)庫存商品(D)固定資產”

19、下列資產項目中,屬于非流動資產項目的是()。(A)應收票據(B)交易性金融資產(C)長期待攤費用(D)存貨”

“20、下列報表中,不屬于企業對外提供的動態報表的是()。(A)利潤表

(B)所有者權益變動表(C)現金流量表(D)資產負債表”

第五篇:Java學習_基礎總結

現在學習JAVA的人越來越多!但是學的好的,能用到工作中去的卻很少很少,下面就是我為大家總結歸納的一些JAVA學習基礎,希望大家少走彎路,盡快投入到工作中去!

Java 學習基礎總結歸納!

1、作用域public,private,protected,以及不寫時的區別

答:區別如下:

作用域

當前類

同一package

子孫類

其他package public

protected

×

friendly

×

×

private

×

×

×

不寫時默認為friendly

2、Anonymous Inner Class(匿名內部類)是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)

答:匿名的內部類是沒有名字的內部類。不能extends(繼承)其它類,但一個內部類可以作為一個接口,由另一個內部類實現

3、Static Nested Class 和 Inner Class的不同

答:Nested Class(一般是C++的說法),Inner Class(一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在于是否有指向外部的引用上。注: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象

4、&和&&的區別

答:&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)

5、Collection 和 Collections的區別

答:Collection是集合類的上級接口,繼承與他的接口主要有Set 和List.Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作

6、什么時候用assert

答:assertion(斷言)在軟件開發中是一種常用的調試方式,很多開發語言中都支持這種機制。在實現中,assertion就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true;如果該值為false,說明程序已經處于不正確的狀態下,系統將給出警告或退出。一般來說,assertion用于保證程序最基本、關鍵的正確性。assertion檢查通常在開發和測試時開啟。為了提高性能,在軟件發布后,assertion檢查通常是關閉的

7、String s = new String(“xyz”);創建了幾個String Object

答:兩個,一個字符對象,一個字符對象引用對象

8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少

答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回與參數最接近的長整數,參數加1/2后求其floor

9、short s1 = 1;s1 = s1 + 1;有什么錯? short s1 = 1;s1 += 1;有什么錯

答:short s1 = 1;s1 = s1 + 1;(s1+1運算結果是int型,需要強制轉換類型)short s1= 1;s1 += 1;(可以正確編譯)

10、Java有沒有goto

答:java中的保留字,現在沒有在java中使用

11、數組有沒有length()這個方法? String有沒有length()這個方法

答:數組沒有length()這個方法,有length的屬性。String有有length()這個方法

12、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型

答:方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型

13、Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別

答:Set里的元素是不能重復的,那么用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等 equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值

14、給我一個你最常見到的runtime exception

答:常見的運行時異常有如下這些ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

15、error和exception有什么區別 答:error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況 exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況

16、List, Set, Map是否繼承自Collection接口

答: List,Set是,Map不是

17、abstract class和interface有什么區別

答:聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用于要創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口

18、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized

答:都不能

19、接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)

答:接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數

20、構造器Constructor是否可被override

答:構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading

21、是否可以繼承String類

答:String類是final類故不可以繼承

22、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后

答:會執行,在return前執行

23、用最有效率的方法算出2乘以8等於幾 答:2 << 3

24、兩個對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對

答:不對,有相同的hash code

25、當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞

答:是值傳遞。Java 編程語言只有值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的

26、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

答:witch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、short、char 或者 byte。long,string 都不能作用于swtich

27、ArrayList和Vector的區別,HashMap和Hashtable的區別

答:就ArrayList與Vector主要從二方面來說.一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的二.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半就HashMap與HashTable主要從三方面來說。一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value

28、char型變量中能不能存貯一個中文漢字?為什么? 答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節,所以放一個中文是沒問題的

29、GC是什么? 為什么要有GC

答:GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。

30、float型float f=3.4是否正確?

答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4

31、介紹JAVA中的Collection FrameWork(包括如何寫自己的數據結構)?

答:Collection FrameWork如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)Map提供key到value的映射

32、抽象類與接口?

答:抽象類與接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實現,而接口則完全是一個標識(同時有多重繼承的功能)。JAVA類實現序例化的方法是實現java.io.Serializable接口 Collection框架中實現比較要實現Comparable 接口和 Comparator 接口

33、String與StringBuffer的區別。

答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對字符串中的內容經常進行操作,特別是內容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

34、談談final, finally, finalize的區別

答:final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載 finally—再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執行,然后控制就會進入 finally 塊(如果有的話)finalize—方法名。Java 技術允許使用 finalize()方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize()方法以整理系統資源或者執行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調用的

35、面向對象的特征有哪些方面

答:主要有以下四方面:

1.抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是數據抽象。

2.繼承:繼承是一種聯結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。

3.封裝:封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。4.多態性:多態性是指允許不同類的對象對同一消息作出響應。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。

36、String是最基本的數據類型嗎

答:基本數據類型包括byte、int、char、long、float、double、boolean和short。java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用StringBuffer類

37、int 和 Integer 有什么區別

答:Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。原始類型封裝類

booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,floatFloat,doubleDouble 引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為 null,而原始類型實例變量的缺省值與它們的類型有關

38、運行時異常與一般異常有何異同

答:異常表示程序運行過程中可能出現的非正常狀態,運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。

39、說出ArrayList,Vector, LinkedList的存儲性能和特性

答:ArrayList和Vector都是使用數組方式存儲數據,此數組元素數大于實際存儲的數據以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等內存操作,所以索引數據快而插入數據慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行前向或后向遍歷,但是插入數據時只需要記錄本項的前后項即可,所以插入速度較快。

40、HashMap和Hashtable的區別

答:HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap 就必須為之提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

41、heap和stack有什么區別

答:棧是一種線形集合,其添加和刪除元素的操作應在同一段完成。棧按照后進先出的方式進行處理。堆是棧的一個組成元素

42、Java的接口和C++的虛類的相同和不同處

答:由于Java不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象里面的方法或屬性,現有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現代碼。當一個類實現了接口以后,該類要實現接口里面所有的方法和屬性,并且接口里面的屬性在默認狀態下面都是public static,所有方法默認情況下是public.一個類可以實現多個接口。

43、Java中的異常處理機制的簡單原理和應用

答:當JAVA程序違反了JAVA的語義規則時,JAVA虛擬機就會將發生的錯誤表示為一個異常。違反語義規則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數組下標越界,會引發IndexOutOfBoundsException;訪問null的對象時會引發NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創建自己的異常,并自由選擇在何時用throw關鍵字引發異常。所有的異常都是java.lang.Thowable的子類。

43、垃圾回收的優點和原理。并考慮2種回收機制

答:Java語言中一個顯著的特點就是引入了垃圾回收機制,使c++程序員最頭疼的內存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內存管理。由于有個垃圾回收機制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”。垃圾回收可以有效的防止內存泄露,有效的使用可以使用的內存。垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預知的情況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清楚和回收,程序員不能實時的調用垃圾回收器對某個對象或所有對象進行垃圾回收。回收機制有分代復制垃圾回收和標記垃圾回收,增量垃圾回收。

44、你所知道的集合類都有哪些?主要方法?

答:最常用的集合類是 List 和 Map。List 的具體實現包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構建、存儲和操作任何類型對象的元素列表。List 適用于按數值索引訪問元素的情形。Map 提供了一個更通用的元素存儲方法。Map 集合類用于存儲元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值。

45、描述一下JVM加載class文件的原理機制?

答:JVM中類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader 是一個重要的Java運行時系統組件。它負責在運行時查找和裝入類文件的類。

46、排序都有哪幾種方法?請列舉

答: 排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數排序)快速排序的偽代碼。/ /使用快速排序方法對a[ 0 :n-1 ]排序從a[ 0 :n-1 ]中選擇一個元素作為m i d d l e,該元素為支點把余下的元素分割為兩段left 和r i g h t,使得l e f t中的元素都小于等于支點,而right 中的元素都大于等于支點遞歸地使用快速排序方法對left 進行排序遞歸地使用快速排序方法對right 進行排序所得結果為l e f t + m i d d l e + r i g h t

47、JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?

答:Java通過面向對象的方法進行異常處理,把各種不同的異常進行分類,并提供了良好的接口。在Java中,每個異常都是一個對象,它是Throwable類或其它子類的實例。當一個方法出現異常后便拋出一個異常對象,該對象中包含有異常信息,調用這個對象的方法可以捕獲到這個異常并進行處理。Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程序,如果出現異常,系統會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理。用try來指定一塊預防所有“異常”的程序。緊跟在try程序后面,應包含一個catch子句來指定你想要捕捉的“異常”的類型。throw語句用來明確地拋出一個“異常”。throws用來標明一個成員函數可能拋出的各種“異常”。Finally為確保一段代碼不管發生什么“異常”都被執行一段代碼。可以在一個成員函數調用的外面寫一個try語句,在這個成員函數內部寫另一個try語句保護其他代碼。每當遇到一個try語句,“異常”的框架就放到堆棧上面,直到所有的try語句都完成。如果下一級的try語句沒有對某種“異常”進行處理,堆棧就會展開,直到遇到有處理這種“異常”的try語句。

48、一個“.java”源文件中是否可以包括多個類(不是內部類)?有什么限制?

答:可以。必須只有一個類名與文件名相同。

49、java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?

答:字節流,字符流。字節流繼承于InputStream OutputStream,字符流繼承于InputStreamReader OutputStreamWriter。在java.io包中還有許多其他的流,主要是為了提高性能和使用方便。

50、java中會存在內存泄漏嗎,請簡單描述。

答:會。自己實現堆載的數據結構時有可能會出現內存泄露,可參看effective java.51、java中實現多態的機制是什么?

答:方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。

52、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內存嗎?有什么辦法主動通知虛擬機進行垃圾回收

答:對于GC來說,當程序員創建對象時,GC就開始監控這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是“可達的”,哪些對象是“不可達的”。當GC確定一些對象為“不可達”時,GC就有責任回收這些內存空間。可以。程序員可以手動執行System.gc(),通知GC運行,但是Java語言規范并不保證GC一定會執行。

53、靜態變量和實例變量的區別? 答:static i = 10;//常量 class A a;a.i =10;//可變

54、什么是java序列化,如何實現java序列化?

答:序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸于網絡之間。序列化是為了解決在對對象流進行讀寫操作時所引發的問題。序列化的實現:將需要被序列化的類實現Serializable接口,該接口沒有需要實現的方法,implements Serializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數為obj的對象寫出(即保存其狀態),要恢復的話則用輸入流。

55、是否可以從一個static方法內部發出對非static方法的調用?

答:不可以,如果其中包含對象的method();不能保證對象初始化.56、寫clone()方法時,通常都有一行代碼,是什么?

答:Clone 有缺省行為,super.clone();他負責產生正確大小的空間,并逐位復制。

57、在JAVA中,如何跳出當前的多重嵌套循環?

答:用break;return 方法。

58、List、Map、Set三個接口,存取元素時,各有什么特點?

答:List 以特定次序來持有元素,可有重復元素。Set 無法擁有重復元素,內部排序。Map 保存key-value值,value可多值。

59、說出一些常用的類,包,接口,請各舉5個

答:常用的類:BufferedReader BufferedWriter FileReader FileWirter String Integer 常用的包:java.lang java.awt java.io java.util java.sql 常用的接口:Remote List Map Document NodeList

下載java基礎習題word格式文檔
下載java基礎習題.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    java面試題(基礎部分)

    21 Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型? 方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之......

    《JAVA基礎》基本概念總結

    《JAVA基礎》基本概念總結 1、在JAVA中所有萬物皆對象,所有的代碼都要寫在一個類中,在類中只能包含屬性(變量)和方法(函數),其它代碼必須寫在某一個方法中,方法與方法之間是平行的,不......

    JAVA基礎知識點總結

    1) 開發Java語言的公司? Sun (Sun Microsystems)太陽微電子公司開發 2) Java的3個版本? J2SE(Java2 Standard Edition) 標準版 J2EE(Java 2 Platform,Enterprise Edition) 企業......

    農業銀行Java基礎面試題

    基礎測試 基礎知識部分: 1. 談談final, finally, finalize的區別。 final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。 finally 是異常處理語句結構的......

    Java基礎編程題

    【程序1】題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?1.程序分析: 兔子的......

    JAVA WEB 基礎考試題

    一、 填空題(每空2分,共30分) 1、在tomcat上發布javaweb應用時的默認目錄是__webapps___目錄。 2、javaweb應用的部署描述符是指 web.xml__ 文件。 3、在tomcat中訪問helloapp......

    java基礎教學大綱改

    《Java基礎》教學大綱 一、課程性質與教學目的 課程性質:《Java程序設計》是計算機軟件技術專業的一門職業技術課程,本課程主要講述當前非常流行的面向對象程序設計的基本知識......

    公共基礎習題

    公共基礎知識習題 (單選)1.世界市場,也叫國際市場,是通過世界范圍的商品交換和商品流通把各國市場緊密聯系起來的總體。它主要是指 A.各國之間的商品流通活動 B.各國之間的......

主站蜘蛛池模板: 波多野结衣av无码久久一区| 国产精品a久久777777| 亚洲性夜夜综合久久7777| 久久国语露脸国产精品电影| 亚洲av电影院在线观看| 美日欧激情av大片免费观看| 国产精品亚洲综合色区| 欧美精品久久久久久久自慰| 亚洲av纯肉无码精品动漫| 国产一区二区三区四区五区加勒比| 国产一区二区三区免费观看在线| 日韩加勒比无码人妻系列| 精品欧洲av无码一区二区14| 久久国产免费福利永久| 女女互磨互喷水高潮les呻吟| 精品国产不卡一区二区三区| 日韩大陆欧美高清视频区| 国产乱人伦偷精品视频aaa| 蜜臀av在线无码国产| 99久久国产露脸精品国产麻豆| 久久草草亚洲蜜桃臀| 偷窥少妇久久久久久久久| 人妻精品久久久久中文字幕| 天堂网在线最新版www中文网| 亚洲人成国产精品无码果冻| 中文字幕一区在线观看视频| 成 人 网 站 免 费 av| 久久青青草原精品国产| 五月综合网亚洲乱妇久久| 女人被强╳到高潮喷水在线观看| 人人爽久久涩噜噜噜av| 国产av亚洲精品久久久久久小说| 双乳奶水饱满少妇呻吟| 欧美人妻一区二区三区| 国产成人综合久久精品免费| 一本久久a久久精品综合| 性高朝久久久久久久| 人妻aⅴ无码一区二区三区| 欧美金发尤物大战黑人| 国产精品国产高清国产av| 亚洲精品国产精品国自产观看|