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

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

教材學習內容總結

本週內容主要爲書的2.1-2.6的內容:
1.print與println的區別與使用
2.字符串能夠用「+」來拼接
3.轉義序列的應用
4.基本數據類型(4種整型、2種浮點型、布爾型和字符型)
5.還有感受噁心、難懂的交互式程序Scannerphp

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

  • 問題1:轉義序列中的"\t"、"\n"、"\r"的做用不清楚
  • 問題1解決方案:仿照例2.4在程序中試用,可是剛開始的時候在System.out.println("Roses are red.")的開頭位置添加,結果"\n" 與 "\r"效果同樣,在聽過老師的講解和教學視頻的解析,明白二者在效果上是同樣的,可是在乎義上是不一致的,"\n"表示是單純的換行,"\r"表示是回車換行。
  • 問題2:整型與浮點型的區別與聯繫
  • 問題2解決方案:整型包含的4種形式是依據存儲空間的大小而表示不一樣範圍內的數據。整型類型被老師說成是一兩的碗、二兩的碗等,很形象化的展現出之間的區別,像一個數字「8」在byte中存儲就是一個字節,在int中就是四個字節表示。浮點型的"float"與"double"也一樣相似。對於不清楚變量的取值範圍,就應當選個合理的,或是較大的內存空間的數據類型。
  • 問題3:組合運算符與正常的運算符之間的區別
  • 問題3解決方案:在看了這個內容以後,認爲二者沒有區別,在形式上組合運算符比正常的運算符在運用上更爲簡潔,在教學視頻上的講解,給出了更爲明確的解釋,例如一樣是"short s = 4" 後面用兩種不一樣的形式,"s = s +5"與"s +=5"倒是一個true,一個false。緣由在於開始的4是以兩個字節的存儲空間進行存儲,然後面的5以int的存儲空間進行的,爲4個字節,兩次運算,先相加在賦值,不能自動轉換。然後者是一次運算,左右兩邊的和賦值給左邊,能夠自動換行。
  • 問題4: 例2.8和例2.8的內容量很大,一直不懂輸入的「Scanner scan = new Scanner(System.in)」,一直就照着作,模仿着教材的內容,進行練習和實驗。

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

  • 問題1:按照老師教的步驟進行javac和java的翻譯結果神奇般的找不到,找不到。
    java

  • 問題1解決方案:覺得這個電腦開始罷工了。結果一直向上翻記錄,原來本身把移動的快捷鍵記成刪除的快捷鍵,把源代碼刪掉了,還一直用java譯碼器進行編譯,搗成半天,還得從新來一遍,氣死!
  • 問題2:PP2-5的操做過程
    git

  • 問題2解決方案:
    (1)在進行第一次輸入的時候,忘記了數據類型的不一樣,一個浮點型,一個整型,二者不統一,沒有進行強制轉換,而後在前面加了一個強制轉換的括號,而後又一個勁的弄,結果仍是同樣,仍是提醒,後來經過同窗的一番指出,才發現本身後面尚未加括號,腦裏的思路還一直以數學的計算方式來進行,什麼沒有括號也行,什麼兩個數之間沒有符號也能夠進行乘法運算之類的。必須把二者劃清界限,才能正常的計算。
    (2)在進行定義變量的時候,定義爲Double型的華氏溫度值,結果敲了一堆整數的計算式,以致於運算的時候輸入一個含小數的數,出來的時候一堆問題,數字「5.0」爲了偷懶輸入「5」,還得爲了本身的偷懶從新改一遍。
  • 問題3:PP2-3的操做過程
    程序員

  • 問題3的解決方案:
    (1)在輸入兩個浮點數,並寫出它們的和、差及乘積的時候,忘記定義和、差及乘積的變量了,結果程序一出來,一堆一堆的錯誤提醒,「找不到符號」這句話想了半天,有從新翻看代碼,一直米有發現錯誤問題。後來對照例題,一點一點修改,才發現本身就是沒有定義變量形成的。
    (2)後面的輸入因爲心急,形成把字符串拼接弄成了逗號,結果「實際參數列表和形式參數列表長度不一樣」感受本身對這個錯誤解析特別不理解,感受解析看不懂,還得本身從代碼處入手。
  • 問題4:PP2-2的操做過程

    web

  • 問題4的解決辦法:讀取的三個整數,進行運算的時候,忽然想到若是三個數出不開怎麼辦?考慮了半天結果就是輸出整數部分,小數部分就是沒有,在考慮過什麼四捨五入以後,認識到後面的3是整型,因此在進行結束以後,就保留了整數部分,把3改成3.0就能夠正常輸入了。編程

    代碼託管

