
Java基礎(chǔ)入門課后習(xí)題及答案
54頁博學(xué)谷——讓IT教學(xué)更簡單,讓IT學(xué)習(xí)更有效《Java基礎(chǔ)入門》課后習(xí)題第1章 Java開發(fā)入門一、填空題1、Java的三大體系分別是_JavaSE_____、_JavaEE_____、_JavaME_____2、Java程序的運行環(huán)境簡稱之為JRE_____3、編譯Java程序需要使用_javac_____命令4、javac.exe和java.exe兩個可執(zhí)行程序存放在JDK安裝目錄的bin______目錄下5、path______環(huán)境變量用來存儲Java的編譯和運行工具所在的路徑,而_classpath_____環(huán)境變量則用來保存保存Java虛擬機要運行的“.class”文件路徑二、選擇題 1、以下選項中,哪些屬于JDK工具?(多選)ABCDA、Java編譯器 B、Java運行工具 C、Java文檔生成工具 D、Java打包工具2、Java屬于以下哪種語言?CA、機器語言 B、 匯編語言 C、高級語言 D、以上都不對3、下面哪種類型的文件可以在Java虛擬機中運行?DA、.java B、.jre C、.exe D、.class4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件,其中java.exe命令的作用是以下哪一種??BA、Java文檔制作工具 B、Java解釋器?? C、Java編譯器??????D、Java啟動器?5、如果jdk的安裝路徑為:d:\jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接使用javac和java命令,需要將環(huán)境變量path設(shè)置為以下哪個選項?BA.d:\jdk;????????B.d?:\jdk\bin;????C.d:\jre\bin;???????D.d:\jre;三、問答題1、簡述Java的特點。
面向?qū)ο蟆⒖缙脚_性、健壯性、安全性、可移植性、多線程性、動態(tài)性等2、簡述JRE與JDK的區(qū)別 JRE(Java Runtime Environment,Java運行時環(huán)境),它相當(dāng)于操作系統(tǒng)部分,提供了Java程序運行時所需要的基本條件和許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等JRE是提供給普通用戶使用的,如果你只想運行別人開發(fā)好的Java程序,那么,你的計算機上必須且只需安裝JRE JDK(Java Development Kit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,是提供給Java開發(fā)人員使用的初學(xué)者學(xué)習(xí)和使用Java語言時,首先必須下載和安裝JDKJDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了 JDK(Java Development Kit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,是提供給Java開發(fā)人員使用的初學(xué)者學(xué)習(xí)和使用Java語言時,首先必須下載和安裝JDKJDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。
四、編程題使用記事本編寫一個HelloWorld程序,在dos命令行窗口編譯運行請按照題目的要求編寫程序并給出運行結(jié)果public class HelloWorld { public static void main(String[] args) { System.out.println("這是第一個Java程序!"); }}第2章 Java編程基礎(chǔ)一、填空題1、Java中的程序代碼都必須在一個類中定義,類使用__class____關(guān)鍵字來定義2、布爾常量即布爾類型的兩個值,分別是_true_____和_flase_____3、Java中的注釋可分為三種類型,分別是_單行注釋//__、__多行注釋_/* */__、文檔/注釋** */______4、Java中的變量可分為兩種數(shù)據(jù)類型,分別是_基本數(shù)據(jù)類型_____和_引用數(shù)據(jù)類型_____5、在Java中,byte類型數(shù)據(jù)占____1__個字節(jié),short類型數(shù)據(jù)占__2____個字節(jié),int類型數(shù)據(jù)占___4___個字節(jié),long類型數(shù)據(jù)占____8__個字節(jié)6、在邏輯運算符中,運算符___&___和___&&___用于表示邏輯與,__|____和__||____表示邏輯或。
7、若x = 2,則表達式 ( x + + )/3 的值是__0___8、若int a =2; a+=3;執(zhí)行后,變量a的值為__5____9、若int []a={12,45,34,46,23}; ,則a[2]= __34____10、若int a[3][2]={{123,345},{34,56},{34,56}},則a[2][1]= __56____二、判斷題1、Java語言不區(qū)分大小寫錯2、0xC5表示的是一個十六進制整數(shù)對3、continue 語句只用于循環(huán)語句中,它的作用是跳出循環(huán)錯4、“/*…*/”中可以嵌套“//”注釋,但不能嵌套“/*…*/”注釋對5、-5%3的運算結(jié)果是2錯三、選擇題1、以下選項中,哪些屬于合法的標(biāo)識符?(多選)ADA、Hello_World B、class C、123username D、username1232、關(guān)于方法重載的描述,以下選項中哪些是正確的?(多選)(AD)ABD A、方法名必須一致 B、返回值類型必須不同 C、參數(shù)個數(shù)必須一致 D、參數(shù)的個數(shù)或類型不一致3、以下關(guān)于變量的說法錯誤的是? CA、變量名必須是一個有效的標(biāo)識符B、變量在定義時可以沒有初始值C、變量一旦被定義,在程序中的任何位置都可以被訪問D、在程序中,可以將一個byte類型的值賦給一個int類型的變量,不需要特殊聲明4、以下選項中,switch語句判斷條件可以接收的數(shù)據(jù)類型有哪些? (多選) ABCDA、int B、byte C、char D、short 5、假設(shè)int x = 2,三元表達式 x>0?x+1:5 的運行結(jié)果是以下哪一個? C A、0 B、2 C、3 D、56、下面的運算符中,用于執(zhí)行除法運算是哪個? AA、/ B、\ C、% D、*7、下列語句哪些屬于循環(huán)語句?(多選) AC A、for語句 B、if語句 C、while語句 D、switch語句8、下面哪種寫法可以實現(xiàn)訪問數(shù)組arr的第1個元素?A A、arr[0] B、arr(0) C、arr[1] D、arr(1)9、以下哪個選項可以正確創(chuàng)建一個長度為3的二維數(shù)組?(B)CA、 new int [2][3]; B、 new int[3][];C、 new int[][3]; D、 以上答案皆不對10、請先閱讀下面的代碼。
int x = 1;int y = 2;if (x % 2 == 0) { y++;} else { y--;}System.out.println("y=" + y); 上面一段程序運行結(jié)束時,變量y的值為下列哪一項?AA、1 B、2 C、3 D、switch語句四、程序分析題閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運行的結(jié)果否則請說明編譯失敗的原因代碼一:b=7(編譯不通過int值4和b相加時,由于變量b的類型為byte,取值范圍沒有int類型大,存不下int類型的值,因此編譯不通過)public class Test01 { public static void main(String[] args) { byte b = 3; b = b + 4; System.out.println("b=" + b); }}代碼二:不能,y只在{}有效(編譯不通過這是因為y是在最里層的代碼塊中定義的一個變量,只有在那個代碼)public class Test02 { public static void main(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); }}代碼三:3 因為沒有break,,所以4以后都執(zhí)行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.println(j); }}代碼四:987public class Test04 { public static void main(String args[]) { int n = 9; while (n > 6) { System.out.println(n); n--; } }}五、簡答題1、請列舉Java語言中的八種基本數(shù)據(jù)類型,并說明每種數(shù)據(jù)類型所占用的空間大小。
Java語言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個字節(jié)short短整型,占兩個字節(jié)int整型,占4個字節(jié)long長整型,占8個字節(jié)float單精度浮點型,占4個字節(jié)double雙精度浮點型,占8個字節(jié)char字符型,占兩個字節(jié)boolean型,表示邏輯值,有true和false兩個值,分別占一個字節(jié)2、 簡述&&與&的區(qū)別并舉例說明如果使用“&”在表達式之間進行連接,那么無論任何情況,“&”兩邊的表達式都會參與計算如果使用“&&”進行連接,當(dāng)“&&”左邊的表達式為false,則不會執(zhí)行其右邊的表達式例如定義int x = 2,y = 0; boolean b = x < y & x / 2 > 0表達是會發(fā)生被0除異常,因為x / y的表達式執(zhí)行了而boolean b = x < y & x / 2 > 0是不會出現(xiàn)這種異常的,因為x < y為false,表達式x / y不會執(zhí)行3、 什么是方法重載?方法重載指的是在一個類中可以聲明多個同名的方法,而方法中參數(shù)的個數(shù)或者數(shù)據(jù)類型不一致調(diào)用這些同名的方法時,JVM會根據(jù)實際參數(shù)的不同綁定到不同的方法六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。
1、請編寫程序,實現(xiàn)計算“1+3+5+7+…+99”的值 提示:1) 使用循環(huán)語句實現(xiàn)自然數(shù)1~99的遍歷2) 在遍歷過程中,通過條件判斷當(dāng)前遍歷的數(shù)是否為奇數(shù),如果是就累加,否則不加2、已知函數(shù) x + 3。
