20165228 2017-2018-2 《Java程序設計》第1周學習總結
教材學習內容總結
- JAVA程序的組成:多個書寫獨立的類組成,class後爲類名,類名後的{ }裏爲類體
- JAVA語言的特色:面向對象;平臺無關;動態;安全;穩定;多線程
- JAV語言的最大優點:編寫的軟件能在執行碼上兼容
- 運行JAVA編寫的軟件要求平臺提供JAVA運行環境
- 編寫規則:
代碼裏不能有中文符號
獨行風格:其中「{」在一行的末尾,「}」在獨立的一行。類體前縮進3-4個字符
源文件名: 「源代碼中某個類名」.java 好比Hello.java
規則:若是源文件代碼裏有public class公共類(源文件裏至多一個PUBLIC類),則文件名只能取爲 公共類名.java
Java虛擬機首先執行類中的main方法
保存類型:全部文件
編碼:ANSI(其餘編碼編譯器沒法識別)
- 編譯源文件:將源文件轉化爲字節碼文件(字節碼不能被任何平臺直接識別、執行)
cmd命令行:
cd 回到當前所在盤的根目錄
>cd 1000: 進入當前目錄下的1000文件夾下
cd.. :表示回退到上一目錄
編譯命令:
javac + 源文件名.java
- 運行程序
判斷主類:類體中的main前面有 public static void main(String args[])
注意:主類與類名前是否有public無關,可以開始運行的類即爲主類
運行命令:
java + 類名(必須把目錄定位在類的文件夾下)
反編譯:將編譯器獲得的字節碼文件還原爲源文件,不能編譯出方法的內容,能編譯出方法的類名
命令:html
javap + 字節碼文件名.class
反反編譯:能給源代碼加密java
教材學習中的問題和解決過程
- 問題1:有不少次在運行*.class類程序時,而後提示找不到主類
- 問題1解決方案:每次使用java運行命令時,定位路徑到class文件的目錄下。
- 問題2:對於源代碼中含有包時,如何處理?
- 問題2解決方案:
javac -d. Hello.java
java 包名.文件名
或者git
package 包名:
mkdir 包名
mv Hello.class 包名
java 包名.Hello
-問題3:學習git過程當中我遇到了不少困難找不到命令或者解決方法
-問題3解決方案:我參考了經常使用 Git 命令清單以及碼雲平臺git相關幫助文檔
-問題4:使用git推代碼的時候老是出錯,我嘗試重建倉庫後顯示branch類的問題
問題4解決方案:
嘗試過編程
git push origin master
git push -f origin master
強推也失敗,最後經過克隆的方式解決問題。數組
代碼調試中的問題和解決過程
- 問題1:爲何例1源文件名是Hello而不是Student?
- 問題1解決方案:當類中有Public類時,源文件名必須起爲「Public類名.java」
- 問題2:一個Java源文件編譯獲得的多個class類文件是否都能運行?
- 問題2解決方案:只有主類才能夠運行,不然不可運行。
- 問題3:在敲print內容中含有漢字時會發現偶爾會編譯失敗
- 問題3解決方法:我花了不少時間進行代碼比對,發現代碼中含有中文符號。在敲完漢字時馬上切換爲英文符號,javac沒法識別中文符號。
- 問題4: 使用Vi編輯的時候將漢字改爲英文就能成功編譯,改回漢字就會提示編碼 GBK 的不可映射字符
問題4解決辦法:還未解決安全
第一週測試錯題總結
有關第一週測試的一些知識點,我在前面已經總計了一部分
如下是錯題:
- 下列說法錯誤的是 B
A . 字節碼不能被任何平臺直接識別、執行。
B . C/C++源程序所產生的可執行文件在全部平臺上都能被執行。
C . Java語言和其餘語言相比,最大的優點就是編寫的軟件能在執行碼上兼容。
D . 不管哪一種編程語言編寫的應用程序,都須要通過操做系統和處理器完成程序的運行。
解析:不能保證C/C++源程序所產生的可執行文件在全部平臺上都能被執行,由於不一樣平臺可能具備不一樣的機器指令
- ava編譯器和Java解釋器位於src中,所以編輯系統變量時,爲Path添加的新值是「E:\JDK1.8\src」。
A . true
B . false
解析:位於bin中。
- 下列關於Java程序開發步驟的描述,正確的是
A . 課本P9的程序Hello.java,若將第三行System.out.println(「你們好!」);改成System.out.print(「你們好!」);,運行結果不變。
B . 使用命令提示符編譯源文件時,能夠用「-source」參數指定版本。
C . 編譯產生Hello.class文件,運行時可以使用「java Hello.class」命令。
D . 運行時,java命令後是該java源文件的名字(不包括擴展名)。
E . 反編譯是把編譯器獲得的字節碼文件還原爲源文件。
A項:考察println()和print()的區別。println爲換行輸出。C項:P12:在運行程序時,不能夠帶有擴展名。D項:P13:java命令後必須是主類的名字(不包括擴展名)。
public static void main (String args[ ])中的「main」和「args」都不可隨意修改。
A . true
B . false
解析:args爲數組名稱,可任意指定。多線程
其餘(感悟、思考等,可選)
感悟:經過本週的學習,對Java語句的組成和程序的編譯運行等方面有了一些初步的認識。在全部學習中,課本和教學視頻提供給了我預習的機會,結合婁老師在課堂上的演示,對於不少操做都能十分明瞭。而後在課後的敲代碼中鞏固了所學的知識,尤爲是在初學的時期,提供的幫助十分明顯。因此我計劃天天或者兩天按期敲代碼來學習Java。編程語言
學習進度條
目標 |
5000行 |
25篇 |
400小時 |
|
第一週 |
235/235 |
1/1 |
15/15 |