20182309 2019-2020-1 《數據結構與面向對象程序設計》第2,3周學習總結

20182309 2019-2020-1 《數據結構與面向對象程序設計》第2,3周學習總結

教材學習內容總結

  • 字符串的使用,鏈接,轉義字符
  • 數據類型,強制轉換
  • 布爾(Boolean)類型
  • 讀入數據
  • improt聲明
  • String,Random,Math,枚舉類
  • 格式化輸出
  • 包裝類

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

  • 問題1:包裝類有什麼用?
  • 問題1解決方案:基本數據類型之間的相互轉換不是均可以制動轉換的,而你強制轉換又會出問題,好比String類型的轉換爲int類型的,爲了方便用戶就提供了相應的包裝類。有時候一個函數須要傳遞一個Object的變量 而你想傳遞int類型的進去顯然不行,就用到了包裝類。

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

  • 問題1:提示沒有找到類Scanner
  • 問題1解決方案:import java.util.Scanner;的S要大寫
  • 問題2:姓氏只返回了四個字母
  • 問題2解決方案:substring(a,b)返回的是a~b-1位置的字符
  • 問題3:若隨機數生成了0,就不會輸出
  • 問題3解決方案:用printf輸出,不夠位數用if判斷補0

代碼託管

上週考試錯題總結

  • 思考下面的語句,該語句將輸出___行文本
System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");

答案:2。\r是回車,回到當前行行首。html

  • Java is a strongly typed language. What is meant by "strongly typed"? (Java是一種強類型語言。「強類型」指的是什麼?)

A . Every variable must have an associated type before you can use it (在使用變量以前,每一個變量必定都有一個與之關聯的類型)
B . Variables can be used without declaring their type (變量能夠在不聲明其類型的狀況下使用)
C . Every variable has a single type associated with it throughout its existence in the program, and the variable can only store values of that type (在程序中,每一個變量都有一個與之關聯的類型,而變量只能存儲該類型的值)
D . Variables are allowed to change type during their existence in the program as long as the value it currently stores is of the type it is currently declared to be (變量存在於程序中時容許改變類型,只要它當前存儲的值是當前聲明的類型)
E . Variables are allowed to change types during their existence in the program but only if the change is to a narrower type (變量存在於程序中時容許改變類型,但只能縮窄轉換)
答案:C。定義變量時必須聲明類型。java

  • Which of the sets of statements below will add 1 to x if x is positive and subtract 1 from x if x is negative but leave x alone if x is 0?

A . if (x > 0) x++;git

else x--;
B . if (x > 0) x++;vim

else if (x < 0) x--;
C . if (x > 0) x++;數據結構

if (x < 0) x--;app

else x = 0;
D . if (x == 0) x = 0;dom

else x++;ide

x--;函數

答案:B。題目說的若是是0就不操做,而C作了操做。學習

  • What happens if you attempt to use a variable before it has been initialized?

A . A syntax error may be generated by the compiler
B . A runtime error may occur during execution
C . A "garbage" or "uninitialized" value will be used in the computation
D . A value of zero is used if a variable has not been initialized
E . Answers A and B are correct
答案:E。按照題目的意思,出現編譯錯誤也能夠運行。

  • Which of the following will yield a pseudorandom number in the range [ -5, +5 ) given the following:

Random gen = new Random( );

A . gen.nextFloat( ) * 5
B . gen.nextFloat( ) * 10 - 5
C . gen.nextFloat( ) * 5 - 10
D . gen.nextInt( ) * 10 - 5
E . gen.nextInt(10) - 5
答案:B。看錯。

  • The String class' compareTo method

A . compares two string in a case-independent manner
B . yields true or false
C . yields 0 if the two strings are identical
D . returns 1 if the first string comes lexically before the second string
E . none of the above
答案:C。沒看懂identical的意思。

  • These two ways of setting up a String yield identical results:

a) String string = new String("123.45");

b) String string = "" + 123.45;

A . true
B . false
答案:A。能夠用雙引號提示程序是一個字符串,而後用加號對字符串鏈接。

  • You may use the String replace( ) method to remove characters from a String.
    A . true
    B . false
    答案:B。會替換爲空格,不是刪。
  • If you need to import not only the top-level of a package, but all its secondary levels as well, you should write: import package..;

A . true
B . false
答案:B。聲明範圍太廣了,只能聲明倒數第二級的。

結對及互評

  • 博客中值得學習的或問題:
    • 代碼問題的解決是本身想的,沒有百度或者問
    • 錯題分析有本身的看法
  • 代碼中值得學習的或問題:
    • 用C語言的方法解決Java的問題
    • 重複的直接複製粘貼
  • 基於評分標準,我給本博客打分:12分。得分狀況以下:
    • 正確使用Markdown語法(加1分)
    • 模板中的要素齊全(加1分)
    • 教材學習中的問題和解決過程, 一個問題加1分
    • 代碼調試中的問題和解決過程, 三個問題加3分
    • 本週有效代碼超過300分行的(加2分)
    • 排版精美的加一分
    • 代碼Commit Message規範的加1分
    • 有動手寫新代碼的加1分
    • 結對學習狀況真實可信的加1分

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20182331
    • 結對學習內容
      • 重裝Linux
      • 替換vimrc
      • 切換源
      • 比較C語言和Java
      • 幫助分析錯誤

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 10000行 30篇 400小時
第一週 138/138 2/2 25/25 學會寫和上傳代碼,會編簡單的輸出程序
第二週 118/256 1/3 30/55 起文件名不能太長
第三週 868/1124 2/5 35/90 Java類裏面的方法和C語言的函數很像

參考資料

相關文章
相關標籤/搜索