1. 程式人生 > >201771010110孔維瀅《面向對象程序設計(java)》第二周學習總結

201771010110孔維瀅《面向對象程序設計(java)》第二周學習總結

寫入文件 輸入輸出 例程 但是 png println public 構造器 strong

理論知識內容

1.標識符:

標識符由字母、下劃線、美元符號和數字組成, 且第一個符號不能為數字。

合法標識符: Hello、$1234、程序名、www_123

標識符可用作: 類名、變量名、方法名、數組名、文件名等。

2.關鍵字:

關鍵字就是Java語言中已經被賦予特定意義 的一些單詞。

常見有:class、public、try、catch、if、 float、import、void等。

關鍵字不做變量名。

3.註釋:

Java有三種註釋的方式:

a. //

註釋內容由//一直到此行結束。

b. /*和*/

定義一個註釋塊。

c. /**開始,*/結束

這種註釋方法可用來自動產生文檔。

4.數據類型:

(1)整型:int,short,long,byte

(2)浮點型:float,double

(3)字符類型:char

(4)布爾類型:boolean

Java中整數的範圍與運行Java代碼的機器無關,Java中沒有unsigned類型。

5.變量

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

一行可以聲明多個變量。逐一聲明每一個 變量可以提高程序的可讀性。

不能在同一作用域內聲明兩個同名的變量。

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

雖然可以在代碼的任何位置進行變量聲明,但為了保證一種良好的程序編寫風格,變量的聲明盡可能地靠近變量第一次使用的地方。

在Java中,使用關鍵字final來指示常量(常量名習慣大寫)。關鍵字final表示只能對變量賦一次值,其值一旦設定, 不能改。

在Java中,經常希望某個常量可以在一個類中的多個方法中使用,通常將這些常量稱為類常量。可以使用關鍵字staticfinal聲明一個類常量(class constants)。

6.運算符

有算術運算符,自增運算符與自減運算符,關系運算符,邏輯運算符,位運算符

其中,Java提供的兩個特別運算符:new(用來創建對象);instanceof(返回一個布爾值來指出某個對象是否是一個特定類或者是它的子類的一個實例)

7.數學函數與常量

數學函數包含在Math類中(冪函數 ,三角函數,指數函數及它的反函數等)

Java還提供了兩個常量:Math.PI 和 Math.E

若不想在數學方法名和常量名前加前綴 “Math.”,可在源文件頂部加上:import static java.lang.Math.*;

8.類型轉換

a.隱式類型轉換

大多數的數值轉換是遵循優先級的關系自動完成的。

如果兩個操作數中有一個是double類型的,則另一個將 會轉換成double類型。

否則,如果兩個操作數中有一個是float類型的,另一個 將會轉換成float類型。 ?

否則,如果兩個操作數中有一個是long類型的,另一個 將會轉換成long類型。 ?

否則,兩個操作數都將轉換成int類型。

b.強制類型轉換

(目標類型)變量名

9.字符串

Java字符串是Unicode字符的序列,它是組織字符的基 本數據結構,用法類似於字符數組。有內置的字符串類型,而是在標準Java類庫中提供了一 個Java預定義類String。

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

在Java中,字符串被當作對象 來處理。

String類的基本操作:(1) 獲得字符串的子串;(2) 串連接(+);(3) 獲取字符串的長度;(4) 檢測字符串是否相等;(5) 字符串檢索;(6) 字符串與數值的轉化;(7) 獲得對象的字符串表示。

10.輸入與輸出

(1)讀取輸入:通過控制臺進行輸入時,需要構造一個Scanner對象,並 與“標準輸入流”System.in關聯。

(2)格式化輸出:使用System.out.print(x)將數值x輸出到控制臺上, 這條命令將以x對應的數據類型所允許的最大非0數字 位數打印輸出x。

(3)文件輸入與輸出:要想對文件進行讀取,就需要一個用File對象構造一個Scanner對象。要想寫入文件,就需要構造一個PrintWriter對象,在構造器中,只需提供文件名:PrintWriterout = new PrintWriter(“myfile.txt”);

實驗二:Java基本程序設計

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)

結果如下:

技術分享圖片

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

String s1=“Hello!”;

String s2=“World”;

String s3=s1+s2;

結果如下:

技術分享圖片

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

代碼如下;

package 實驗三;

public class 實驗三 {

    public static void main(String[] args) {
        StringBuilder s1=new StringBuilder("Hello, ");
        StringBuilder s2=new StringBuilder("World!");
        s1.append(s2);
        System.out.println(s1);
    }

}

結果如下:

技術分享圖片

實驗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源程序編輯區打開文件。右鍵單擊InputTest.java文件名打開快捷菜單,選擇Run as->java application運行此程序,結合程序運行結果,理解代碼中Scanner類對象用法,掌握java控制臺輸入方法。

技術分享圖片

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

技術分享圖片

技術分享圖片

實驗7:按照實驗5的操作步驟,導入第3章示例程序,每個示例程序從語法、算法兩個角度總結學習內容。

1)測試Retirement.java,Retirement2.java,LotteryOdds.java掌握循環控制結構;

技術分享圖片

技術分享圖片

技術分享圖片

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

技術分享圖片

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

技術分享圖片

4)測試CompoundInterest.java,掌握多維數組的用法;

技術分享圖片

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

技術分享圖片

3.實驗總結:通過此次學習,我學習到了Java語言的基本程序結構,與我們學過C語言相似,但也有所不同。實驗一、二、三,讓我明白了String類,StringBuilder類的用法,實驗四讓我明白了變量。後面的實驗也讓我掌握了Eclipse環境下導入已有代碼的方法,Scanner類對象,數組以及循環控制結構的文件的輸入輸出操作,還有一些語法結構的運用。相較於第一次實驗,我可以更加熟練地使用eclipse和運用命令行方式來運行程序。但是由於對之前所學C語言知識的遺忘,對於多維數組,不規則數組的用法還有待更加深刻的學習。Java是一門需要自主學習與實踐相結合的語言課程,今後的學習裏我會更加努力,認真學好這門課。

201771010110孔維瀅《面向對象程序設計(java)》第二周學習總結