1. 程式人生 > >Java第二周作業

Java第二周作業

對比 ont 雙擊 循環 好的 pub 程序代碼 fin asn

本人姓名:鄒豐蔚

本人學號201771010138

面向對象程序設計java第一周學習總結

第一部分:理論知識學習部分

3.1 基本知識

1)標識符:由字母、下劃線、美元符號、數字、漢字組成, 且第一個符號不能為數字。EgHello,$842,項目,www_939

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

2)關鍵字: 關鍵字就是Java語言中已經被賦予特定意義 的一些單詞。 Egclasspublictrycatchiffloatimportvoid等。 註意:關鍵字不做變量名

3)註釋:1. // 註釋內容由//一直到此行結束。

2. /**/ 定義一個註釋塊。3. /**開始,*/結束 這種註釋方法可用來自動產生文檔。

3.2 數據類型

Java是一種強類型語言。這意味著每一個變量必須聲明一種為類型。

Java共有8種基本類型

整數類型(intshortlongbyte

浮點類型(floatdouble

字符類型 (char

布爾類型(boolean

3.3變量

Java中,每一個變量屬於一種類型。在聲明變量時, 變量所屬的類型位於變量名之前。 lJava中,一行可以聲明多個變量。逐一聲明每一個 變量可以提高程序的可讀性。

1)變量初始化:

la.一個變量聲明後,必須通過賦值語句對它進行明確的初始 化

——永遠不要使用一個未初始化的變量的值。

lb.Java中,可以在代碼的任何位置進行變量聲明。變量 的聲明盡可能地靠近變量第一次使用的地方,這是一種良 好的程序編寫風格。

lc.Java中,不能在同一作用域內聲明兩個同名的變量。

2)常量的定義:

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

2.關鍵字final表示只能對變量賦一次值,其值一旦設定, 便不能改。

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

3.4運算符

1)各種運算符:l算術運算符;自增運算符與自減運算符;關系運算符;邏輯運算符;位運算符

2)運算符的優先級與結合性

3)數學函數與常量

3.5.類型轉換(長字節向短字節轉換):

隱式類型轉換:大多數的數值轉換是遵循優先級的關系自動完成的。 轉換原則如下: 如果兩個操作數中有一個是double類型的,則另一個將 會轉換成double類型。floatlong型同理。否則,兩個操作數都將轉換成int類型。

3.6 字符串

Java字符串是Unicode字符的序列,它是組織字符的基本數據結構,用法類似於字符數組。

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

程序中需要用到的字符串可以分為兩大類:

創建之後不會再做修改和變動的不可變字符串String類;

創建之後允許再做更改和變化的構建字符串StringBuilder類。

所有的類都默認為是java.lang包中Object類的子類或間接子類----同族同宗,所有的類都可以享用一些基 本功能。

3.7輸入輸出: 1Scanner類:可以用一個給定的輸入流創建該對象,例如用標準輸入流創建: Scanner s=new Scanner(System.in),也可以用一個File對象構造一個Scanner對象,如: Scanner s=new Scanner(new File(String FilePath)); 作為一個讀取的類,Scanner主要有以下的方法:String nextLine();String next();Int nextInt(); double nextDouble(); (java6 Console類可以讀取密碼不可見:Console cons=System.console(); cons.readPassword("")) 相應的有一些檢測的hasNext方法; 2PrintWriter類:可以用一個File對象構造一個PrintWriter對象: PrintWriter pw=new PrintWriter(new File(String FilePath)); 作為一個寫出的類,PrintWriter主要的方法有:write(String str),print,println,printf等。

3.8 控制流程

Java5種語句: l

1)方法調用語句 System.out.println(“Hello!”);

2)表達式語句 x=23; i++;l

3)復合語句p63 用{}把一些語句括起來就構成了一個語句。 { z=x+23; System.out.println(“Hello”); } l

4)控制語句(程序控制流程由這些語言確定) if switchforwhiledo-while l

5packege語句和import語句

3.9大數值

1)如果基本的整型和浮點型數據無法達到要求的精度, 那麽可以使用java.math包中的兩個類, BigIntegerBigDecimal。這兩個類可以操作任 意長的數字。 l

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

10 數組

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

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

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

部分:實驗部分

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:更改實驗2s1s2s3StringBuilder類對象,觀察程序運行結果並與實驗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(“!”);

}

}

技術分享圖片

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

1 新建java project如下圖:

技術分享圖片

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

技術分享圖片

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

(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.javaRetirement2.javaLotteryOdds.java掌握循環控制結構;

Retirement.java:

技術分享圖片

Retirement2.java:

技術分享圖片

LotteryOdds.java:技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

實驗總結

通過本周的學習有關Java語言的標識符、關鍵字、註釋的基本知識。在這章的學習中,我學會了在elipse裏添加註釋,明確了數據類型、變量、運算符及字符串的轉換以及使用。掌握了Java語言構造基本程序的數據類型、變量、運算符、各類表達式、輸入輸出、流程控制的基本語法Java是一門與C語言聯系密切,和其它語言類課程一樣,極其需要自主學習的課程。因此,我會在課下花更多的時間學習這門課程。

Java第二周作業