20172328《程序設計與數據結構》第二週學習總結

20172328李馨雨《程序設計與數據結構》第二週學習總結

又到週五,李馨雨同窗要開始寫博客了。讓咱們開始吧!(◕ᴗ◕✿)java

教材學習內容總結

  • 1.首先是String類定義的字符串,而後是printprintln的區別、轉義字符的學習。(讓我印象深入的\b【回車符】在字符串結尾不顯示哈哈,及其更新的\t【換行符】,還有在課堂上真正明白了什麼是回車。)
  • 2.瞭解變量、常量、賦值語句。變量:保存數據的內存單元。常量:堅決本身不會變的數據!除非你用java的反射(有點複雜,改權限、去修飾符等等。沒實踐過不能具體說明)。賦值語句:掌握基本運算再加以運用就好。
  • 3.基本數據類型:四個整型、兩浮點型、字符型和布爾型。
  • 4.表達式的學習和運算符類型和功能瞭解;給你看看運算符的family:求餘%、加+、減 -、乘 、除 /、右移>>、左移<<、自增++、自減 --、組合賦值+=、-=、=、/=、%=。運算符優先級:括號你先、乘除夾中、加減跟上、賦值斷後。
  • 5.數據類型轉換及其三種轉換技術:壓縮類型轉換即大變小,容易裝不下丟失數據;擴展類型轉換即小變大,數據完整性比較高。三種轉換技術就是:賦值類型轉換【把此類變量賦給彼變量時,此變量自動轉換爲彼變量類型】、提高類型轉換【作一個運算而後將變量類型轉換】、強制類型轉換【要轉變類型的變量前面加(需更新的變量名)】。
  • 6.交互式程序!這纔是你和計算機聊天的美好程序啊對不對!固然掌握代碼、內部含義、熟練應用三部曲不可少。
    下面是我手寫的總結,字有點醜,你湊合湊合着看吧啊哈哈。

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

  • 問題1:SR2-5頗有意思,它問代碼段輸出是什麼。頗有把握的題目就是考printprintln的。結果很遺憾,我寫錯了。
System.out.print("Ready");

System.out.println();

System.out.println("set");

System.out.println();

System.out.println("co");

當時我覺得三個單詞中間都兩兩隔一行。git

  • 1.(〃'▽'〃)本題解答:結果是Ready和set兩行中間沒有空行,我後來思考了一會,認爲是第一行代碼中的print使得第二行的代碼失效。嗯是這樣。
  • 問題2:剛開始敲書上代碼時,發現常量名稱都是用大寫字母來命名。並且書上並無具體提如何強制修改常量。
  • 2.(〃'▽'〃)本題解答:我去詳細的找了一下java中的命名規則。以下

    強制修改常量的話帖子不多,修改爲功率好像也挺低。沒作深究。
  • 問題3:不太明白字符型到底是什麼?書上說是字符和字符串後面又提到了字符集和char數據類型,當時有點懵ミ゚Д゚彡。
  • 3.(〃'▽'〃)本題解答:百度到的結果以下:程序員

    字符型量包括字符常量和字符變量。字符串常量是由一對雙引號括起的字符序列。字符變量的取值是字符常量,即單個字符。
    字符變量的類型說明符是char。字符變量類型說明的格式和書寫規則都與整型變量相同。數據結構

