版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論思考與練習(xí)1.2Java的特點(diǎn)與優(yōu)勢(shì)Java程序的跨平臺(tái)特性主要體現(xiàn)在哪里?為什么Java程序可以跨平臺(tái)運(yùn)行?答:Java程序的跨平臺(tái)主要體現(xiàn)在兩個(gè)方面:1)Java程序會(huì)被編譯成平臺(tái)中立的字節(jié)碼(.class)文件,它可以在任何安裝了相應(yīng)版本Java虛擬機(jī)(JVM)的平臺(tái)上運(yùn)行;2)Java語(yǔ)言規(guī)范(JavaLanguageSpecification)定義了Java編程語(yǔ)言的標(biāo)準(zhǔn),確保了Java代碼在不同的JVM實(shí)現(xiàn)上有一致的行為。因?yàn)镴ava擁有JVM,其可以運(yùn)行結(jié)構(gòu)中立的字節(jié)碼文件。不同的操作系統(tǒng)(平臺(tái))只要安裝了相應(yīng)版本的JVM就可以運(yùn)行這個(gè)字節(jié)碼文件。通過(guò)搜索引擎查詢資料回答:GraalVM可以運(yùn)行Java程序嗎?除了Java程序還能運(yùn)行什么程序?HotSpotVM只能運(yùn)行Java編寫的該程序嗎?答:可以。如JavaScript、Python等。HotSpotVM主要用于運(yùn)行Java程序,但也可以運(yùn)行其他語(yǔ)言編寫的程序,只要它們能被編譯成Java字節(jié)碼。如,Clojure、Scala、Kotlin、Groovy。1.3第一個(gè)Java程序以HelloWorld程序?yàn)槔?,說(shuō)明一下這個(gè)Java程序中的面向?qū)ο筇卣?。答:面向?qū)ο笠粋€(gè)重要的特征就是類、對(duì)象與方法。publicclassHelloWorld定義了類HelloWorld,而System.out.println則是使用了形如“對(duì)象.方法”形式來(lái)調(diào)用方法,System.out是對(duì)象,println則是System.out對(duì)象中的方法。查詢JDK文檔,查看System.out.print、System.out.println與System.out.printf這三個(gè)方法有何區(qū)別?答:print打印輸出不換行,println打印輸出換行,printf格式化輸出。分別在代碼1-1第3行與第4行下方,輸入System.out.printf("%20s%n","*****");。查詢資料,推測(cè)可能出現(xiàn)的輸出。答:Thisismyfirst*****Javaprogram.*****HelloWorld!System.out的print與println只能輸出用""包裹起來(lái)的字符串嗎?修改代碼,嘗試輸出非字符串類型數(shù)據(jù)。如,print(3.14),print(1e10),print(True)。答:可以輸出所有Java所有的數(shù)據(jù)類型,包括對(duì)象。將代碼1-1中的HelloWorld類名改成helloworld能運(yùn)行嗎?答:不能。因?yàn)槁暶鳛閜ublic的類名應(yīng)與文件名相同(包括大小寫)。進(jìn)階:以HelloWorld.class為例,如何驗(yàn)證該字節(jié)碼文件實(shí)可以跨平臺(tái)運(yùn)行的?答:可在Windows平臺(tái)的編譯HelloWorld.java,生成.class文件。然后在一臺(tái)安裝了MacOS或Linux上的電腦或虛擬機(jī)上,安裝相應(yīng)版本的Java,嘗試運(yùn)行該.class文件。1.4Java程序開發(fā)步驟你的電腦上JDK安裝目錄是哪個(gè)?你的javac、java命令在哪個(gè)目錄路徑?答:如果是在windows系統(tǒng)電腦,可通過(guò)命令wherejavac.exe來(lái)查看安裝目錄。一般來(lái)說(shuō)是在java安裝目錄下的bin目錄中。使用普通的文本編輯器(如,記事本)編寫HelloWorld.java,并在命令行下編譯并運(yùn)行。答:注意javacHelloWorld.javajavaHelloWorld為什么使用javaHelloWorld而不是javaHelloWorld.class來(lái)執(zhí)行HelloWorld程序?答:javaHelloWorld命令中HelloWorld指的是類名。java命令會(huì)自動(dòng)查找并執(zhí)行與指定類名對(duì)應(yīng)的.class文件。1.5.3編譯與運(yùn)行帶命令行參數(shù)的Java程序?yàn)槭裁瓷a(chǎn)環(huán)境下應(yīng)優(yōu)先選擇Java8、11、17這幾個(gè)版本?答:因?yàn)樯a(chǎn)環(huán)境要求所選擇的Java環(huán)境要穩(wěn)定可靠。而Java8、11、17、21是Java的長(zhǎng)期支持(LTS,Long-TermSupport)版本。通過(guò)搜索引擎搜索“adoptium、清華大學(xué)、JDK”等關(guān)鍵字下載、安裝JDK。同一版本的Java(如Java11),可以有多個(gè)JDK實(shí)現(xiàn)(如OracleJDK、AdoptOpenJDK)。那么在一個(gè)JDK下編譯出的HelloWorld字節(jié)碼文件,能在另外一個(gè)JDK上運(yùn)行嗎?答:理論上是可行的。Java字節(jié)碼設(shè)計(jì)的目的就是為了實(shí)現(xiàn)“一次編寫,到處運(yùn)行”的理念,這意味著只要目標(biāo)JDK與編譯時(shí)的JDK兼容,字節(jié)碼就應(yīng)該能夠在其上運(yùn)行1.5.4Eclipse集成開發(fā)環(huán)境在Eclipse等IDE下開發(fā)Java程序,需要使用javac與java命令嗎?答:無(wú)需手動(dòng)執(zhí)行javac與java命令。IDE會(huì)自動(dòng)幫忙執(zhí)行。在IDE下成功創(chuàng)建第一個(gè)Java項(xiàng)目、第一個(gè)Java程序,并運(yùn)行。找到你所創(chuàng)建的Java項(xiàng)目所在目錄。找到項(xiàng)目生成的.class文件在哪里。答:Eclipse:右鍵點(diǎn)擊項(xiàng)目-Properties-Resource頁(yè),查看Location屬性。IDEA:項(xiàng)目上直接看到?;蛘叽蜷_ProjectStructure-Modules查看,其中的out目錄就包含相應(yīng)的.class文件。嘗試使用IDE的快捷鍵等功能快速創(chuàng)建HelloWorld程序、快速保存文件、運(yùn)行程序、補(bǔ)全代碼等。在IDE中嘗試在HelloWorld.java或AdderWithArgs.java故意制造一些錯(cuò)誤(比如,刪除;,或者將Integer寫成integer),然后在IDE中主編輯器行號(hào)左側(cè)查看錯(cuò)誤原因,在常用視圖區(qū)的Problems視圖中查看錯(cuò)誤的原因及錯(cuò)誤所在行數(shù)。在IDE中成功運(yùn)行程序1-2的AdderWithArgs.java。查詢資料,嘗試在IDE將參數(shù)傳遞給該程序。提示:Eclipse中找到RunConfigurations,然后找到Arguments進(jìn)行設(shè)置。答:在IDEA中可以點(diǎn)擊ModifyRunConfiguratrions添加運(yùn)行參數(shù)。查詢JDK文檔或者直接在IDE中查看AdderWithArgs.java中的Integer.parseInt方法的功能(鼠標(biāo)直接移到parseInt方法之上后查看)。說(shuō)一說(shuō)該方法功能是什么?1.5.5IntelliJIDEA集成開發(fā)環(huán)境在IDEA中雙擊Shift鍵:輸入font,嘗試找到改變IDE字體的選項(xiàng);輸入theme,嘗試改變IDE的;點(diǎn)擊Classes,輸入String,嘗試找到String類的源代碼;點(diǎn)擊Files,輸入項(xiàng)目中的某個(gè)文件名,打開該文件。在IDEA中新建一個(gè)test的Project,在該P(yáng)roject下新建一個(gè)t1module;在此module的src下創(chuàng)建一個(gè)Hello類并運(yùn)行。判斷與選擇題×Java主要用來(lái)開發(fā)桌面應(yīng)用程序?!蘆ava從1.2版本開始改名為Java2?!脸鯇W(xué)者開始學(xué)習(xí)Java一般從JavaEE開始學(xué)習(xí)?!潦褂肑RE可以開發(fā)與運(yùn)行Java程序?!蘆DK安裝后一般需要配置環(huán)境變量才能在命令行下運(yùn)行javac與java命令?!量梢允褂胘avaHelloWorld.class來(lái)運(yùn)行Java程序?!猎贗DE中編寫Java源代碼文件時(shí)可以直接運(yùn)行不用編譯。答案:DBACBCBD1.編譯Java源程序文件后將產(chǎn)生相應(yīng)的可執(zhí)行字節(jié)碼文件,這些文件的擴(kuò)展名為。()A.exeB.javaC.txtD.class2.加載并運(yùn)行Java字節(jié)碼文件的命令是()A.javacB.javaC.jarD.javadoc3.一個(gè)合法的Java源程序中定義了4個(gè)類,其中屬性為public的類可能有()個(gè)A.1B.2C.3D.44.Java程序的運(yùn)行機(jī)制是什么?()A.編譯型B.解釋性C.半編譯半解釋型D.編譯和解釋型解釋:Java程序需要先編譯,然后由JVM載入并進(jìn)行解釋執(zhí)行。所以可以稱之為半編譯、半解釋型。5.下面哪種不是Java語(yǔ)言的注釋寫法?()A.//B.--C./**....*/D./*...*/6.在Java類的定義中,程序執(zhí)行入口聲明如下,哪一個(gè)是正確的程序代碼?()A.publicstaticvoidmain(Stringargs){}B.publicstaticmain(String[]args){}C.publicstaticvoidmain(String[]args){}D.staticvoidmain(String[]args){}7.下面關(guān)于Java程序編寫描述正確的一項(xiàng)是?()A.Java程序直接利用javac.exe命令就可以直接運(yùn)行程序B.一個(gè)Java文件中可以定義有多個(gè)類。C.一個(gè)Java文件可以使用publicclass定義多個(gè)程序類D.Java源代碼文件的后綴必須使用.class8.一個(gè)計(jì)算機(jī)上安裝JDK后,該計(jì)算機(jī)不包含的是()。A.JREB.JVMC.java、javac命令D.Eclipse簡(jiǎn)答題使用Java能編寫哪些類型的程序?試舉至少兩個(gè)例子。答:服務(wù)器端企業(yè)應(yīng)用:各大企業(yè)的網(wǎng)站后臺(tái)服務(wù)器安卓手機(jī)原生APP:大部分安卓手機(jī)的appPC上的桌面軟件:Eclipse、IDEA、Minecraft、Neo4j。Java號(hào)稱“一次編寫、處處運(yùn)行”,怎么理解這句話?為使編譯好的Java程序能運(yùn)行,需先在操作系統(tǒng)安裝什么?為了編寫Java程序又應(yīng)該現(xiàn)在操作系統(tǒng)上安裝什么?答:源代碼編寫好以后,只要編譯一次生成體系結(jié)構(gòu)中立的字節(jié)碼文件,該字節(jié)碼文件可以運(yùn)行于安裝了正確版本的Java的各個(gè)操作系統(tǒng)。需安裝JRE或者JDK。如果為了編寫Java程序,必須安裝JDK。將c版本與Java版本HelloWorld代碼進(jìn)行對(duì)比,有何不同?答:C語(yǔ)言是面向過(guò)程語(yǔ)言,編程的關(guān)注點(diǎn)放在編寫函數(shù)、調(diào)用函數(shù),如main、printf方法。Java是面向?qū)ο笳Z(yǔ)言,編程關(guān)注點(diǎn)放在類與對(duì)象的編寫與使用。Java語(yǔ)言版本的HelloWorld定義了HelloWorld類、使用了System類、System類中的out的對(duì)象。并且在Java中總是應(yīng)定義在類中,比如main方法定義在HelloWorld類中。而使用方法總是通過(guò)“類名.方法名”或“對(duì)象變量.方法名”的方式調(diào)用。C中方法可以獨(dú)立存在。C語(yǔ)言版本#include<stdio.h>intmain(){
printf("Hello,World!\n");
return0;}Java語(yǔ)言版本publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hello,World!");
}}編程題1.改寫代碼1-2的AdderWithArgs.java,運(yùn)行后提示用戶輸入兩個(gè)整數(shù)(以空格分隔),然后將輸入的兩個(gè)整數(shù)形式的字符串轉(zhuǎn)換成整數(shù)(int)進(jìn)行加、減、乘、除運(yùn)算,最后分別輸出。提示:可使用Scanner的next()方法或nextInt()方法。答:importjava.util.Scanner;publicclassMain{ publicstaticvoidmain(String[]args){ System.out.println("請(qǐng)輸入兩個(gè)整數(shù)(以空格分開)"); Scannersc=newScanner(System.in); intx=sc.nextInt(); inty=sc.nextInt(); System.out.println("x+y="+(x+y)); System.out.println("x-y="+(x-y)); System.out.println("x*y="+(x*y)); System.out.println("x/y="+(x*1.0/y)); sc.close(); /*也可使用如下代碼實(shí)現(xiàn) Stringa=sc.next(); Stringb=sc.next(); intax=Integer.parseInt(a); intby=Integer.parseInt(b); System.out.println("ax+by="+(ax+by)); */ }}查詢文檔,查找Double類的parse開頭的方法,將上面的程序改造成能處理兩個(gè)帶小數(shù)的字符串。提示:亦可直接使用Scanner在的nextDouble()方法。答:importjava.util.Scanner;publicclassMain{ publicstaticvoidmain(String[]args){ System.out.println("請(qǐng)輸入兩個(gè)整數(shù)(以空格分開)"); Scannersc=newScanner(System.in); doublex=sc.nextDouble();//Double.parseDouble(sc.next()); doubley=sc.nextDouble();//Double.parseDouble(sc.next()); System.out.println("x+y="+(x+y)); System.out.println("x-y="+(x-y)); System.out.println("x*y="+(x*y)); System.out.println("x/y="+(x/y)); sc.close(); }}仿照?qǐng)D1.24中為上題代碼進(jìn)行注釋。要包含單行注釋、多行注釋與JavaDoc注釋。答:建議在IDE中使用/**來(lái)為類、方法生成相應(yīng)的符合規(guī)范的注釋。importjava.util.Scanner;/***Main類主要用來(lái)演示如何使用Scanner從控制臺(tái)獲取輸入。**@author鄭老師**/publicclassMain{ /**
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空事故法律責(zé)任研究-洞察及研究
- 股權(quán)回購(gòu)協(xié)議合同模板范文
- 幼兒園師德建設(shè)自查報(bào)告模板2021
- 制造企業(yè)設(shè)備采購(gòu)評(píng)估報(bào)告范例
- 品牌授權(quán)合同風(fēng)險(xiǎn)防范指南
- 初中物理實(shí)驗(yàn)問(wèn)卷及數(shù)據(jù)分析報(bào)告
- 我國(guó)文旅行業(yè)分析報(bào)告
- 指紋行業(yè)深度分析報(bào)告
- 洗滌行業(yè)分析數(shù)據(jù)報(bào)告
- 游戲行業(yè)層面分析報(bào)告
- 社會(huì)能力訓(xùn)練教程
- 廣東省廣州市番禺區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期語(yǔ)文期末考試試卷(含答案)
- 2025年河南高二政治題庫(kù)及答案
- 創(chuàng)新激勵(lì)機(jī)制
- 產(chǎn)品成熟度評(píng)估標(biāo)準(zhǔn)文檔
- 2025年浙江衢州龍游經(jīng)濟(jì)開發(fā)區(qū)下屬國(guó)資公司公開招聘普通崗位合同制員工11人筆試考試參考題庫(kù)附答案解析
- 城市給水管線工程初步設(shè)計(jì)
- 考研咨詢師員工培訓(xùn)方案
- 人工智能+跨學(xué)科人才培養(yǎng)模式創(chuàng)新分析報(bào)告
- 職業(yè)教育專業(yè)布局體系清單
- 地震面試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論