項目html |
內容java |
這個做業屬於哪一個課程程序員 |
https://www.cnblogs.com/nwnu-daizh/算法 |
這個做業的要求在哪裏數組 |
https://www.cnblogs.com/nwnu-daizh/p/11475377.html安全 |
做業學習目標app |
|
隨筆博文正文內容包括:框架
第一部分:結合Java和C基礎語法的異同比較,總結本週理論知識eclipse
第三章:JAVA的基本程序設計結構編輯器
一:一個簡單的JAVA程序
在本練習中將指導咱們完成咱們的第一個Java應用程序HelloWorld的編寫、編譯和運行,分析糾正可能出現的錯誤。HelloWorld程序將實現顯示輸出問候語「Hello,World」的簡單功能。
1.建立Java應用程序源文件
1)打開文本編輯器NotePad(記事本)
【開始】→【程序】 →【附件】 →【記事本】
2)在該新建文件中,輸入下述代碼:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,World!");
}
}
注意:所輸入的代碼、命令和文件名的拼寫應與給出的徹底相同,Java語言是大小寫敏感的(case-sensitive),所以必須保持大小寫的拼寫一致,不然會致使編譯或運行出錯。例如:
- System ≠ system
- String ≠ string
- public ≠ Public
- HelloWorld ≠ helloworld
3)保存文件
在記事本(NotePad)窗口的菜單條上選擇菜單【文件】→【另存爲】,在打開的「另存爲」窗口中進行以下操做:
a)使用「保存在」下拉式列表框,指定要將文件保存在哪一個目錄下。例如,將文件保存到d:\javaex目錄下。
b)在「文件名」下拉式列表框中直接輸入「HelloWorld.java」;
c)在「保存類型」下拉式列表框中選擇「全部文件」。
完成上述步驟後,「另存爲」對話框界面應如圖E02-1所示,而後點擊【保存】並退出記事本程序。
2.編譯源文件
1)啓動Win2000命令行窗口
此時默認當前路徑爲系統的安裝路徑(C:\),進入Java源文件所在路徑"D:\javaex"後,運行命令"dir"能夠在該目錄的文件列表中發現文件"HelloWorld.java"
1)在上述命令行窗口中運行命令:javac HelloWorld.java
若是窗口中未出現任何報錯信息,則編譯成功,編譯器會自動生成字節碼文件"HelloWorld.class"並保存在當前路徑下,可再次運行dir命令或在資源管理器中查看該字節碼文件信息。
3.運行程序
在Win2000命令行窗口的同一目錄"D:\javaex"中,運行命令:java HelloWorld
程序將開始運行並顯示輸出"Hello,World!"
二:數據類型
1.四種整數類型(byte、short、int、long):
byte:8 位,用於表示最小數據單位。
short:16 位,不多用
int:32 位、最經常使用
long:64 位、次經常使用
2.兩種浮點數類型(float、double):
float:32 位,後綴 F 或 f,1 位符號位,8 位指數,23 位有效尾數。
double:64 位,最經常使用,後綴 D 或 d,1 位符號位,11 位指數
3.一種字符類型(char):
char:16 位,是整數類型,用單引號括起來的 1 個字符(能夠是一箇中文字符),使用 Unicode 碼錶明字符,0~2^16-1(65535) 。
4.一種布爾類型(boolean):true真和false假。
三:JAVA中的變量及常量
1.Java常量
常量一般也被稱爲「final變量」。常量在整個程序中只能被賦值一次。在爲全部對象共享值時,常量是很是有用的。在Java語言中聲明一個常量,除了要指定數據類型外,還須要經過final關鍵字進行限定。聲明常量的標準語法格式以下:
final 數據類型 常量名稱(=值)
在Java編碼規範中,要求常量名必須大寫,而且中間最好使用下劃線做爲分隔符來進行鏈接多個單詞。
當定義的常量若是屬於「成員變量」,則必須在定義時就賦給初值,不然將會在編譯時出先錯誤。
常量在程序運行過程當中主要做用——
1). 表明常數,便於程序的修改,好比:圓周率的值;
2).加強程序的可讀性,好比:常量UP、DOWN、LEFT和RIGHT分辨表明上下左右,其數值分別是一、二、3和4)。
2.Java變量
在Java語言中,全部的變量在使用前必須聲明。聲明變量的基本格式以下:
type identifier [ = value][, identifier [= value] ...] ;
格式說明:type爲Java數據類型;identifier是變量名;可使用逗號隔開來聲明多個同類型變量。
變量雖然是由程序員所命名的,可是變量的命名並非任意的,須要遵循必定的規則:
1). 變量名必須是一個有效的標識符。
2). 變量名不能重複。
3). 應選擇有意義的單詞做爲變量名。在命名變量名時,最好能經過變量名看出變量的內容,這樣既能方便讀者對程序的理解,增長可讀性,又方便程序的維護,減輕程序維護人員的工做負擔。
變量的有效範圍是值程序代碼可以訪問該變量的區域,若超出變量所在區域訪問該變量則編譯時會出現錯誤。在程序中,通常會根據變量可以訪問的區域將變量分爲成員變量和局部變量。
在類體中定義的變量被稱爲成員變量,成員變量在整個類中都有效。類的成員變量又分爲靜態變量(也稱類變量)和實例變量兩種。
3.局部變量(本地變量)
1). 聲明在方法、構造方法或者語句塊中;
2). 在方法、構造方法、或者語句塊被執行的時候建立,當它們執行完成後,變量將會被銷燬;
3). 訪問修飾符不能用於局部變量;
4). 只在聲明它的方法、構造方法或者語句塊中可見;
5). 在棧上分配的;
6). 沒有默認值,因此局部變量被聲明後,必須通過初始化,纔可使用。
4.實例變量
1). 聲明在一個類中,但在方法、構造方法和語句塊以外;
2). 當一個對象被實例化以後,每一個實例變量的值就跟着肯定;
3). 在對象建立的時候建立,在對象被銷燬的時候銷燬;
4). 值應該至少被一個方法、構造方法或者語句塊引用,使得外部可以經過這些方式獲取實例變量信息;
5). 能夠聲明在使用前或者使用後;
6). 訪問修飾符能夠修飾實例變量;
7). 對於類中的方法、構造方法或者語句塊是可見的,通常狀況下應該把實例變量設爲私有,經過使用訪問修飾符可使實例變量對子類可見;
8). 具備默認值,數值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null。變量的值能夠在聲明時指定,也能夠在構造方法中指定;
9)能夠直接經過變量名訪問。
5.類變量(靜態變量)
1). 在類中以static關鍵字聲明,但必須在方法構造方法和語句塊以外;
2). 不管一個類建立了多少個對象,類只擁有類變量的一份拷貝;
3). 除了被聲明爲常量外不多使用。常量是指聲明爲public/private,final和static類型的變量。常量初始化後不可改變;
4). 儲存在靜態存儲區。常常被聲明爲常量,不多單獨使用static聲明變量;
5). 在第一次被訪問時建立,在程序結束時銷燬;
6). 與實例變量具備類似的可見性。但爲了對類的使用者可見,大多數靜態變量聲明爲public類型;
7). 默認值和實例變量類似。數值型變量默認值是0,布爾型默認值是false,引用類型默認值是null。變量的值能夠在聲明的時候指定,也能夠在構造方法中指定。此外,靜態變量還能夠在靜態語句塊中初始化;
8). 能夠經過:ClassName.VariableName的方式訪問;
9). 類變量被聲明爲public static final類型時,類變量名稱通常建議使用大寫字母。若是靜態變量不是public和final類型,其命名方式與實例變量以及局部變量的命名方式一致。
四:運算符
1.算術運算符:
單目:+(取正)-(取負) ++(自增1) - -(自減1) 雙目:+ - * / %(取餘) 三目:a>b?true:false 說明:當a大於b的時候,爲true(也就是冒號以前的值),不然爲false;這整個運算符包括一個關係運算符(能夠是 「>」"<""!="等等),一個「?」,一個「:」,冒號先後須要有兩個表達式或者是值或者是對象。
2。關係運算:
等於符號:==,不等於符號: != ,大於符號:>, 小於符號:<,大於等於符號: >= ,小於等於符號: <= 。
3位運算符 邏輯運算符:
位運算符 與(&)、非(~)、或(|)、異或 (^)&:當兩邊操做數的位同時爲1時,結果爲1,不然爲0。如1100&1010=1000 | :當兩邊操做數的位有一邊爲1時,結果爲0,否.則爲1。如1100|1010=1110 ~:0變1,1變0 ^:兩邊的位不一樣時,結果爲1,不然爲0.如1100^1010=0110 邏輯運算符 與(&&)、非(!)、或(||)
04
賦值運算符
= += -= *= /= %= &= ^= |= <<= >>=
05
instanceof運算符
該運算符是雙目運算符,左面的操做元是一個對象,右面是一個類。當左面的對象是右面的類建立的對象時,該運算符運算結果是true,不然是false。
06
運算符綜述
Java 的 表達式就是用運算符鏈接起來的符合Java 規則的式子.運算符的優先級決定了表達式中運算執行的前後順序.例如,x<y&&!z至關於(x<y)&& (!z),沒有必要去記憶運算符號的優先級別,在編寫程序時可儘可能的使用括號來實現你想要的運算次序,以避免產生難以閱讀或含糊不清的計算順序.
運算符的結合性決定了並列相同級別的運算符的前後順序,例如,加減的結合性是從左到右,8-5+3 至關於(8-5)+3.邏輯否運算符 的結合性是右到左, x 至關於!(!x).表3.4是Java全部運算符的優先級和結合性。
07
位移運算符
<< 帶符號左移 >>帶符號右移 >>> 無號右移
五:字符串
一、Java 中的 StringBuilder 類的經常使用方法
append(參數):追加內容到當前StringBuilder對象的末尾
insert(位置,參數):將內容插入到StringBuilder對象的指定位置
toString():將StringBuilder對象轉換爲String對象
length():獲取字符串的長度
toLowerCase():轉換成小寫
charAt(int i):獲取索引爲i的值
getBytes():轉換爲字節數組
indexOf(int ch):查找ch字符在該字符串第一次出現的位置
indexOf(String str):查找str字符串在該字符串第一次出現的位置
lastIndexOf(int ch):查找ch字符在該字符串最後一次出現的位置
lastIndexOf(String str):查找str字符串在該字符串最後一次出現的位置
split():將字符串拆分紅子串;
注意:StringBuffer和StringBuilder 功能同樣,可是StringBuffer 是線程安全的,而 StringBuilder 則沒有實現線程安全功能,因此性能略高。所以通常狀況下,若是須要建立一個內容可變的字符串對象,應優先考慮使用 StringBuilder 類。
二、「==」 和 equals() 有什麼區別呢?
==: 判斷兩個字符串在內存中首地址是否相同,即判斷是不是同一個字符串對象
equals(): 比較存儲在兩個字符串對象中的內容是否一致
六:輸入與輸出語句
1).數據類型 [] 變量名;
.數據類型 變量名[];
5.建立對象數組
聲明數組變量後,而後就是須要建立一個數組對象,並將它賦給數組變量:
1). 使用new 關鍵字
2). 初始化數組的類容
由於在java中數組是對象,因此可使用new 關鍵字來建立,用new 關鍵字建立數組的時候必須指定數組的長度,使用new關鍵字建立數組的時候,全部元素都會被自動初始化,(int數組爲0 , 字符串數組爲 「\0」,布爾數組爲false ,對象數組爲null )。
6.語法:
數據類型 []變量名=new 數據類型[數組長度];
數Demo [2]=35;
組建立好以後就能夠賦值了,在數組中每一個元素都是經過下標來訪問的。
第二部分:實驗部分
實驗名稱:實驗二 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; |
程序運行結果及代碼截圖以下:
實驗3:更改實驗2中s一、s二、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的內容,掌握文件的輸入輸出操做。
1):實驗運行結果以下:
2):myfile.txt內容以下:
實驗7:按照實驗5的操做步驟,導入第3章3-3——3-4示例程序,掌握兩個程序循環控制結構的用途。
3-3截圖以下:
3-4截圖以下:
實驗8:按照實驗5的操做步驟,導入第3章3-5示例程序,理解抽獎機率計算算法。
實驗截圖以下:
實驗總結:
意識到了個人不足,理解了String類對象與StringBuilder類對象的區別。而且嘗試了一些經常使用的String類和StringBuilder類的方法。對程序在eclipse中的運行更加熟練,以及將文件導入eclipse中進行運行與輸出,在導入的過程當中出現了許多的問題,尤爲是後面的許多實驗,但經過助教老師的講解修改了以後都一一獲得瞭解決。學習了文件的輸入輸出。加深了對三種循環的理解,Java語言的循環是和C語言沒有太大差異的。