解決了個人疑惑。app

  • 4.String是否是基本數據類型?該問題是劉偉康學長提出的問題。我知道不是,但說不出因此然。查閱後的結果做爲小總結放在下面吧!
  • 4.本題解答:String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。 String 對象是 System.Char 對象的有序集合,用於表示字符串。String 對象的值是該有序集合的內容,而且該值是不可變的。由於,java.lang.String類是final類型的,所以不能夠繼承這個類、不能修改這個類。java的8大基本數據類型分別是:
    整數類 byte, short, int, long
    浮點類 double, float。
    邏輯類 boolean文本類 char

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

  • 問題1:不會移動文件到其餘目錄下,很頭疼。認爲本身命令沒問題,可是移動不過去。
    dom

  • 1.(〃'▽'〃)本題解答:感謝個人室友仇夏和於欣月,教我只能在同一級目錄下移動而且要標明具體路徑。成功示例mv src/第二週/java_homework/pp1_3.class bin/第二週.
  • 問題2:定義了一個浮點值,結果顯示錯誤,沒法編譯。
  • 2.(〃'▽'〃)本題解答:最後靈機一動。忘記在float類型數據後面加上f,由於系統默認double啊! ̄□ ̄||
  • 問題3:關於交互式程序編譯完成後,出現兩個輸入粘連在一塊兒的狀況。
  • 3.(〃'▽'〃)本題解答:感謝張昊然同窗教我把程序中使用Scanner的後兩個變量中的next方法中的xxx = scan.nextLine();變量改成xxx = scan.next();就成功嘍。看學長在藍墨雲中說再次複製第三條語句,雖然能夠解決,原理如今還不太懂。


    第一種解決方法原理應該是書上提到的:若是輸入數據由一系列空格符分割的單詞組成,則每次調用next方法將返回下一個單詞。nextLine方法讀取全部數值直到輸入行結束,並將所讀取數據做爲一個字符串返回。ide

    代碼託管


    (statistics.sh腳本的運行結果截圖)
    學習

    上週考試錯題總結

  • 問題1: Which memory capacity is the largest? (哪一個選項的存儲容量最大?)
    A . 1,500,000,000,000 bytes (1,500,000,000,000個字節)
    B . 100 gigabytes (100千兆字節)
    C . 3,500,000 kilobytes (3,500,000千字節)
    D . 10 terabyte (10太字節)
    E . 12,000,000 megabytes (12,000,000百萬字節)
  • 問題1分析和領悟:這道題是很簡單的算術題,存儲容量從B.KB.MB.GB.PB.TB依次以2的十次方遞增。經過簡單的運算比較便可得出。
  • 問題2:The ability to directly obtain a stored item by referencing its address is known as (經過引用地址直接得到存儲項的能力被稱爲___)
    A . random access (隨機存取)
    B . sequential access (順序存取)
    C . read-only access (只讀訪問)
    D . fetch access (獲取訪問)
    E . volatility (易變性)
  • 問題2分析和領悟:在書的第十頁有一句話解釋的很清楚:「直接存取和隨機存取兩個概念是同一個意義。」
  • 問題3:It is important to dissect a problem into manageable pieces before trying to solve the problem because (試圖解決問題以前,把一個問題分解成可控制的幾部分是很重要的,由於)
    A . most problems are too complex to be solved as a single, large activity (大多數問題太複雜,以致於不能做爲一個單獨大型的活動來解決)
    B . most problems are solved by multiple people and it is easy to assign each piece to a separate person (大多數問題都是由不少人解決的並且把每一部分分配給不一樣的人是很容易的)
    C . it is easier to integrate small pieces of a program into one program than it is to integrate one big chunk of code into one program (將程序的小部分整合到一個程序中比將一大塊代碼整合到一個程序中更容易)
    D . our first solution may not solve the problem correctly (咱們的第一個方案可能沒法正確解決問題)
    E . all of the above (以上皆是)
  • 問題3分析和領悟:應該是選擇A。
  • 問題4:The main method for a Java program is defined by (Java程序中的主方法是由___定義的)
    A . public static main( )
    B . public static main(String[ ] args);
    C . public static main(String[ ] args)
    D . private static main(String[ ] args)
    E . the main method could be defined as in A, C or D but not B (主方法能夠定義爲A,C或者D,但不是B)
  • 問題4分析和領悟:這個題不該該出錯的,由於做爲java 程序的開端,其定義後應該是由{來開始的。
  • 問題5: Which of the following is a legal Java identifier? (下面哪一個是合法的Java標識符?)
    A . i
    B . class
    C . ilikeclass!
    D . idon'tlikeclass
    E . i-like-class
  • 問題5分析和領悟: 此題目有點小問題,可是仍是不該該判斷理解失誤。標識符是編寫程序時用的各類單詞。程序中自定義的標識符能夠是任何字母、數字、$和下劃線的組合且不能以數字開頭。class雖然是標識符,可是它是保留字標識符,所以具體分析便可判斷。
  • 問題6: Which of the following is true regarding Java syntax and semantics? (關於Java的語法和語義,下列哪一項是正確的?)
    A . a Java compiler can determine if you have followed proper syntax but not proper semantics (Java編譯器能夠斷定你是否遵循正確的語法,但不能斷定正確的語義)
    B . a Java compiler can determine if you have followed proper semantics but not proper syntax (Java編譯器能夠斷定你是否遵循正確的語義,但不能斷定正確的語法)
    C . a Java compiler can determine if you have followed both proper syntax and semantics (Java編譯器能夠斷定你是否遵循正確的語義和語法)
    D . a Java compiler cannot determine if you have followed either proper syntax or semantics (Java編譯器不能斷定你是否遵循正確的語義或語法)
    E . a Java compiler can determine if you have followed proper syntax and can determine if you have followed proper semantics if you follow the Java naming convention rules (若是你遵循Java的命名規範,Java編譯器就能夠斷定你是否遵循正確的語法,而且能夠斷定你是否遵循正確的語義)
  • 問題6分析和領悟: java編譯器能夠判斷你的語法,可是不能斷定語意。所以程序員應對一個程序的精準度負責。
  • 問題7: Which of the following would be a good variable name for the current value of a stock? (下面哪一個是關於變量「current value of a stock」的最佳命名?)
    A . curstoval
    B . theCurrentValueOfThisStockIs
    C . currentStockVal
    D . csv
    E . current
  • 問題7分析和領悟: 命名既要簡單又要合理清晰,所以選c才最合適。
  • 問題8: A color image is broken down into individual pixels (points), each of which is represented by (一個彩色圖像被分解成單個像素(點),其中每一個像素表示)
    A . a 1 for white and a 0 for black (白色的1和黑色的0)
    B . 3 values denoting the intensity of red, green, and blue in the image (3個表示圖像中紅、綠和藍色的亮度值)
    C . a single number indicating the intensity of color between white and black (一個單獨的數字,它表示白色和黑色之間的顏色亮度)
    D . two numbers, a value that denotes where between white and black the color is, and a brightness (兩個數字,一個表示白色和黑色之間的顏色,另外一個表示亮度)
    E . none of the above, it is not possible to represent a color image (以上都不是,不可能表示一個彩色圖像)
  • 問題8分析和領悟: 三基色RGB,每基色一個字節(8bit),一個像素能夠呈現出2的24次方種顏色,大約是1600多萬種。但若是是再引入其餘的色彩份量,一個像素能夠呈現的色彩數量還能夠更多。所以應該選擇B,錯誤的緣由主要是將像素和位圖沒有分清楚。位圖是由像素點組成的。
  • 分析和領悟:本次錯題都主要在簡單的概念方面,這說明對於不少知識點沒有透徹的把握。將在將來的學習中注意知識點內核要義,從而深刻了解。錯誤讓我改正,讓我印象更加深入。fetch

    心語(感悟、思考等)

    在java的學習中,實踐是最有樂趣,雖然極易失敗,可是會讓人更加珍惜成功編譯獲得快樂。學習過程當中詢問和求教很重要,會讓你不同的知識重構和深刻理解,就算解決不了,增進一下同窗友誼也是好的。哈哈。java的第二週學習仍是挺快樂的,尤其是交互式程序的學習和運用。繼續前行吧!.net

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 100/100 1/1 15/15
第二週 377/477(週五) 1/1 16/16

參考資料

1.java程序設計教程(第八版)第二章相關內容
2.字符型
3.JAVA反射修改常量,以及其侷限

相關文章
相關標籤/搜索