201871010123-吳麗麗《面向對象程序設計(java)》第二週學習總結

                                                                                  201871010123-吳麗麗《面向對象程序設計(java)》第二週學習總結html

                        項目  
             這個做業屬於哪一個課程 https://www.cnblogs.com/nwnu-daizh/
             這個做業的要求在哪裏
https://www.cnblogs.com/nwnu-daizh/p/11475377.html
             做業學習目標
  1. 學習並掌握Java Application程序結構;
  2. 學習並掌握Java語言的數據類型與變量;
  3. 學會使用Java運算符構造各種表達式;
  4. 掌握Java Application輸入輸出技術;
  5. 掌握Java流程控制技術(分支、循環);
  6. 掌握Math類、String類的用法

第一部分:結合Java和C基礎語法的異同比較,總結本週理論知識    (字體爲紅色是標註Java和c語言不一樣的部分,同時紅色的字也是特別注意的部分)java

1.基礎知識算法

1.1標識符編程

(a)標識符由字母、下劃線、美圓符號和數字構成,且第一個符號不能爲數字。數組

  (b)標識符可用做:
數據結構

類名、對象名、變量名、方法名、數據名、文件名等。app

1.2關鍵字框架

(a)關鍵字是Java語言中已經被賦予特定意義的一些單詞。函數

(b)在Java中常見的關鍵字有:class、public、try、catch、if、float、import、void等。學習

注:關鍵字不作變量名

1.3註釋

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

   b)/*和*/ 定義一個註釋塊。

   c)/**開始,*/結束 這種註釋方法可用來自動產生文檔。

2.數據類型

   a)Java中每種變量在使用前都必須申明變量類型

   b)數據類型分有四種類型即:整數類型(int、short、long、byte) 浮點類型(float、double) 字符類型(char) 布爾類型(boolean)

 

   c)值得一提的是,Java的編碼類型並非C語言使用的ANSI碼,而是Unicode碼。Unicode(統一碼、萬國碼)是一個編碼規範,它知足跨語言、跨平臺進行文本轉換、處理的要求。

注:Java中沒有unsigned類型;

 

    e)布爾類型

常量  true、false;

布爾值和整數在Java中不能相互轉換。

3.1變量

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

   b) 一行能夠聲明多個變量,但不建議這麼作。逐一聲明每個變量能夠提升程序的可讀性。

注:一個變量聲明後,必須經過賦值語句對它進行明確的初始化-----永遠不要使用一個未初始化的變量值;

       變量的聲明儘量地靠近變量第一次使用的地方,這是一種良好的程序編寫風格。

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

3.2常量

   a)在Java中,使用關鍵字final來指示常量。通常常量名都用大寫。如:final double CM_PER_INCH=2.54; 

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

   c)在Java中,常常但願某個常量能夠在一個類中的多個方法中使用,咱們將這些常量稱爲類常量。可使用關鍵字static final聲明一個類常量(class constants)。

4.運算符

   a)Java中,各類運算符都與面向對象有關

   b) Java提供了兩個特別運算符

      – new這是一個用來建立對象的運算符。 

      – Instanceof返回一個布爾值來指出某個對象是不是一個特定類或者是它的子類的一個實例。

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

 

 

   d) 數學函數包含在Math類中。冪函數;三角函數;指數函數及它的反函數等,Java還提供了兩個常量:Math.PI  Math.E

 5.類型轉換

(a)強制類型轉換的語法:

       (目標類型)變量名

 

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

    兩個操做數中有一個是float類型的,另外一個將會轉換成float類型;

       兩個操做數中有一個是long類型的,另外一個 將會轉換成long類型;

       不然,兩個操做數都將轉換成int類型。

6.字符串

    a)在Java中,字符串被看成對象來處理。 

    b)程序中須要用到的字符串能夠分爲兩大類:

        建立以後不會再作修改和變更的不可變字符串String類

        建立以後容許再作更改和變化的構建字符串StringBuilder類

    c) 使用「」定義字符串

    d)Java中會自動爲字符串常量生成一個String類的對象,因此能夠直接初始化String對象。

 

7.輸入輸出

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

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

8. 控制流程

控制語句(程序控制流程由這些控制語句肯定)

