201771010117馬興德 實驗二 Java基本程式設計(1)

來源:互聯網
上載者:User

標籤:lsp   位元運算符   記憶   同名   控制語句   圖片   txt   聲明   ati   

實驗二 Java基本程式設計(1)

 第一部分    理論知識的學習。

   第三章Java基本程式設計結構

1  基本知識: 

    (1)標識符:標識符由字母、底線、貨幣符號和數字組成,且第一個符號不能為數字。比如Hello,$1234都是合法的字元;同時標識符也可用作類名、變數名、方法名、檔案名稱等。

       (2)關鍵字:關鍵字就是Java語言中被賦予特定意義的一些單詞。比如 class、public、try等,但是關鍵字不能用作變數名。

       (3)注釋:Java有三種注釋方法,如://、/*和*、(定義一個註解區塊)、/**開始,*/結束。

2   資料類型

       Java語言有8種資料類型:整數類型(int、short、byte)浮點類型(float、double)字元類型(char)布爾類型(Boolean)

3  變數的初始化

在Java中,每一個變數屬於一種類型。在聲明變數時,變數所屬的類型位於變數名之前。 

在Java中,一行可以聲明多個變數。逐一聲明每一個變數可以提高程式的可讀性。

– int i,j;//both are integers
(1)變數的初始化 一個變數聲明後,必須通過指派陳述式對它進行明確的初始化——永遠不要使用一個未初始化的變數的值  在Java中,可以在代碼的任何位置進行變數聲明。變數的聲明儘可能地靠近變數第一次使用的地方,這是一種良好的程式編寫風格。  在Java中,不能在同一範圍內聲明兩個同名的變數。

(2)常量的定義

在Java中,使用關鍵字final來指示常量。習慣上常量名都用大寫。

final double CM_PER_INCH=2.54;

l 關鍵字final表示只能對變數賦一次值,其值一旦設定,便不能改。在Java中,經常希望某個常量可以在一個類中的多個方法中使用,通常將這些常量稱為類常量。可以使用關鍵字 static final 聲明一個類常量( classconstants)。public static final double CM_PER_INCH=2.54;

4  運算子

運算子有各種運算子、運算子的優先順序與結合性以及數學函數與常量

     各種運算子包括算數運算子、自增自減運算子、關係運算子、邏輯運算子與位元運算符。而且各種運算子與物件導向運算相關。

5 類型轉換

類型轉換又分為隱函式類型轉換與強制性類型轉換,下面我將用一組圖來說明類型轉換

 

在隱函式類型轉換下大多數的數值轉換時遵循優先順序的關係自動完成的,而在強制性類型轉換則要強調在轉換的過程當中防止資料丟失

6  字串

(1)  Java字串是Unicode字元的序列,它是組織字元的基本資料結構,用法類似於字元數組。

 有內建的字串類型,而是在標準Java類庫中提供了一個Java預定義類String。在Java中,字串被當作對象來處理。

 程式中需要用到的字串可以分為兩大類:
 建立之後不會再做修改和變動的不可變字串String類;
 建立之後允許再做更改和變化的構建字串StringBuilder類。

 (2) 在字串中最重要的一點就是String類,String類又被分為String類的基本操作、構造方法和API及文檔

7  輸入輸出

  分為讀取輸入、格式化輸出和檔案輸入與輸出。

8   控制流程程

 Java共有5種語句:Java語句(複合陳述式、控制語句和impothe packege語句)、條件陳述式(if、switch)、迴圈語句(while 、do-while、for)、中斷控制流程程語句(break、continue)、返回語句(return value)

9  大數值

如果基本的整型和浮點型資料無法達到要求的精度,那麼可以使用 java.math 包中的兩個類,BigInteger和BigDecimal。這兩個類可以操作任意長的數字。

 BigInteger類實現了任意精度的整數運算,BigDecimal實現了任意精度的浮點運算。

10  數組

         數組是一種資料結構,它是有序資料的集合,數組中的每個元素的資料類型都是相同的。

          對元素的確定是由數組名和它的下標實現的,如:

                                                                             a[0]代表數組a的第一個元素,a[1]代表數組a的第二個元素,依次類推

第二部分    實驗部分

1、實驗目的與要求

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

(2)掌握Eclipse整合式開發環境下匯入Java來源程式的過程;