上週考試錯題總結

  • 錯題1 經過引用地址直接得到存儲項的能力被稱爲 隨機存取
    解析: 隨機存取表明同一時間訪問一組序列中的一個隨意組件。隨機存取存儲器的基本結構可分爲三個部分:存儲矩陣,地址譯碼器,讀寫電路。其中的地址譯碼器就是解決本題的關鍵。譯碼器能夠將輸入地址譯爲電平信號,以選中存儲矩陣中的響應的單元。開始理解不透徹,各個名詞混淆選錯。
  • 錯題2 試圖解決問題以前,把一個問題分解成可控制的幾部分是很重要的,由於大多數問題太複雜,以致於不能做爲一個單獨大型的活動來解決
    解析: 任何有趣的問題都太複雜,不能簡單地做爲單一的活動來解決。經過分解問題,咱們能夠爲每一塊構建一個小的解決方案,而後整合各個部分。答案D是正確的,但這不是咱們將問題分解成碎片的緣由。本題的各個選項說法都很正確,外加一個E選項,以致於沒有好好讀題就認爲各選項都對。
  • 錯題3 關於Java這種程序設計語言,下面的哪一種說法是不正確的?它是一種執行程序前不須要被轉換成機器語言的語言
    解析: 任何語言都是須要轉爲機器語言纔可以執行,選項雖對但這個和JAVA的程序設計語言沒有關係,加之萬能的E選項,致使本身又被迷暈了。
  • 錯題4 Java程序中的主方法是由public static main(String[ ] args)定義的
    解析: 本題純屬誤選,敲了已經一週的代碼,這個已經快背下來了,A,D選項比較錯誤明顯,而B選項的分號沒看到致使選錯。
  • 錯題5 System.out.println("Hello World"); might best be commented as這個指令最好被註釋爲**// used to demonstrate an output message (用來演示輸出)
    解析: 答案中的註釋解釋了爲何該指令出如今程序中。而個人錯誤選項是該指令顯而易見就能看出來的,無需註釋。數組

    「註釋應當揭示程序員編寫程序的初中或意圖。」數據結構

  • 錯題6 在Java中,下列哪一條語法不合法?s t a t i c main(String[ ] args)
    解析: 因爲Java編譯器將空白(空格)做爲實體之間的分隔符,因此Java編譯器不會識別「static」。其餘語句都是合法的。A選項是定義程序名字,B選項是輸出Hi,C選項是輸出空白。只有D選項是錯誤的。
  • 錯題7 下面哪一個是合法的Java標識符?i
    解析: 類」這個詞在Java中是一個保留字,不能用做標識符。而剩餘選項中,標識符含有了除字母、數字、下劃線和美圓符號之外的符號。
  • 錯題8 Java的獨特之處在於其字節碼,它容許在一臺機器上編譯的代碼在不一樣的硬件平臺上執行。
    解析: Java程序的翻譯過程是首先將它編譯成字節碼,它在體系結構上是中立的,不管架構平臺是什麼,均可以使用它們。要執行該程序,字節碼必須由Java編譯器進一步編譯或由Java虛擬機解釋。其執行要求就是處理器平臺上必須有JVM。架構

    "Java字節碼與真正的機器語言代碼之間的區別在於:字節碼獨立於處理器類型。這種特性使得Java具備結構獨立的顯著優點,易於在不一樣類型的處理器平臺之間移植。」編輯器

  • 錯題9 關於Java的語法和語義,下列哪一項是正確的?Java編譯器能夠斷定你是否遵循正確的語法,但不能斷定正確的語義。
    解析: 全部語言的編譯器都有檢測語法錯誤的能力,由於語法錯誤的使用會致使編譯器沒法正確地翻譯代碼。然而,編譯器沒法遵循程序的語義,由於這須要必定程度的理解程序要作什麼,而計算機沒有理解的意義。沒有好看編譯器、編輯器、翻譯器的做用,才致使選錯。
  • 錯題10 下列Java命名規範中,哪一個是關於「store stomers」類的最佳命名?StoreCustomer
    解析: 單詞應該鏈接在一塊兒而沒有空格,或者與「_」字符鏈接。忽略這條限制,錯誤的選擇了Store Customer。
  • 錯題11 一個彩色圖像被分解成單個像素(點),其中每一個像素表示3個表示圖像中紅、綠和藍色的亮度值
    解析: 黑白圖像是用0和1存儲的,而彩色圖像是用三個值存儲的,一個是紅色的程度,一個是藍色的程度,一個是綠色的程度。之前在電子政務課上老師就講過,本身一看A選項對就沒看別的,結果問題是彩色圖片,RGB用紅綠藍三種顏色表示的。
  • 錯題12 在一個Java程序中,下面哪一個字符不須要有與之相關的「結尾」字符?<
    解析: {用於打開一個塊,所以}須要關閉該塊。(用於打開表達式,所以)須要關閉表達式。[用於啓動數組索引,所以]須要關閉數組索引。而 <和> 表示大於和小於,不須要關閉符。
  • 錯題13Java字節碼是能夠直接執行的,而Java源代碼則不是。FALSE
    解析: Java源代碼和Java字節碼都不是可執行的。二者都必須被編譯或解釋爲機器代碼。Java字節碼是有用的,可是它們是獨立於機器的可是半編譯的代碼,它容許您的Java代碼經過Internet傳輸並在另外一臺計算機上執行,即便其餘計算機是徹底不一樣的類型。全部程序的語言都必須翻譯成的機器語言才能執行的。

    總結:第一週的學習發現本身什麼都不懂,一直忙於敲代碼,寫博客的,忽略了最重要的書本內容,並且第一章本身在沒考試以前就看了幾遍,沒有細細的推敲理解,經過考試才知道本身懂的不過這些名詞,而不是名詞背後所表明的意義。

感悟

本週各類課程、活動開始陸續增多,java的知識內容開始加深,感受有些吃力,尤爲是在通過第一次考試以後,感受知識更加可怕本身對書本的不夠深刻的瞭解,沒有更細緻的學習,外加上本身改不了的粗心馬虎形成考試的分數較低,有些題目大體掃一眼就選選項,只能分低了~還有更爲可怕的是下下週就要進行全英文的考試,想一想這事就頓生涼意,漢語的還都不會,就要來英文的,可怕至極,增強英語的訓練迫在眉睫,唉!壓力山大。還有本身一直不能改的馬虎錯誤,以致於進行交互式程序的練習,老是出現錯誤。合理的安排時間,提升效率的學習才能是努力遇上同窗的訣竅。剛步入編程的大門,就感受前路漫漫,但與java的編程毫不是後會無期。壓力就是動力,動力足了,通過時間的洗禮,成功就在不遠的前方。給本身加油!

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 136/200 1/2 15/20
第二週 570/500 1/4 20/38
  • 計劃學習時間:20小時

  • 實際學習時間:20小時

參考資料

相關文章
相關標籤/搜索