201871010107-公海瑜《面向對象程序設計(java)》第二週學習總結

                 201871010107-公海瑜《面向對象程序設計(java)》第二週學習總結html

 

            項目                          內容
  這個做業屬於哪一個課程  
     https://www.cnblogs.com/nwnu-daizh/
  這個做業的要求在哪裏      https://www.cnblogs.com/nwnu-daizh/p/11475377.html
  做業學習目標

    1.適應老師教學方式,能按照自主學習要求完成本週理論知識學習;java

    2.掌握Java Application程序結構;算法

    3.掌握Java語言的數據類型與變量;數組

    4.學會使用Java運算符構造各種表達式;瀏覽器

    5.掌握Java Application輸入輸出技術;數據結構

    6.掌握Java流程控制技術(分支、循環);(重點)app

    7.掌握Math類、String類的用法。(難點)eclipse

 

第一部分:結合Java和C基礎語法的異同比較,總結本週理論知識函數

一、標識符:由字母、下劃線、美圓符號和數字組成,且第一個符號不能是數字。學習

二、標識符能夠用做類名、變量名、方法名、數組名以及文件名等。

三、關鍵字:Java中被賦予特殊意義的單詞。   注意:關鍵字不作變量名。

4,註釋:在Java語言中,註釋的方法有三種。

 (1)① // ,行註釋  ② /*    */ ,註釋塊       ③ /**    */,用來自動地生成文檔

 (2)在Java語言中,源代碼的文件名必須與公共類的名字相同,並用   .java    做爲擴展名,並且區分大小寫。

 (3)System.out.println();   和   System.out.print(); 其中第一個在輸出以後換行,而第二個在輸出以後不換行。

五、數據類型:(Java是一種強類型語言,因此它的每個變量都要聲明一種類型)。

 (1)8中基本的類型:

   整數類型:(int:佔4個字節;    short:佔2個字節;    long:佔8個字節;  byte:佔1個字節)

   浮點類型:(float:佔四個字節;  double:佔8個字節)

   字符類型:(char:字面量值要用單引號括起來)

   布爾類型:(Boolean:其值爲:true   或者   false。 布爾值和整型值不能相互轉換)

    注意:在Java語言中,沒有任何無符號型(unsigned)形式的int, short, long,和byte類型。

   轉義字符:\b(退格);    \t(製表);    \n(換行);     \r(回車);   \"(雙引號);    \'(單引號);    \\(反斜槓)。

六、變量:在Java中每一個變量都有一個類型。在聲明變量時,變量所屬的類型位於變量的前面。

                變量名必須是以字母開頭並由字母或數字組成的序列。變量名中,全部的字母都是有意義的,而且大小寫敏感。

      不能使用Java中的關鍵字(保留字)來做爲變量名。在一行能夠聲明一個或多個變量(不提倡),可是逐一聲明每個變量能夠提升程序的可讀性。

   變量的初始化:一個變量聲明後,必須經過賦值語句對它進行明確的初始化(不要使用未初始化的變量)。

                             在Java語言中,能夠在代碼的任何位置進行變量的聲明,可是變量的聲明儘量地在靠近變量第一次使用的地方。(在同一做用域內不能聲明兩個同名的變量)。

七、常量:在Java中,使用關鍵字final來指示常量。關鍵字final表示這個常量只能被賦值一次,一旦被賦值就不能再改了。在Java中,常常但願某個常量能夠在一個類中的多種方法中使用,一般稱這些常量爲類常量。可使用關鍵字  Static  final  聲明一個類常量。

八、運算符:

 (1)各類條件運算符:包括算術運算符、自增運算符與自減運算符、關係運算符、邏輯運算符和位運算符。

 (2)Java提供的特殊運算符:New運算符和Instenceof,前者用來建立對象的運算符,或者用來返回一個布爾值來指出某個對象是不是一個特定類或者是它的子類的一個實例。

 (3)運算符的優先級與結合性:見書44~45.

 (4)數學函數與常量:數學函數包含在Math類中,提供冪函數、三角函數、指數函數及它的反函數等。

 (5)Java還提供了兩種常量:——Math.PI, Math.E.

九、類型轉換:                   char

             ↓                

       byte  →  short  →     int  →  long

                           ↓          ↓

                       float  → double

 隱式類型轉換:

 (1)若是兩個操做數中有一個是double類型的,則另外一個會轉換成double類型;

 (2)若是兩個操做數中有一個是float類型的,則另外一個會轉換成float類型;

 (3)若是兩個操做數中有一個是long類型的,則另外一個會轉換成long類型;

 (4)兩個數都將轉換成int類型。

 強制類型轉換:

      強制類型轉換的語法格式是在圓括號中給出想要轉換的類型,後面緊跟帶轉換的變量名。

      (目標類型 )        變量名

      強制類型轉換隻是從那個變量計算出一個新的類型的值,並無改變那個變量,不管是值仍是類型都不改變。

十、字符串

 (1)Java中字符串是Unicode字符的序列,它是組織字符的基本數據結構。

 (2)有內置的字符串類型,在標準Java類庫中提供了一個Java預約義類String。在Java中,字符串被看成對象來處理。

 (3)程序中須要用到的字符串有兩類:建立以後不會再作修改和變更的不可變字符串String類;建立以後容許再作更改和變化的構建字符串StringBuilder類。

 (4)字符串常量:用雙引號定義字符串常量;Java會自動爲字符串常量生成一個String類的對象,因此能夠直接初始化String類的對象。

 (5)String類:

    String類的構造方法:建立String類的一個對象,並對它初始化,須要調用類String的構造方法。

    A:String(): 建立一個空串;

    B:String(String  Value);

    C:String  (char  value []);

    D:String  (char[],  int   startIndex);

    E:String  (byte[],   byte   hibyte);

    F:String  (byte[],  byte  hibyte,  int   startIndex,  int numChars);

String類的基本方法: 

           得到字符串的字串;     

   串鏈接(+): 注意,當獲取一個字符串和一個非字符串時,後者將會轉換成字符串;

   獲取字符串的長度:使用String類中的length()方法能夠獲取一個字符串的長度;

   檢測字符串是否相等:可使用equals方法檢測兩個字符串是否相等;

   必定不能使用   「=」   運算符兩個字符串是否相等,這個運算符只能肯定兩個字符串是否放置在同一個位置上。

 字符串檢索:

   字符串數字與數值的轉化:Java.lang包中的Interger類,Long類,Float類, Double類分別提供了相應的方法來進行字符串與數值間的轉換。

   得到對象的字符串表示:全部的類都默認爲Java.lang包中Object類的子類或間接子類。Object類中有一種方法得到對象的字符串表示:   toString()。

   String類的API及文檔:String類中包含各種字符串處理的50多種方法,使用JDK在線API 文檔能夠查閱全部標準類及其方法,打開瀏覽器,指向JDK安裝目錄下的docs/spi/index.html。

  (6)StringBuilder類字符串;

        StringBuilder類的說明:需多個小段字符串鏈接建立一個字符串時,每次鏈接字符串時,都會構建一個新的String類對象。

      eg:      StringBuilder  builder = new  StringBuilder();     建立一個字符串對象;

          builder.append(ch);                                                   appends  a   singer   character;

             Builder.append(str);                                              appends    a    String

   StringBuilder 類的API:

    (1)分配/獲取字符串的長度;

    (2)分配/獲取字符串的容量;

    (3)字符串的檢索和字串;

    (4)字符串的修改;

    (5)字符串類型轉換:   toString();

十一、輸入輸出:

 (1)讀取輸入:經過控制檯進行輸入時,須要構建一個Scanner對象,並與「標準輸入流」System.in關聯。

          Scanner  in= new   Scanner(System.in);

          Scanner類定義在java.util包中,使用時將包加載進來;

          Scanner類輸入時可見的;

             (2)格式化輸出:使用System.out.println();將數值輸出到控制檯。

十二、控制流程:

  Java有5中語句:(1)方法調用語句:System.out.println("Hello!World");

           (2)表達式語句:

           (3)複合語句:用    {}    把一些語句括起來就構成了一個語句。

           (4)控制語句:程序控制流程由控制語句給出;if, switch, for, while,do_while.

           (5)package語句和import語句。

第二部分:實驗部分

實驗名稱:實驗二 Java基本程序設計

1.  實驗目的:

(1)進一步熟悉命令行和IDE兩種方式下java程序開發的基本步驟;

(2)掌握Eclipse集成開發環境下導入Java源程序的過程;