a)if、switch、for、while、do-while

b)Package語句和import語句

9. 大數值

    a)若是基本的整型和浮點型數據沒法達到要求的精度,可使用java.math包中的兩個類, BigInteger和BigDecimal。

    b)這兩個類能夠操做任意長的數字

       BigInteger類實現了任意精度的整數運算

       BigDecimal實現了任意精度的浮點運算

10.數組

(1)數組是一種數據結構,它是有序數據的集合,

      數組中的每個元素的數據類型都是相同的。

(2)數組的聲明

a)一維數組格式:

數組元素類型    數組名字[];

數組元素類型[]  數組名字;    //推薦使用

 

b)二維數組格式:

數組元素類型    數組名字[][];

數組元素類型[][]   數組名字;    //推薦使用

d)其中數據類型能夠爲java中的任意類型,包括基本類型和複合類型。

e)也可用定義的類來聲明數組

Point[] line;

f)java在數組聲明時並不爲數組分配內存,在java中,數組是獨立的類,有自身的辦法。

(3)數組的建立

數組聲明後,要用new運算符爲其分配內存空間,分配內存空間時必須指明數組的長度。

格式以下:

數組名字=new  數組元素類型[個數]

第二部分:實驗部分

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

1.  實驗目的:

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

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

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

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

3. 實驗步驟與內容:

實驗1 程序互評

在程序互評中發現了同窗寫程序的一些錯誤,同時也從同窗的做業中發現了咱們廣泛存在的問題,在寫程序方面,咱們連整個程序的

框架都沒記得,從中咱們認識到,要想編寫代碼,得首先知道其框架。

 

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

String s1=「Hello!」;

String s2=「World」;

String s3=s1+s2;

 

 1)程序代碼以下

package example1;

public class test2 {

	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的值
	}

}

  

2)程序運行結果以下

 

 

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

1)代碼以下

package eample;

public class test1 {

	public static void main(String[] args) {
		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);

	}

}

  2)運行結果以下

 

 實驗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的內容,掌握文件的輸入輸出操做。

1)運行結果以下

 

 2)myfile.txt內容以下

 

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

 1)示例運行結果以下

 

 

總結:該程序計算須要多長時間才能存夠必定數量的退休金。28到35行爲一個計數器,利用while循環計算出存儲值超過目標值時輸出存儲值。

使用的類不在Java.lang包中使用import字在程序第一行加上java.util類包

13到25行爲輸入;28到35爲程序處理;37行爲輸出;

2)第二個例子運行結果以下

 

 進行一個do-while循環,該循環至少要執行一次,java中的循環一般是語句塊

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

程序運行結果以下:

 

 該程序用來計算抽獎中獎的機率,應用了for循環,計算了以下公式的值:n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3...*k)

 

 

4.實驗總結

  第三章內容主要爲Java語法的基礎知識,正如老師所說,其中百分之八九十的內容都是與咱們學過的C語言基礎語法相同的,因此對於已經有了C基礎的咱們來講,學習這一章內容並不像剛學計算機語言那樣比較吃力。因此經過對這一章的學習,至關於複習了一遍C語言中的基本語法。在這一章的學習中,我學會了使用Java運算符構造各種表達式,掌握了Java流程控制技術,可是對string類和數組類的用法仍是不太熟悉,以後我會經過課後的學習和網上的課程相結合,將它們的用法弄懂,看懂,而且加以運用。經過老師上課爲咱們梳理的知識脈絡,和課後本身的閱讀上機學習,成功的完成了第二次實驗內容。雖然實驗中了不少問題,可是助教學長的講解以及幫助下成功解決了問題,成功的將程序運行起來,助教學長特別給力。

       經過這一週的學習,我更加理解了在實踐中學習的重要性,例如,實驗四中在行命令下調試程序,必須的先讀懂程序才能正確調試出結果,並且若只是理論學習,以個人水平看不出來會出現數組越界問題,但輸入合適參數時能夠正常運行。這個問題也是助教學長反覆提示過的。我以爲在這周學習中個人收穫遠大於上週的學習內容,而且在接下來的時間裏我會繼續努力學習,提升自身編程水平。

相關文章
相關標籤/搜索