(3)掌握Java語言構造基本程式的資料類型、變數、運算子、各類運算式、輸入輸出、流程式控制制的基本文法;

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

2、實驗內容和步驟

實驗1:編寫java 應用程式,輸出以下4個運算式的值。

    int i=1;

    double d=1.0;

   (1) 45+45*50%i--

   (2) 1.5*3+d++

   (3) (true)&&(3>4)

   (4) (i>0)||(i<0)

在Eclipse上編寫下列程式的代碼,輸出結果如所示:

實驗2:編寫包含以下程式碼片段的java應用程式,輸出字串類對象s3的值。

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

輸出的結果如所示:

實驗3:更改實驗2中s1、s2、s3為StringBuilder類對象,觀察程式運行結果並與實驗2結果進行對比,理解String類對象與StringBuilder類對象的區別。

 實驗結果如所示:

 

實驗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(“!”);

  }

}

實驗結果如所示

實驗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的內容,掌握檔案的輸入輸出操作。

下面是該實驗的代碼以及實驗所得的結果:

import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter;import java.util.Scanner;import java.util.Arrays;public class WriteReadFileTest {    /**     * @param args     * @throws FileNotFoundException      */    public static void main(String[] args) throws FileNotFoundException {        //寫入檔案示範        PrintWriter out = new PrintWriter("myfile.txt");        out.println("姓名 高數 Java 資料結構 平均成績 總成績");        out.println("張三 20 30 40 0 0");        out.println("李四 50 60 70 0 0");        out.close();//切記,輸出完畢,需要close                        //讀入檔案示範        Scanner in = new Scanner(new File("myfile.txt"));//為myfile.txt這個File建立一個掃描器in        int number = 1;//行號        while(in.hasNextLine()){//判斷掃描器是否還有下一行未讀取,該迴圈把檔案的每一行都讀出            String line = in.nextLine();//讀出myfile.txt的下一行            System.out.println("第"+(number++)+"行的內容" +"="+line);                        Scanner linescanner = new Scanner(line);//對每一行的內容建立一個掃描器            linescanner.useDelimiter(" ");//使用空格作為分隔字元            String name = linescanner.next();            String math = linescanner.next();            String java = linescanner.next();            String ds = linescanner.next();            String avg = linescanner.next();            String total = linescanner.next();            System.out.println("name="+name+" math="+math+" java="+java+" ds="+ds+" avg"+avg+" total="+total);        }        in.close();//讀入完畢,最後需要對其進行close。     }}

 

 

實驗7:按照實驗5的操作步驟,匯入第3章樣本程式,每個樣本程式從文法、演算法兩個角度總結學習內容。

(1)測試Retirement.java,Retirement2.java,LotteryOdds.java掌握迴圈控制結構;

Retirement.java:

Retirement2.java:

LotteryOdds.java:

 

(2)測試BigIntegerTest.java,掌握大數值類的用法;

 

(3)測試LotteryDrawing.java,掌握數組的用法;

 

(4)測試CompoundInterest.java,掌握多維陣列的用法;

 

 

(5)測試LotteryArray.java,掌握不規則數組的用法。

實驗總結:

      通過本周的學習有關Java語言的標識符、關鍵字、注釋的基本知識。有了這些基本知識做鋪墊,我就能夠更好的去學習一些資料類型、變數、運算子、字串、輸入輸出等的一些相關知識。尤其在學習字串這一內容的時候,老師不但給我們複習了和C語言中相關的知識,而且還給我們介紹了一些與C語言不同之處,雖然在上課聽得時候有點模糊,但在下午的一節實驗課上老師有給我們講了一些其他方面的知識;而且還學習了Java語言的控制流程程、大數值和數組的一些基本知識,並在實驗中能夠再一次的加深我的記憶。

      在實驗中同時也瞭解到了IDE在兩種方式下Java程式開發的基本步驟;掌握了Eclipse整合式開發環境下匯入Java來源程式的過程,再次過程中有老師助教同學的協助,是我對這一部分內容學的相對比較輕鬆。最後我也在字串當中瞭解到String類更深層次的知識,學習了有關 String類的構造方法、基本操作及文檔以及在程式運行過程當中學習的StringBuilder類的一些基本方法。

201771010117馬興德 實驗二 Java基本程式設計(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.