(3)掌握Java語言構造基本程序的數據類型、變量、運算符、各種表達式、輸入輸出、流程控制的基本語法;

(4)掌握Math類、String類、StringBuilder類的用法。

3. 實驗步驟與內容:

實驗1 程序互評

實驗2 編寫包含如下代碼片斷的java應用程序,輸出字符串類對象s3的值。

代碼以下:

package shiyaner; public class shiyantwo { public static void main(String[] args) { // TODO Auto-generated method stub
        String s1="Hello!";            //定義了一個String,名爲s1,並將字符串Hello賦值給s1
        String s2="World";             //定義了一個String,名爲s2,並將字符串World賦值給s2
        String s3=s1+s2;               //定義了一個String,名爲上,並將s1+s2的值賦給s3
        System.out.println(s3);        //輸出s3的值
 } }

運行結果以下:

 

 實驗3 更改實驗2中s一、s二、s3爲StringBuilder類對象,觀察程序運行結果並與實驗2結果進行對比,理解String類對象與StringBuilder類對象的區別。

代碼以下:

package shiyansan; public class shiyanthree { public static void main(String[] args) { // TODO Auto-generated method stub
        StringBuilder s1 = new StringBuilder("Hello!"); //在字符串構建器StringBuilder中建立一個新的StringBuilder
        StringBuilder s2 = new StringBuilder("World"); StringBuilder s3 = new StringBuilder().append(s1).append(s2);//用StringBuilder將s1和s2拼接起來
        System.out.println(s3); } }

運行結果如圖:

 

 實驗4 在命令行方式下調試運行下列程序,理解java應用程序命令行參數的用法。

public class Message

{  

public static void main(String[] args)

  {     

  if (args[0].equals(「-h」)) System.out.print(「Hello」);

    else if(args[0].equals(「-g」)) System.out.print(「goodbye,」);

  for(int i=1;i<args.length;i++)

    System.out.print(「  」+args[i]);

  System.out.println(「!」);

  }

}

代碼以下:

public class Message { public static void main(String[] args) { // TODO Auto-generated method stub
        if (args[0].equals("-h")) System.out.print("Hello"); else if(args[0].equals("-g")) System.out.print("goodbye,"); for(int i=1;i<args.length;i++) System.out.print(" "+args[i]); System.out.println("!"); } }

 

運行結果如圖:

 

實驗5 Eclipse環境下導入第3章示例程序InputTest.java步驟:

(1)新建java project以下圖:

 

(2) 選擇File->import->File ystem->Next,打開文件導入窗口以下圖,點擊上方Browse選擇導入源程序並選中,點擊下方Browse選擇源程序導入位置爲新項目InputTest/src位置後,點擊finish完成導入。

 

 

(3)打開InputTest項目src文件夾的缺省包,雙擊InputTest.java在IDE源程序編輯區打開文件。

(4)右鍵單擊InputTest.java文件名打開快捷菜單,選擇Run as->java application運行此程序,結合程序運行結果,理解代碼中Scanner類對象用法,掌握java控制檯輸入方法。

運行結果如圖:

 

 

 

 

 實驗6 按照實驗5操做步驟,導入WriteReadFileTest.java示例程序,運行程序並理解程序代碼,觀察項目文件夾下文件myfile.txt的內容,掌握文件的輸入輸出操做。

 (1)運行結果如圖:

 

 (2)myfile.txt內容以下:

 

 

 實驗7 按照實驗5的操做步驟,導入第3章3-3——3-4示例程序,掌握兩個程序循環控制結構的用途。

(1)運行結果如圖:

 

 (2)Retirement2運行結果如圖:

 

 

實驗8 按照實驗5的操做步驟,導入第3章3-5示例程序,理解抽獎機率計算算法。

運行結果如圖:

 

 

4.實驗總結

      第三章內容主要爲Java語法的基礎知識,主要是C語言與Java語言異同的對比,也是咱們學習Java的基礎內容。經過這次實驗,我學會了如何向eclipse導入其餘文件夾中的程序,掌握Java語言構造基本程序的數據類型、變量、運算符、各種表達式、輸入輸出、流程控制的基本語法。雖然感受有些吃力,有些跟不上節奏,可是在助教老師和同窗的幫忙下,以及經過看慕課視頻,已經基本上可以進行實驗。

相關文章
相關標籤/搜索