20145206鄒京儒《Java程序設計》第2周學習總結


20145206 《Java程序設計》第2周學習總結

教材學習內容總結

一、類型

  1. Java可區分為基本類型和類類型兩大類型系統,其中,類類型也稱為參考類型。
  2. 在Java中的基本類型主要可區分為整數、字節、浮點數、字符與布爾。整數:可細分為short 整數(占兩字節)、int 整數(占4字節)與long整數(占8字節);字節:byte類型顧名思義,長度就是一字節,若用於表示整數,byte可表示-128~127的整數;浮點數:主要用來儲存小數數值,可分為float浮點數(占4字節)與double浮點數(占8字節);字符:每個字符類型占2字節,漢字字符與英文字符在Java中同樣都是用雙字節儲存;布爾:boolean類型可表示true與false,分別代表邏輯的“真”與“假”
  3. 批注問題:單行批注“//”;多行批注“/”與“/”。
  4. System.out.println(),這會在標准輸出中顯示文字后換行,如果使用System.out.print()則輸出文字后不會換行,其中f就是format的意思,也就是格式化。

二、變量

  1. 基本規則:變量在命名時有一些規則,它不可以使用數字作為開頭,也不可以使用一些特殊字符;而變量名稱不可以與Java的關鍵字同名,也不可以與Java保留字同名;命名習慣,通常會以小寫字母開始,並在每個單字開始時第一個字母使用大寫,這種命名方法稱為駝峰式命名法。在Java中,不可以聲明局部變量后未指定任何值給它之前就使用變量;如果在指定變量值之后,就不想再改變變量值,可以在聲明變量時加上final限定。
  2. 字面變量:在Java中寫下一個值,該值稱為字面常數;要表示字符的話,必須使用“'”符號括住字符。
  3. 數字常量表示法:有時候,想要以二進制方式表示某個值,則可以用0b作為開頭。

三、運算符

  1. 算數運算:“+、-、*、/”;模數運算符:%;算數運算符使用上與學過的加減乘除一樣,也是先乘除后加減。
  2. 比較、條件運算:“>、>=、<、<=、==、!=",比較條件成立時以boolean類型true表示,比較條件不成立時以false表示。條件運算符:條件式?成立返回值:失敗返回值。
  3. 邏輯運算:“&&、||、!”&&與||有所謂快捷方式運算:只要左操作數評估為false,就會直接返回false,對||來說,只要左操作數評估為true,就會直接返回true,就不會再去運算右操作數。
  4. 位運算:“&、|、^、~”“<<、>>"左移被擠出去的位會被丟棄,右邊補0;右移被擠出去的位會被丟棄,如果左邊原來是什么就補什么;“>>>”這個運算符在右移后,最左邊一定補0.
  5. 遞增、遞減運算:將++或——寫在變量前,表示先將變量值加或減一,再返回變量值;將++或--寫在變量后,表示先返回變量值再對變量加或減一。
  6. 指定運算:“+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>="

四、類型轉換

整數中默認類型為int型;小數中默認類型為double型;如果表達式中包括不同類型數值,則運算時以長度最長的類型為主,其他數值自動提升類型。

五、if...else條件式、switch條件式、for循環、while循環、break、continue

這一部分在C語言學習時就已經了解,在這里只總結一下自認為不太熟悉的知識點。

switch在效率上比if...else要好;for循環中,在一個描述區塊中若想寫兩個以上的描述語句,則使用逗號做分隔;do...while:后測試循環;break與continue還可以配合標簽使用。

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

問題一:在視頻學習中,發現有這樣一段代碼:System.out.println(60);運行結果是打印出60這個數字,於是產生困惑,為什么不用加雙引號呢?就像System.out.println(“Hello World"); 解決過程:問了一些同學,但現在還沒有明確的解釋。

問題二:byte b=2;這個賦值語句,2默認為int型,按理來說不能賦值給byte型啊,這樣會丟失精度的。 解決過程:看了視頻,覺得了解一些,但對類型轉換這方面還是有些不熟練,需要繼續鞏固。

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

在IDE中進行書上代碼調試:

代碼一:

代碼二:

代碼三:

總結:其中第三個代碼要特別注意空格問題,之前由於沒有注意這個問題導致運行了很多次,出現的效果都連在一起,無法分辨每一個的結果,后來經過調整成功了。

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

本章的學習感覺雖然知識點較多,比較瑣碎,但內容還是比較簡單的,很多知識在學習C語言時就已經掌握了,比起第一二章抽象的東西覺得第三章比較容易理解,但還是有一些小的知識點理解的不夠透徹,比如說類型轉換,比如說break與continue還可以配合標簽使用,還需要多花時間在這上面,畢竟本章的內容是基礎,學好基本語法才能在以后的學習中不吃力。

課后練習題:

操作題1:

public class Zuida {
    public static void main(String[] args) {
        int m=1000,n=495,i;
        for(i=n;i>=1;i--)
        {
            if(m%i==0&&n%i==0)
                break;
        }
        System.out.println(i);
    }
}



運行結果:

操作題2:
public class amu {
    public static void main(String[] args) {
        int i,m,n,p,q,w;
        for(i=100;i<=999;i++) {
            m = i % 10;
            n = (i - m) % 100;
            p = (i - m - n) % 1000;
            q=n/10;
            w=p/100;
            if (m * m * m + q*q*q + w*w*w == i)
                System.out.println(i);
        }
    }
}

運行結果:

總結:第一個操作題因為在C語言時就已經練習編寫過,所以容易一些;在進行第二個操作題時,在分離百位、十位、個位時出錯,導致運行不出結果,后來經過修改成功執行。

托管代碼:

 

學習進度條

 

  代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時  
第一周 100/100 1/2 10/15 編譯helloworld程序
第二周 100/200 2/4 15/30 會使用IDE並成功運行代碼

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM