20172330 2017-2018-1 《Java程序設計》第六週學習總結

學號 2017-2018-2 《程序設計與數據結構》第六週學習總結

教材學習內容總結

這一章主要是對數組的學習:html

  • 數組是一種簡單而功能強大的編程語言結構,用於分組和組織數據。在java中,數組索引老是以0開始。
  • java有兩種聲明數組方式,:
    int【】 grades
    int grades【】
  • 一個數組能夠含有多個對象,每一個對象又由一組變量和使用這些變量的方法組成,,而對象中的變量自己也可能又是數組。
  • 命令行實參存儲在String對象的數組中,並將傳遞給main方法。

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

  • 問題1:在看課本8.3時候,,對於對象數組的理解。
  • 問題1解決方案:實例化對象數組只是爲保存對象引用和預留空間,對每一個數組元素所表明的對象必須分別實例化,因此一個對象數組實際上就是一個對象引用數組。

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

  • 問題1:在作pp81沒有在while循環中設置中止條件致使無限循環下去。
  • 問題1解決方案:在嘗試使用了break後成功運行。這也是第一次開始使用break,之前都是使用if和else而沒有嘗試過這一種。
    java

  • 問題2:在作pp8.1時候,當時好像是多定義了一個數組輸出,致使其自己的數字與輸入的數字相加後才輸出個數。
  • 問題2解決方案:我將我定義的第一個數組顯示結果刪掉,最後顯示了正確結果。
    git

  • 問題3:在用Math.sqrt(double num)方法時候,IDEA報錯說num應該爲int類型,而書上也寫着不管是輸出的sqrt仍是輸入的num都應該爲double型
  • 問題3解決方案: 定義的時候剛開始在找數組,後面發現int型的運用不正確,所有改成double型後成功解決了問題。編程

代碼託管

上週考試錯題總結

將第五週和第六週錯題弄反了,本次爲第五週錯題數組

  • 問題1:Which of the following reserved words in Java is used to create an instance of a class?
    A.class
    B.public
    C.public or private, either could be used
    D.import
    E.new
    保留字「new」用於實例化一個對象,聲明new後面跟着的是類名,這就是類的構造方法。如
    Car x = new Car( );將會實例化一個car類,並賦予一個變量X。數據結構

  • 問題2:Instance data for a Java class
    A.are limited to primitive types (e.g., int, float, char)
    B.are limited to Strings
    C.are limited to objects(e.g., Strings, classes defined by other programmers)
    D.may be primitive types or objects, but objects must be defined to be private
    E.may be primitive types or objects
    實例數據是組成類的實體,它能夠是任何可用的類型,不管是原始的仍是對象的,public型仍是private型。app

  • 問題3:During program development, software requirements specify
    A.how the program will accomplish the task
    B.what the task is that the program must perform
    C.how to divide the task into subtasks
    D.how to test the program when it is done
    E.all of the above
    軟件需求指定了程序必須完成的功能,指明瞭程序應當執行的任務,而不是描述如何執行所規定的任務。一般,任務需求用一個稱爲功能說明的文檔來描述。編程語言

  • 問題4:Java does not support multiple inheritance, but some of the abilities of multiple inheritance are available by
    A.importing classes
    B.implementing interfaces
    C.overriding parent class methods
    D.creating aliases
    E.using public rather than protected or private modifiers
    因爲類能夠實現任意數量的接口,因此該類本質上是使用接口類,就好像這些接口是在該類中定義的那樣。所以,該類繼承了接口的方法和常量。此外,該類還能夠擴展另外一類,從而直接或間接地從多個類繼承。這與多重繼承並不徹底相同,但它與Java的概念很是接近。ide

  • 問題5:The goal of testing is to
    A.ensure that the software has no errors
    B.find syntax errors
    C.find logical and run-time errors
    D.evaluate how well the software meets the original requirements
    E.give out-of-work programmers something to do
    測試是必需的,由於全部的軟件都有錯誤。複雜的系統在發佈以前尤爲須要測試。所尋找的錯誤類型是邏輯錯誤和運行時錯誤。全部的語法錯誤都將在實施過程當中被識別和修復。函數

  • 問題6:Static methods cannot :
    A . reference instance data
    B . reference non-static instance data
    C . reference other objects
    D . invoke other static methods
    E . invoke non-static methods
    靜態方法是類自己的一部分, 而不是實例化對象的方法, 所以靜態方法在類的全部實例化對象之間共享。因爲靜態方法是共享的, 所以它沒法訪問非靜態實例數據, 由於全部非靜態實例數據都特定於實例化對象。

  • 問題7:What happens if you declare a class constructor to have a void return type?
    A . You'll likely receive a syntax error
    B . The program will compile with a warning, but you'll get a runtime error
    C . There's nothing wrong with declaring a constructor to be void
    D . The class' default constructor will be used instead of the one you're declaring
    E . None of the above
    加void類型並無語法錯誤,只是否是構造函數而是一個普通的函數了,可是每個函數裏都有構造函數,若是本身加了void類型後也只會是出現一個空的構造函數而非產生語法錯誤。

  • 問題8:Formal parameters are those that appear in the method call and actual parameters are those that appear in the method header.
    A . true
    B . false
    問題有兩個定義顛倒了。形式參數是出如今方法頭中的形參, 實際參數是方法調用中的參數 (傳遞給方法)。

  • 問題9:Accessors and mutators provide mechanisms for controlled access to a well-encapsulated class.(存取器和突變器提供了對一個良好封裝的類進行受控訪問的機制。)
    A true
    B false
    存取器提供對那些不然沒法訪問的變量的讀訪問。突變器提供對其餘難以訪問的變量的寫訪問權

  • 問題10:Interface classes cannot be extended but classes that implement interfaces can be extended.
    A true
    B false
    接口類不能被擴展,可是實現接口的類能夠被擴展。a.真正的b.假 解釋:任何類均可以被擴展,不管它是一個接口,仍是實現一個接口,或者二者都沒有。惟一的例外是,若是該類被顯式地用「final」這個詞進行修飾,在這種狀況下,它不能被擴展。

    結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • 圖片和文字相結合,方便理解。
  • 代碼中值得學習的或問題:
    • 嚴域俊同窗學習十分積極,代碼行數體現了其應該花了很大功夫去研究。
    • commit十分詳細,有條理性。

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172333
    • 結對學習內容
      • 學習第八章pp項目。
      • 學習數組的具體內容

其餘(感悟、思考等,可選)

本週在課後項目編程時遇到了不少困難,課下仍是要將課本熟讀。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 180/180 2/2 20/25
第二週 312/414 2/4 20/45
第三週 557/971 2/6 25/70
第四周 1217/2242 2/8 44/114
第五週 734/2976 2/10 24/138
第六週 523/3509 2/12 20/158

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

  • 計劃學習時間:20小時

  • 實際學習時間:20小時

  • 改進狀況:

commit的提交有了改進

參考資料

相關文章
相關標籤/搜索