20165228 2017-2018-2 《Java程序設計》第1周學習總結

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
相關文章
相關標籤/搜索