作業01-Java基本概念
1.本周學習總結
1.本周學習內容:Java發展史(簡述)、Java語言特點、JDK 、JRE 、JVM 、Java的開發步驟、Java開發工具。
2.關鍵概念之間的聯系:Java語言是一種面向對象的程序設計語言,Java語言的語法簡單並且它是一種跨平台的程序設計語言,在Java中編寫的程序可以在不同的設備和平台上運行。在學習Java之前,我們必須要先搭建Java的開發環境,即要安裝JDK,JDK是Java語言的開發工具包,其包含了Java運行環境JRE等,而JRE又包含了Java虛擬機JVM。安裝完JDK還需配置其環境變量。另外,除了eclipse,Java程序還可以用記事本或notepad++來編寫。
2.書面作業
1.虛擬機
1.1 執行java程序的步驟是什么?為什么java程序可以跨平台運行?
1.使用命令行執行Java程序步驟:
①.在記事本中寫好Java源程序
②.保存為.java類型
③.使用WIN+R打開命令行窗口
④.輸入cd加上剛剛保存的Java程序的路徑
⑤.輸入javac 加上文件名將其轉換為字節碼文件
⑥.輸入java加上文件名編譯java程序(此時不用加后綴名)
2.使用eclipse執行Java程序步驟:
①.搭建Java開發環境並配置環境變量,安裝eclipse(只需第一次)
②.點擊File——New——Java Project新建Java工程
③.右擊scr文件夾選擇New——Class
④.輸入類名與包名
⑤.編寫代碼
⑥.運行程序
1.2 什么是jdk?jdk, jre, jvm的聯系是什么?
JDK是Java語言的軟件開發工具包,JDK包括了JRE(Java運行環境)Java的類庫以及Java工具,JRE包括了JVM(Java虛擬機)以及Java核心類庫。JVM是Java實現跨平台的核心,能夠運行Java程序。
2.java與javac
2.1 java HelloWorld命令中,這條命令的含義是什么?HelloWorld這個參數指的是什么?
java HelloWorld命令是用於編譯Java程序,HelloWorld是指類名,即HelloWorld.class。
2.2 Path變量有什么用?
Path變量是用於在使用javac將java源代碼編譯為.class文件時搜索指定的路徑,在該路徑中查看能否找到相應的命令程序。
2.3 使用java編寫程序並運行與使用c語言編寫程序並運行的步驟和生成的中間文件、目標文件有什么不同?
Java語言:先是生成.java文件,后來編譯生成.class文件。.
C語言:先是生成.cpp文件,隨后是.o文件,最后是.exe文件。
3.實驗總結
3.1 PTA中怎么處理輸入?怎么進行格式化輸出?
1.Java中的輸入需要先導入Scanner類,方法為import java.util.Scanner
。然后要生成Scanner對象,即輸入Scanner sc = new Scanner(System.in);
接着根據不同的輸入對象選擇不同的方法,若要輸入字符串型則使用sc.next()
;若要輸入int型則使用sc.nextInt()
;若要輸入double型則使用sc.nextDouble()
;若要輸入Boolean型則使用sc.Boolean()
;
2.格式化的輸出以‘%’開頭,然后根據需要進行替換。對於一些轉換符如下所示,可使用System.out.println
進行輸出。
3.2 5-2(取數字)實驗總結。
取數字主要用到的還是Java包裝類中的Integer類來進行字符串與數字間的轉換。其中toBinaryString()
、toHexString()
和toOctalString()
方法可分別將值轉換成二進制、十六進制和八進制字符串。在將數字單獨抽取出來時用了數組的方法,之前想過用String類的chatAt()來實現,但是后來發現要將數字進行多次轉換,覺得挺麻煩的,就改用了數組。對於負數還有先用abs函數將其轉換為正數,然后再進行操作。
3.3 5-3(取數字浮點數)實驗總結。
取數字浮點數先用了abs函數將其轉換為正數再進行操作,本來原先的想法是想用int的強制轉換來得到數字的整數部分,再將原先的浮點數減去整數得到小數部分的值,但是,在寫完代碼后發現,這種方法並不能成功,因為其中發生了精度的丟失,至於原因,在此引用一段我查閱的資料中的話來解釋:
我們知道,計算機並不能識別除了二進制數據以外的任何數據。無論我們使用何種編程語言,在何種編譯環境下工作,都要先 把源程序翻譯成二進制的機器碼后才能被計算機識別。以上面提到的情況為例,我們源程序里的2.4是十進制的,計算機不能直接識別,要先編譯成二進制。但問 題來了,2.4的二進制表示並非是精確的2.4,反而最為接近的二進制表示是2.3999999999999999。原因在於浮點數由兩部分組成:指數和尾數,這點如果知道怎樣進行浮點數的二進制與十進制轉換,應該是不難理解的。如果在這個轉換的過程中,浮點數參與了計算,那么轉換的過程就會變得不可預 知,並且變得不可逆。我們有理由相信,就是在這個過程中,發生了精度的丟失。
后來選擇使用String類中的toCharArray()方法將其轉換為字符數組,然后還是用到了Integer類進行字符與數字的轉換,然后再通過遍歷數組進行相加得到結果。
3.4 選做:5-4(開根號), 5-5(二進制的前導的零)
1.5-4(開根號)實驗總結
這題的題目要求使用逐步逼近法對給定數值x求開根號。因此就不能用sqrt函數來實現。應使用pow函數來通過對步長進行平方運算來判斷該數字是否為數值x的開根號的數值。每次算完一個數字的開根號值是要記得對步長進行清零。
2.5-5(二進制的前導的零)實驗總結
這題步驟並不難,只需要不斷將數值進行除二計算來獲得二進制的位數,再用32減去其位數並進行輸出即可,但是要注意的是,負數的第一位數為1,因此,負數的前導的零都為0。
4.Java主要應用在那幾個方面?你對自己在這門課的目標與期許是什么?
第一、“企業級應用”:簡單地說,就是大規模的應用,一般使用人數較多,數據量較大,對系統的穩定性、安全性、可擴展性和可裝配性等都有比較高的要求。
第二、桌面級應用:尤其是需要跨平台的桌面級應用程序。再就是java ME的手機游戲開發,現在這也是熱門。
第三、嵌入式設備及消費類電子產品
內容 | 計划 |
---|---|
一周花費時間 | 15小時以上 |
一學期代碼量 | 7000行+吧,一周大概400行 |
學習方式 | 在理解老師上課講的內容的情況下先完成老師布置作業,再去了解學習關於Java的其他的內容 |
處理問題 | 主要靠上網查找資料,盡量自己解決 |
3.使用碼雲管理Java代碼
3.1 GIT使用
3.2 截圖題集“Java基本語法”PTA提交列表
3.3 使用學姐、學長開發的jar程序統計每周的代碼量
周次 | 總代碼量 | 新增代碼量 | 總文件數 | 新增文件數 |
---|---|---|---|---|
1 | 241 | 241 | 36 | 36 |