20165214 第二週學習任務

20165214 2017-2018-2 《Java程序設計》第二週學習總結

教材學習內容總結

  • 第二章:基本數據類型與數組
    • 標識符的定義以及定義標識符時所要注意的一些事項。
    • Java裏的基本數據類型的一些基本參數:
      html

    • 數據類型轉換時,格式爲(類型名)要轉換的值,級別低的變量賦給級別高的變量時,系統會自動完成類型轉換。可是級別高的變量要賦給級別低的變量,必須用類型轉換運算。
    • 輸入數據:使用Scanner建立一個對象,好比Scanner reader=new Scanner(System.in)建立了一個reader對象,而後使用int m =reader.nextInt()來讀取鍵盤輸入的整數型變量,賦值給m。而後就能夠根據具體的要求對輸入的數進行相應的操做了。
    • 輸出數據:本章介紹了3種輸出的方式
      • System.out.println(),可輸出串值、表達式的值,輸出後換行。
      • System.out.print(),同第一種方式,區別是這種方式輸出後不換行。
      • System.out.printf(),跟C語言的printf函數輸出數據的方式相似。
    • 數組的相關知識點
      • 我把數組的造成分紅3步:
        • ①聲明數組:數組類型 數組名 [](還有數組類型 [] 數組名等方式);
        • ②分配變:數組名 = new 數組類型[n]n是正整數,指的是數組的元素個數);
        • ③初始化:數組名 = {1,2,3,4....,n}
      • 需注意,上述的步驟中,能夠①②同時進行:數組類型 數組名 []=new 數組類型[n];也能夠①②③同時進行:數組類型 數組名[]={1,2,3,4,...n}
      • 使用數組名.length語句能夠獲得數組的長度。
      • 數組名的值等於該數組的引用(除char型數組)。
      • 若是兩個相同類型的數組具備相同的引用,那麼他們就有徹底相同的元素(我的感受這跟C語言中數組的地址有些類似)。
      • 另外,我發現了Java一個很方便的地方,就是程序裏for語句的第一個分號前面的變量能夠隨時定義隨時使用,好比教材P29裏面的程序,i,j都是這樣的。
  • 第三章:運算符、表達式和語句
    • java裏面的運算符和表達式和C語言裏面的幾乎相同,因此比較容易就能理解它們。要注意的是位運算符和邏輯運算符的區別,前者是先計算完變量的值後再給出運算的結果。
    • instanceof運算符,能夠用來判斷運算符左邊的對象是否是運算符右邊的對象建立的類。如果,結果爲true,不然爲false
    • 一個複合語句的{}可能有多個語句,可是隻算一個語句;分號是一個空語句.
    • if條件分支語句有三種用法:
      • if語句是單條件單分支語句,知足條件時執行。
      • if-else語句是單條件雙分支語句,知足條件時執行if緊跟着的複合語句,不知足時執行else緊跟着的複合語句。
      • if-else if-else語句是多條件多分支語句,當知足其中某個if的條件時,執行其後面緊跟着的複合語句,而後結束當前if-else if-else語句的執行。若都不知足,執行最後else後面的複合語句。
    • switch語句中表達式的值只能是byte,short,int,char裏面的一種類型。
    • Java裏面的循環語句和C語言的相似,沒有什麼問題。
    • 要清楚break語句和continue語句之間的區別。若是在某個循環中執行了break語句,那麼整個循環語句就結束了;若是在某個循環中執行了continue語句,那麼本次循環就結束了。
    • for語句在Java裏的另一種用法(這種方式主要用於遍歷數組):for(數據類型 沒被定義過的變量:數組名),每次循環,新定義的變量依次取後面的數組中每個元素的值。
    • Scanner定義的對象能夠先調用hasNext類型名的方式來先對輸入的數據進行判斷,判斷其是否符合要求,符合要求再獲取這個輸入的數據

教材學習中的問題和解決過程

  • 問題1:個人Ubunutu裏面沒有中文輸入法,不能打出漢字。
  • 問題1解決方案:上網查找了一下,在這個連接裏發現瞭解決的方法。
  • 問題2:在教材中,我知道了,當byte變量超過127時,又會從-128開始循環。這是爲何?其餘的變量是否有這個性質?如何驗證呢?
  • 問題2解決方案:這個問題目前我還找不到解決的辦法。
  • 問題3:第三章有一個課後題目,我在運行時候出現了這樣一個問題:
    java

  • 問題3解決方案:由於在這個題目裏面我是把i放在for語句裏面去定義的,沒想到這樣的話到最後不能直接輸出i。因而我又設置了一個新的變量t來過渡i,而後就能夠了。所以我以爲,i雖然能夠在for語句裏隨時定義隨時使用,可是它可能只是個暫時變量,等循環結束就釋放掉了?這是個人猜想,不知道如何進行驗證呢?git

代碼調試中的問題和解決過程

由於是敲課本里面的代碼,因此錯的幾個地方都是由於輸入的失誤。編程

  • 問題1:在敲書裏面的Example2_5時候,把java和util中間的點漏掉了
    數組

  • 問題1解決方案:打開文本進行修改,並在書裏作了標記。
  • 問題2:在寫一個程序時,不當心在程序後面加了一個_,編譯時出現了這個問題:
    函數

  • 問題2解決方案:打開文本進行修改。學習

代碼託管

我把教材裏面程序的源文件放在了src文件夾裏面,編譯獲得的字節碼文件放在了bin文件夾裏面。
而2、三章課後的調試程序、編寫的題目放在了「課後做業」文件夾。
(statistics.sh腳本的運行結果截圖)
個人截圖不知道爲何顯示不出來git的記錄。。明明已經有往上傳了,碼雲裏面也有了。等我解決了這個問題我再把新的截圖補上吧
測試

上週考試錯題總結

上週課上測試的總結我已經寫了一片博客提交上去了。這是博客的連接設計

其餘

本週的Java學習我不是像上週那樣,累積到最後幾天纔開始寫,而是一天完成一部分。這樣學的感受很好。並且可能時間比較充足的緣由,課本還有網上的教材我都是慢慢看的,有什麼不懂立刻敲代碼、看例題去理解。這麼一來,感受本身學到了不少不少的東西。
我以爲第一週的學習已經讓我對Java的一些基本操做有所瞭解,因此在第二週的學習裏,雖然量比較多,可是感受也沒有那麼累了。果真,「萬事開頭難」,不過只要開了好頭,接下來的學習必定會充滿興趣與動力。但願本身可以繼續保持這份對Java的熱情,不斷地更上一層樓。
還有一點讓我感受收穫很大的是,在我把書裏的代碼按順序敲下來後,我感受一個是我敲代碼的速度變快了,還有一個就是那些基本的代碼我能夠不用看書就可以敲出來了。「好記性不如爛筆頭」。接着,我盡本身的努力,把第二章和第三章的課後第4題(編程題)給本身敲出來了!(代碼已經傳到碼雲上了,在課後做業文件夾裏,以hw24和hw34開頭的文檔)沒有看書。瞬間感受本身投入的時間都是有意義的,仍是蠻高興的。3d

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 36/36 1/1 8/8
第二週 432/468 2/3 15/23
  • 計劃學習時間:15小時

  • 實際學習時間:15小時

相關文章
相關標籤/搜索