




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java基礎入門課后習題第1章 Java開發入門一、填空題1、Java的三大體系分別是_、_、_。2、Java程序的運行環境簡稱之為_。3、編譯Java程序需要使用_命令。4、javac.exe和java.exe兩個可執行程序存放在JDK安裝目錄的_目錄下。5、_環境變量用來存儲Java的編譯和運行工具所在的路徑,而_環境變量則用來保存保存Java虛擬機要運行的“.class”文件路徑。二、選擇題1、以下選項中,哪些屬于JDK工具?(多選)A、Java編譯器 B、Java運行工具 C、Java文檔生成工具 D、Java打包工具2、Java屬于以下哪種語言?A、機器語言 B、 匯編語言 C、高級
2、語言 D、以上都不對3、下面哪種類型的文件可以在Java虛擬機中運行?A、.java B、.jre C、.exe D、.class4、安裝好JDK后,在其bin目錄下有許多exe可執行文件,其中java.exe命令的作用是以下哪一種?A、Java文檔制作工具 B、Java解釋器 C、Java編譯器D、Java啟動器5、如果jdk的安裝路徑為:d:jdk,若想在命令窗口中任何當前路徑下,都可以直接使用javac和java命令,需要將環境變量path設置為以下哪個選項?Ad:jdk;Bd:jdkbin;Cd:jrebin;Dd:jre;三、問答題1、簡述Java的特點。2、簡述JRE與JDK的區別
3、。四、編程題使用記事本編寫一個HelloWorld程序,在dos命令行窗口編譯運行。請按照題目的要求編寫程序并給出運行結果。第2章 Java編程基礎一、填空題1、Java中的程序代碼都必須在一個類中定義,類使用_關鍵字來定義。2、布爾常量即布爾類型的兩個值,分別是_和_。3、Java中的注釋可分為三種類型,分別是_、_、_。4、Java中的變量可分為兩種數據類型,分別是_和_。5、在Java中,byte類型數據占_個字節,short類型數據占_個字節,int類型數據占_個字節,long類型數據占_個字節。6、在邏輯運算符中,運算符_和_用于表示邏輯與,_和_表示邏輯或。7、若x = 2,則表達
4、式 ( x + + )3 的值是_。8、若int a =2; a+=3;執行后,變量a的值為_。9、若int a=12,45,34,46,23; ,則a2= _。10、若int a32=123,345,34,56,34,56,則a21= _。二、判斷題1、Java語言不區分大小寫。2、0xC5表示的是一個十六進制整數。3、continue 語句只用于循環語句中,它的作用是跳出循環。4、“/*/”中可以嵌套“/”注釋,但不能嵌套“/*/”注釋。5、-5%3的運算結果是2。三、選擇題1、以下選項中,哪些屬于合法的標識符?(多選)A、Hello_World B、class C、123username
5、 D、username1232、關于方法重載的描述,以下選項中哪些是正確的?(多選) A、方法名必須一致 B、返回值類型必須不同 C、參數個數必須一致 D、參數的個數或類型不一致3、以下關于變量的說法錯誤的是? A、變量名必須是一個有效的標識符B、變量在定義時可以沒有初始值C、變量一旦被定義,在程序中的任何位置都可以被訪問D、在程序中,可以將一個byte類型的值賦給一個int類型的變量,不需要特殊聲明4、以下選項中,switch語句判斷條件可以接收的數據類型有哪些? (多選) A、int B、byte C、char D、short 5、假設int x = 2,三元表達式 x0?x+1:5 的運
6、行結果是以下哪一個? A、0 B、2 C、3 D、56、下面的運算符中,用于執行除法運算是哪個? A、/ B、 C、% D、*7、下列語句哪些屬于循環語句?(多選) A、for語句 B、if語句 C、while語句 D、switch語句8、下面哪種寫法可以實現訪問數組arr的第1個元素? A、arr0 B、arr(0) C、arr1 D、arr(1)9、以下哪個選項可以正確創建一個長度為3的二維數組? A、 new int 23; B、 new int3;C、 new int3; D、 以上答案皆不對10、請先閱讀下面的代碼。 int x = 1;int y = 2;if (x % 2 = 0
7、) y+; else y-;System.out.println(y= + y);上面一段程序運行結束時,變量y的值為下列哪一項?A、1 B、2 C、3 D、switch語句四、程序分析題閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運行的結果。否則請說明編譯失敗的原因。代碼一:public class Test01 public static void main(String args) byte b = 3;b = b + 4;System.out.println(b= + b);代碼二:public class Test02 public static void mai
8、n(String args)int x = 12; int y = 96; System.out.println(x is + x); System.out.println(y is + y);y = x; System.out.println(x is + x); 代碼三:public class Test03 public static void main(String args) int x = 4, j = 0;switch (x) case 1:j+;case 2:j+;case 3:j+;case 4:j+;case 5:j+;default:j+;System.out.print
9、ln(j);代碼四:public class Test04 public static void main(String args) int n = 9;while (n 6) System.out.println(n);n-;五、簡答題1、請列舉Java語言中的八種基本數據類型,并說明每種數據類型所占用的空間大小。2、簡述&與&的區別并舉例說明。3、什么是方法重載?六、編程題請按照題目的要求編寫程序并給出運行結果。1、請編寫程序,實現計算“1+3+5+7+99”的值。 提示:1) 使用循環語句實現自然數199的遍歷。2) 在遍歷過程中,通過條件判斷當前遍歷的數是否為奇數,如果是就累加,否則不
10、加。2、已知函數 x + 3 ( x 0 ) y = 0 ( x = 0 ) x2 1 ( x 10時,paly()方法用throw關鍵字拋出NoThisSongException異常,創建異常對象時,調用有參的構造方法,傳入“您播放的歌曲不存在”。3) 在測試類中創建Player對象,并調用play()方法測試自定義的NoThisSongException異常,使用trycatch語句捕獲異常,調用NoThisSongException的getMessage()方法打印出異常信息。第5章 多線程一、填空題1、一個應用程序中有多條并發執行的線索,每條線索都被稱作一個_,它們會交替執行,彼此間可
11、以進行_。2、在實現多線程的程序時有兩種方式,一是通過繼_承類,二是通過實現_接口。3、yield()方法只能讓相同優先級或者更高優先級、處于_狀態的線程獲得運行的機會。4、在Java語言中,同步方法需要用到關鍵字_,對于同步方法而言無需指定同步鎖,它的同步鎖是方法所在的_,也就是_(關鍵字)。5、在多任務系統中,每個獨立執行的程序稱之為_,也就是“正在運行的程序”。6、線程的整個生命周期分為五個階段,分別是_、_、_、_、和_。7、線程的優先級用110之間的整數來表示,其中_代表優先級最高,_代表優先級最低。8、在Thread類中,提供了一個start()方法,該方法用于_,當新線程啟動后,
12、系統會自動調用_方法。9、要想解決線程間的通信問題,可以使用_、_、_方法。10、要將某個線程設置為后臺線程,需要調用該線程的_方法,該方法必須在_方法之前調用。二、判斷題1、當我們創建一個線程對象時,該對象表示的線程就立即開始運行。2、如果前臺線程全部死亡,后臺線程也會自動死亡。3、同步代碼塊中的鎖對象可以是任意類型的對象。4、靜態方法不能使用synchronized關鍵字來修飾。5、線程結束等待或者阻塞狀態后,會進入運行狀態。三、選擇題1、Thread類位于下列哪個包中? A、java.io B、java.lang C、java.util D、java.awt2、關于線程的創建過程,下面四
13、種說法正確的有哪些?(多選)A、定義Thread類的子類,重寫Thread類的run()方法,創建該子類的實例對象,調用對象的start()方法B、定義Thread類的子類,重寫Thread類的run()方法,創建該子類的實例對象,調用對象的run()方法C、定義一個實現Runnable 接口的類并實現run()方法,創建該類實例對象,將其作為參數傳遞給Thread類的構造方法來創建Thread對象,調用Thread對象的start()方法 D、定義一個實現Runnable 接口的類并實現run()方法,創建該類對象,然后調用run()方法3、對于通過實現Runnable接口創建線程,下面說法
14、正確的有哪些?(多選) A、適合多個相同程序代碼的線程去處理同一個資源的情況 B、把線程同程序代碼、數據有效的分離,很好的體現了面向對象的設計思想C、可以避免由于Java的單繼承帶來的局限性 D、編寫簡單,可以不通過Thread類直接創建線程4、對于線程的生命周期,下面四種說法正確的有哪些?(多選) A、調用了線程的start()方法,該線程就進入運行狀態 B、線程的run()方法運行結束或被未catch的InterruptedException等異常終結,那么該線程進入死亡狀態C、線程進入死亡狀態,但是該線程對象仍然是一個Thread對象,在沒有被垃圾回收器回收之前仍可以像引用其它對象一樣引
15、用它 D、線程進入死亡狀態后,調用它的start()方法仍然可以重新啟動5、對于死鎖的描述,下面四種說法正確有哪些?(多選) A、當兩個線程互相等待對方釋放同步鎖時會發生死鎖 B、Java虛擬機沒有檢測和處理死鎖的措施 C、一旦出現死鎖,程序會發生異常 D、處于死鎖狀態的線程處于阻塞狀態,無法繼續運行6、下面四個選項中,哪些是線程進入阻塞狀態的原因?(多選)A、線程試圖獲取某個對象的同步鎖,而該鎖被其它線程持有B、線程調用了另一個線程的join()方法C、當線程調用了一個阻塞式的IO方法D、線程調用了setDaemon(boolean b)方法7、線程調用sleep()方法后,該線程將進入以下
16、哪種狀態?A、就緒狀態 B、運行狀態 C、阻塞狀態 D、死亡狀態 8、在以下哪種情況下,線程進入就緒狀態?A、線程調用了sleep()方法時 B、線程調用了join()方法C、線程調用了yield()方法時 D、線程調用了notify()方法9、下面四個選項中,對線程同步的目的描述正確的有哪些?(多選)A、鎖定資源,使同一時刻只有一個線程去訪問它,防止多個線程操作同一個資源引發錯誤B、提高線程的執行效率C、讓線程獨占一個資源D、讓多個線程同時使用一個資源10、對于wait()方法,下面說法正確的是?(多選) A、wait()方法的調用者是同步鎖對象 B、wait()方法使線程進入等待狀態 C、
17、調用同一鎖對象的notify()或notifyAll()方法可以喚醒調用wait()方法等待的線程 D、調用wait()方法的線程會釋放同步鎖對象四、程序分析題閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請列出運行的結果。如果不能編譯通過,請說明原因。1.代碼一:class RunHandler public void run() System.out.println(run);public class Test public static void main(String args) Thread t = new Thread(new RunHandler(); t.start(
18、); 2.代碼二:public class A extends Threadprotected void run() System.out.println(thisisrun(); public static void main(String args) A a = new A();a.start();3.代碼三:public class Testprivate Object obj=new Object();public synchronized void a()try obj.wait();System.out.println(waiting); catch (InterruptedExc
19、eption e) System.out.println(Exception);public static void main(String args) new Test().a();4.為了使下面的程序能夠輸出“Thread is running”,請在在空格處填上相應的代碼。public class B implements Runnable public static void main(String args) Thread t = new Thread(new B();_ /此處填空public void run() System.out.println(Thread is runn
20、ing);public void go() start(1);public void start(int i) 五、簡答題1、 java中有幾種方法可以實現一個線程?請舉例說明。2、sleep() 和 wait() 有什么區別?六、編程題請按照題目的要求編寫程序并給出運行結果。1、通過繼承Thread類的方式創建兩個線程,在Thread構造方法中指定線程的名字,并將這兩個線程的名字打印出來。2、通過實現Runnable接口的方式創建一個新線程,要求main線程打印100此次“main”,新線程打印50次“new”。3、模擬傳智播客的三個老師同時分發80份學習筆記,每個老師相當于一個線程。4、編
21、寫10個線程,第一個線程從1加到10,第二個線程從11加到20.第十個線程從91加到100,最后再把十個線程結果相加。第6章 JavaAPI一、填空題1、在Java中定義了兩個類來封裝對字符串的操作,它們分別是_和_。2、Java中的操作日期的類有_、_、_等。3、在程序中若想取得一個Runtime實例,則可以調用Runtime類的靜態方法_。4、Math類中用于計算所傳遞參數平方根的方法是_。5、Java中專門用于將日期格式化為字符串的類是_。6、Math類中有兩個靜態常量PI和E,分別代表數學常量_和_。7、Java中的用于產生隨機數的類是_,它位于_包中。8、String類中用于返回字符
22、串字符個數的方法是_。9、System類中所提供的屬性和方法都是_的,想要引用這些屬性和方法,直接使用System類調用即可。10、已知 sb 為 StringBuffer 的一個實例,且 sb.toString() 的值為 abcde , 則執行sb. reverse()后,sb.toString()的值為_。二、判斷題1、String對象和StringBuffer對象都是字符串變量,創建后都可以修改。2、用運算符“=”比較字符串對象時,如果兩個字符串的值相同,結果為true。3、System類中的currentTimeMillis()方法返回一個long類型的值。4、Date、Calend
23、ar以及DateFormat類都位于java.util包中。5、String類的方法 replace (CharSequence srt1, CharSequence srt2)返回一個新的字符串,它是通過用srt2替換此字符串中出現的所有 srt1得到的。三、選擇題。1、先閱讀下面的程序片段:String str = abccdefcdh; String arr = str.split(c); System.out.println(arr.length);程序執行后,打印的結果是幾? A、2個 B、 3個 C、4個 D、 5個2、以下都是Math類的常用方法,其中用于計算絕對值的方法是哪個?
24、A、ceil() B、 floor() C、 abs() D、random()3、Random對象能夠生成以下哪種類型的隨機數?A、int B、string C、double D、A和C 4、String s = abcdedcba;則s.substring(3,4)返回的字符串是以下選項中的哪個? A、cd B、de C、d D、e5、假若indexOf()方法未能找到所指定的子字符串,則返回以下選項中的哪個?A、 false B、 0 C、-1 D、以上答案都不對6、要產生20,999之間的隨機整數可以使用以下哪個表達式? A(int)(20+Math.random()*97)B. 20+
25、(int)(Math.random()*980)C. (int)Math.random()*999D. 20+(int)Math.random()*9807、以下Math類的方法中,-4.4通過哪個方法運算后,結果為-5.0?A. round() B. min() C. floor() D. ceil()8、下面的程序段執行后,輸出的結果是以下哪個選項? StringBuffer buf=new StringBuffer(Beijing2008); buf.insert(7,); System.out.println(buf.toString();A、Beijing2008 B、Beijing
26、2008 C、Beijing2008 D、Beijing#2008 9、閱讀下面的程序: publicclasstest publicstaticvoidmain(Stringargs) inti; floatf=2.3f;doubled=2.7; i=(int)Math.ceil(f)*(int)Math.round(d); System.out.println(i); 程序執行后,運行結果為以下哪個選項?A、9B、5C、6D、6.110、先閱讀下面的程序片段:String str1=new String(java); String str2=new String(java); String
27、Buffer str3=new StringBuffer(java);對于上述定義的變量,以下表達式的值為true的是哪個?A、str1=str2;B、str1.equals(str2);C、str1=str3;D、以上都不對四、程序分析題。閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請列出運行的結果。如果不能編譯通過,請說明原因。代碼一:public class A public static void main(String args) System.out.println(Math.abs(-5);System.out.println(Math.ceil(6.6);Syste
28、m.out.println(Math.floor(-7.8);System.out.println(Math.round(-4.9);System.out.println(Math.max(8.1, -8.1);System.out.println(Math.min(6.1, -6.1);代碼二:public class B public static void main(String args) String s = dfferghuklmbdfd; System.out.println(str.length(): + s.length(); System.out.println(str.c
29、harAt(0): + s.charAt(0); System.out.println(lastIndexOf(m): + s.lastIndexOf(m);System.out.println(substring(2,4): + s.substring(2, 4); System.out.println(indexOf(g): + s.indexOf(g);五、簡答題1、String和StringBuffer有什么區別?2、Date和Calender類有什么區別和聯系?六、編程題請按照題目的要求編寫程序并給出運行結果1、 編寫一個程序,實現字符串大小寫的轉換并倒序輸出,要求如下1)使用for循環將字符串“HelloWorld”從最后一個字符開始遍歷。2)遍歷的當前字符如果是大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年七年級語文下冊期末復習【古詩詞默寫題】訓練卷附答案
- 河北省鹽山市2025屆高三第三次模擬考試數學試卷附解析
- 福建省漳州高新技術產業開發區2024-2025學年高一下冊第二次質量檢測數學試卷附解析
- 碳減排技術商業化路徑研究-洞察闡釋
- 項目撤回可行性研究報告
- 身份認證安全漏洞修復基礎知識點歸納
- 石大學前兒童保育學課外必讀:6-1食品污染
- 基于生態修復技術的填埋場污染地下水治理方法
- 經濟與家庭結構變化對托育服務的影響
- 幼兒園師幼互動質量的調查與分析
- 氮氣安全知識培訓課件
- 學教評一致性教學設計的理念與操作
- 銀發經濟的發展路徑
- 康復骨折病例匯報
- 2024年安徽省初中學業水平考試生物試題含答案
- 《穴位敷貼技術》課件
- 人教版數學五年級上冊-42可能性的大小-教學課件
- 【MOOC】循證醫學-南通大學 中國大學慕課MOOC答案
- JGJ46-2024 建筑與市政工程施工現場臨時用電安全技術標準
- 國際私法-001-國開機考復習資料
- 《安全事故案例》課件
評論
0/150
提交評論