201771010118马昕璐
第一部分?理論知識的學習
第三章Java基本程序設計結構
1 ?基本知識:
(1)標識符:標識符由字母、下劃線、美元符號和數字組成,且第一個符號不能為數字。Hello、$1234、程序名、www_123都是合法標識符。
???標識符可用作類名、變量名、方法名、數組名、文件名等。
(2)關鍵字:關鍵字就是Java語言中已經被賦予特定意義的一些單詞。 常見有:class、public、try、catch、if、float、import、void等。關鍵字不做變量名。
(3)注釋:Java有三種注釋的方式:
1. //
注釋內容由//一直到此行結束。
2. /*和*/
定義一個注釋塊。
3. /**開始,*/結束
這種注釋方法可用來自動產生文檔
Java是一種強類型語言。這意味著每一個變量必須聲明一種為類型。Java共有8種基本類型
– 整數類型
int(內存分配個4字節,占32位,取值范圍-231?~ 231-1。)
??????變量定義:int x; ?定義同時可賦值:int height=180
short(內存分配2個字節,占16位,取值范圍-215?~215-1)
??????變量定義:short h; ??定義同時可賦值:short m=12
long(內存分配8個字節,占64位,取值范圍-263 ~263-1)
??????變量定義:long sum ???定義同時可賦值:long sum=343435L;
byte(內存分配個1字節,占8位,取值范圍-27?~ 27-1。)
??????變量定義:byte w ?????定義同時可賦值:byte x=12, y=24,
– 浮點類型
float(內存分配4個字節,占32位,有效小數位數為6~7)
???????變量的定義:float x ??定義時賦初值 :float x1=12.23f
double(內存分配8個字節,占64位,有效小數位數為15)
???????變量定義:double d ???定義時可以賦初值:double d1=12.23
??????表示溢出和出錯的三種特殊的浮點數值:1.正無窮大 ??2.負無窮大l 3.NaN(非數字)
– 字符類型 (char)
????????????變量定義:char q ????定義同時可賦值:char c=‘a’, type, cat
Java 采用unicode字符編碼集,該編碼集16位,含有65536個字符。
– 布爾類型(boolean )
?????????????變量的定義:boolean x; ???定義同時可賦值:boolean x=true
在Java中,布爾值和整數不能相互轉換。
Java中沒有unsigned類型
在Java中,每一個變量屬于一種類型。在聲明變量時,變量所屬的類型位于變量名之前。
在Java中,一行可以聲明多個變量。逐一聲明每一個變量可以提高程序的可讀性。
(1)變量初始化
????????一個變量聲明后,必須通過賦值語句對它進行明確的初始化——永遠不要使用一個未初始化的變量的值。
????????在Java中,不能在同一作用域內聲明兩個同名的變量
(2)常量的定義 ?
????????在Java中,使用關鍵字final來指示常量。習慣上常量名都用大寫
????????關鍵字final表示只能對變量賦一次值,其值一旦設定,便不能改。
運算符有各種運算符、運算符的優先級與結合性以及數學函數與常量
?? ????各種運算符包括算數運算符、自增自減運算符、關系運算符、邏輯運算符與位運算符。而且各種運算符與面向對象運算相關。
類型轉換分為隱函式類型轉換與強制性類型轉換
如果兩個操作數中有一個是double類型的,則另一個將會轉換成double類型。
如果兩個操作數中有一個是float類型的,另一個會轉換成float類型。
? ? 如果兩個操作數中有一個是long類型的,另一個將會轉換成long類型。
? ? 兩個操作數都將轉換成int類型。
????Java字符串是Unicode字符的序列,它是組織字符的基本數據結構,用法類似于字符數組。例如:String s = “Hello world!”
u 有內置的字符串類型,而是在標準Java類庫中提供了一個Java預定義類String。在Java中,字符串被當作對象來處理。
(1)獲得字符串的子串(2) 串連接(+)(3)獲取字符串的長度(4) 檢測字符串是否相等(5) 字符串檢索 字符串與數值的轉化
?程序中需要用到的字符串可以分為兩大類:
– 創建之后不會再做修改和變動的不可變字符串String類;
– 創建之后允許再做更改和變化的構StringBuilder類。
分為讀取輸入、格式化輸出和文件輸入與輸出。
Java語句(復合語句、控制語句和impothe packege語句)、條件語句(if、switch)、循環語句(while 、do-while、for)、中斷控制流程語句(break、continue)、返回語句(return value)
????如果基本的整型和浮點型數據無法達到要求的精度,那么可以使用 java.math 包中的兩個類,BigInteger和BigDecimal。這兩個類可以操作任意長的數字
數組是一種數據結構,它是有序數據的集合,數組中的每個元素的數據類型都是相同的。
第二部分?實驗部分
實驗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; |
在Eclipse上編寫下列程序的代碼,輸出結果如下圖所示:
實驗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的內容,掌握文件的輸入輸出操作。
實驗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的基礎知識,對構建java語句有一定的了解及掌握,但不夠熟悉,在之后的學習中應多加練習。
在實驗內容部分中,我學會了如何在IDE當中導入源程序,通過過測試代碼的合法性,在實例中學習基礎語句的作用及其表達。因為與c語言高度的相似性,所以并不難理解,但在熟練掌握方面還不夠。在實驗示例中有部分程序還了解不是很透徹,需要多查資料去了解及掌握。每次自主試驗都會有收獲,但是困難就更難去解決,我會一步步把掌握的和不懂的都解決。
轉載于:https://www.cnblogs.com/maxinlu/p/9612782.html
總結
以上是生活随笔為你收集整理的201771010118马昕璐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 3223: Tyvj 1729
- 下一篇: 动态规划:LIS优化