項目html |
內容java |
這個做業屬於哪一個課程算法 |
https://www.cnblogs.com/nwnu-daizh/數組 |
這個做業的要求在哪裏數據結構 |
https://www.cnblogs.com/nwnu-daizh/p/11475377.htmlapp |
做業學習目標框架 |
|
第一部分:結合Java和C基礎語法的異同比較,總結本週理論知識 (字體爲紅色是標註Java和c語言不一樣的部分,同時紅色的字也是特別注意的部分)函數
1.基礎知識學習
1.1標識符字體
(a)標識符由字母、下劃線、美圓符號和數字構成,且第一個符號不能爲數字。
(b)標識符可用做:
類名、對象名、變量名、方法名、數據名、文件名等。
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類的用法。
2、實驗內容和步驟
實驗1 程序互評
在程序互評中發現了咱們本身的不少問題,其中最大的問題是咱們不瞭解java程序的最基本的框架,咱們應該更加註重最基本的知識的掌握。
實驗2:編寫包含如下代碼片斷的java應用程序,輸出字符串類對象s3的值。
String s1=「Hello!」; String s2=「World」; String s3=s1+s2; |
運行結果如圖
實驗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章3-3——3-4示例程序,掌握兩個程序循環控制結構的用途。
第一個程序結果以下
第二個程序結果以下
實驗8:按照實驗5的操做步驟,導入第3章3-5示例程序,理解抽獎機率計算算法
運行結果以下
運用了for循環實現了公式n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)。
4.實驗總結
第三章咱們主要學習了Java語法的基礎知識,其中大部分和c語言相似,因此也下降了咱們的學習難度。在這一章的學習中,我學會了使用Java運算符構造各種表達式,學會了導入Java文件,學會了string類,經過老師課堂的講解和線上的資源的學習我能學習更多的知識。
經過這一週的學習,我更加理解了實驗的重要性,並且老師給了咱們不少的例子,讓咱們更好的理解程序,瞭解最基本的程序應該怎麼去寫,也經過本身動手加深了印象,我覺的這樣的學習模式很好,還有學長當助教,這也極大的幫助了咱們的學習。