201871010104-陈园园 《面向对象程序设计(java)》第二周学习总结
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???201871010104-陳園園 《面向?qū)ο蟪绦蛟O(shè)計(jì)(java)》第二周學(xué)習(xí)總結(jié)
| 項(xiàng)目 | 內(nèi)容 |
| 這個(gè)作業(yè)屬于哪個(gè)課程 | ttps://www.cnblogs.com/nwnu-daizh/ |
| 這個(gè)作業(yè)要求在哪里 | https://www.cnblogs.com/lily-2018/p/11441372.html |
| 作業(yè)學(xué)習(xí)目標(biāo) |
第一部分:結(jié)合Java和C基礎(chǔ)語法的異同比較,總結(jié)本周理論知識。
1、標(biāo)識符
? ? ?Java中標(biāo)識符是由字母、下劃線、美元符號和數(shù)字組成,且第一個(gè)符號不能為數(shù)字。標(biāo)識符可用作類名、對象名、變量名、方法名、數(shù)組名、文件名。
2、關(guān)鍵字
? ? ?關(guān)鍵字就是java中語言已經(jīng)被賦予特定意義的一些單詞。常見的有:class、public、try、catch、import、if、float、void等。關(guān)鍵字不做變量名。
3、注釋
? ? java中注釋有三種方式:
? ? 1)// ? 注釋內(nèi)容由//一直到此行結(jié)束。
? ? 2)/*和*/ ? 定義一個(gè)注釋塊
? ? 3)/**開始,*/結(jié)束 ? ?這種注釋方法可以用來自動產(chǎn)生文檔。
4、數(shù)據(jù)類型
? ? 整數(shù)類型(int、short、long、byte)
? ?浮點(diǎn)類型(float、double)
? ?字符類型(char)
? ?布爾類型(boolean)
? ?java中沒有unsigned類型。在java中,布爾值和整數(shù)不能相互轉(zhuǎn)換。
5、字符集:java采用unicode字符編碼集,該編碼集16位,含有65536個(gè)字符。Unicode(統(tǒng)一碼,萬國碼)是一個(gè)編碼規(guī)范,為解決傳統(tǒng)字符編碼方案局限產(chǎn)生。它為每種語言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求。
6、轉(zhuǎn)義字符
7、變量
? ? ?在java中,每一個(gè)變量屬于一種類型。在聲明變量時(shí),變量所屬的類型位于變量名之前。一行可以聲明多個(gè)變量,逐一聲明每一個(gè)變量可以提高程序的可讀性。
? ? ?一個(gè)變量聲明后,必須通過賦值語句對它進(jìn)行明確的初始化。在java中,可以在代碼的任何位置進(jìn)行變量的聲明。變量的聲明盡可能地靠近變量第一次使用的地方,這是一種良好的程序編寫風(fēng)格。
? ? ?在java中,不能在同一作用域內(nèi)聲明兩個(gè)同名的變量。
8、常量
? ? 在java中,使用關(guān)鍵字final來表示常量。習(xí)慣上常量名都用大寫。關(guān)鍵字final表示只能對變量賦一次值,其值一旦設(shè)定,便不能改。使用關(guān)鍵字static final聲明一個(gè)類常量。
9、各種運(yùn)算符
? ?算是運(yùn)算符、自增運(yùn)算符域自減運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、運(yùn)算符的優(yōu)先級與結(jié)合性。
? ?java提供了兩個(gè)特別的運(yùn)算符,new(用來創(chuàng)建對象的運(yùn)算符)、insteadof(返回一個(gè)布爾值來指出某個(gè)對象是否是一個(gè)特定的類或者是它的子類的一個(gè)實(shí)例)。
?
?10、類、域、方法和全局變量、函數(shù)
?
?1)類是C中沒有的,Java中類定義如下:
?
?[修飾符] class 類名[extends 父類名][implements 接口名]
?
其中修飾符可以為以下一個(gè)或多個(gè)訪問修飾符:
?
?abstract:抽象類。
?
?final:最終類。
?
?public:公共類。
?
?2)域(成員變量)和全局變量類比:
?
?Java中域的定義如下:
?
?[修飾符] 類型 成員變量名;
?
?修飾符可選以下一個(gè)或多個(gè)關(guān)鍵字:
?
?public:公共成員。
?
?protected:本類或同一個(gè)包的其他類以及其它包該類的子類可訪問。
?
?private:私有成員。
?
?final:常量,確定后不能改變。
?
?static:靜態(tài)變量。
?
?transient:臨時(shí)變量。
?
?volatile:備份變量。
?
?各類型成員變量默認(rèn)初始化為:
?
整型變量:0
?
浮點(diǎn)型變量:0.0
?
布爾型變量:false
?
字符型變量:空格
?
類變量:null
?
C中全局變量定義同一般變量:
?
[存儲類別] 數(shù)據(jù)類型 變量表列;
?
其中存儲類別可選:
?
auto:自動變量,當(dāng)不申明存儲類別時(shí)隱式默認(rèn)該值。
?
static:靜態(tài)變量。
?
register:寄存器變量。
?
extern:外部變量。
?
3)方法和函數(shù)類比:
?
Java中方法的定義如下:
?
[修飾符] 返回類型 方法名([參數(shù)表列])
?
修飾符可選以下一個(gè)或多個(gè):
?
public:公共方法。
?
protected:本類或同一個(gè)包的其他類以及其它包該類的子類可訪問。
?
private:私有方法。
?
abstract:抽象方法,只有方法頭沒有方法體。
?
static:靜態(tài)方法。
?
存儲類別可選:
?
extern:外部函數(shù)。
?
static:靜態(tài)函數(shù)。
?
11、數(shù)學(xué)函數(shù)與常量
? ? 數(shù)學(xué)函數(shù)包含在Math類中(冪函數(shù)、三角函數(shù)。指數(shù)函數(shù)以及它的反函數(shù))等。
12、數(shù)組
?
Java中數(shù)組定義有兩種方式:
?
數(shù)據(jù)類型數(shù)組名[];或?數(shù)據(jù)類型 []數(shù)組名;
?
定義和初始化可同時(shí)進(jìn)行,如:int []a = {0,1,2,3,4,5,6,7,8,9};
?
注意Java中數(shù)組如果在定義時(shí)沒有進(jìn)行初始化,在進(jìn)行初始化的時(shí)候需要先分配內(nèi)存,即:
?
數(shù)組名 = new 數(shù)據(jù)類型[常量表達(dá)式];
?
也可在定義同時(shí)進(jìn)行內(nèi)存分配:
?
數(shù)據(jù)類型數(shù)組名[] = new 數(shù)據(jù)類型[常量表達(dá)式];
?
C和Java都不支持變長數(shù)組,引用的時(shí)候都是 數(shù)組名[下標(biāo)]。區(qū)別是:Java的下標(biāo)范圍為0~數(shù)組長度-1,不在該范圍會拋出數(shù)組下標(biāo)越界異常,而C有效范圍也是0~數(shù)組長度-1,但下標(biāo)超出此界不會報(bào)錯。
?
?
13、類、域、方法和全局變量、函數(shù)
?
?1)類是C中沒有的,Java中類定義如下:
?
?[修飾符] class 類名[extends 父類名][implements 接口名]
?
其中修飾符可以為以下一個(gè)或多個(gè)訪問修飾符:
?
?abstract:抽象類。
?
?final:最終類。
?
?public:公共類。
?
?2)域(成員變量)和全局變量類比:
?
?Java中域的定義如下:
?
?[修飾符] 類型 成員變量名;
?
?修飾符可選以下一個(gè)或多個(gè)關(guān)鍵字:
?
?public:公共成員。
?
?protected:本類或同一個(gè)包的其他類以及其它包該類的子類可訪問。
?
?private:私有成員。
?
?final:常量,確定后不能改變。
?
?static:靜態(tài)變量。
?
?transient:臨時(shí)變量。
?
?volatile:備份變量。
?
?各類型成員變量默認(rèn)初始化為:
?
整型變量:0
?
浮點(diǎn)型變量:0.0
?
布爾型變量:false
?
字符型變量:空格
?
類變量:null
?
C中全局變量定義同一般變量:
?
[存儲類別] 數(shù)據(jù)類型 變量表列;
?
其中存儲類別可選:
?
auto:自動變量,當(dāng)不申明存儲類別時(shí)隱式默認(rèn)該值。
?
static:靜態(tài)變量。
?
register:寄存器變量。
?
extern:外部變量。
?
第二部分:實(shí)驗(yàn)部分
實(shí)驗(yàn)名稱:實(shí)驗(yàn)二 Java基本程序設(shè)計(jì)(1)
1.? 實(shí)驗(yàn)?zāi)康?#xff1a;
(1)進(jìn)一步熟悉命令行和IDE兩種方式下java程序開發(fā)的基本步驟;
(2)掌握Eclipse集成開發(fā)環(huán)境下導(dǎo)入Java源程序的過程;
(3)掌握J(rèn)ava語言構(gòu)造基本程序的數(shù)據(jù)類型、變量、運(yùn)算符、各類表達(dá)式、輸入輸出、流程控制的基本語法;
(4)掌握Math類、String類、StringBuilder類的用法。
3. 實(shí)驗(yàn)步驟與內(nèi)容:
實(shí)驗(yàn)1 java風(fēng)格九九乘法表程序互評。
實(shí)驗(yàn)2 ?編寫包含以下代碼片段的java程序,輸出字符串類對象s3的值。
String ?s1="Hello!";
String s2="World";
String s3=s1+s2;
代碼如下:
package cyy; public class cl {public static void main(String[] args) {String s1="Hello!";String s2="World";String s3=s1+s2;s3=s2.concat(s1);System.out.println(s3);}}?
運(yùn)結(jié)結(jié)果如下:
?
?
?實(shí)驗(yàn)3:更改實(shí)驗(yàn)2中的s1,s2,s3為StringBuilder類對象,觀察程序運(yùn)行結(jié)果并與實(shí)驗(yàn)2結(jié)果進(jìn)行對比,理解String類對象與StringBuilder類對象的區(qū)別。
代碼如下:
package cyy; public class cl {public static void main(String[] args) {StringBuilder s1=new StringBuilder("Hello!");StringBuilder s2=new StringBuilder("World");StringBuilder builder=new StringBuilder();builder.append(s1);builder.append(s2);System.out.println(builder);} }
運(yùn)行結(jié)果如下:
?
?實(shí)驗(yàn)4 :在命令行方式下調(diào)試運(yùn)行下列程序,理解java應(yīng)用程序命令行參數(shù)的用法。
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(“!”);} }運(yùn)行結(jié)果如下:
實(shí)驗(yàn)5:
Eclipse環(huán)境下導(dǎo)入第3章示例程序InputTest.java步驟:
(1)新建java project如下圖:
?
?2)? 選擇File->import->File ystem->Next,打開文件導(dǎo)入窗口如下圖,點(diǎn)擊上方Browse選擇導(dǎo)入源程序并選中,點(diǎn)擊下方Browse選擇源程序?qū)胛恢脼樾马?xiàng)目InputTest/src位置后,點(diǎn)擊finish完成導(dǎo)入。
(3)?? 打開InputTest項(xiàng)目src文件夾的缺省包,雙擊InputTest.java在IDE源程序編輯區(qū)打開文件。
(4)?? 右鍵單擊InputTest.java文件名打開快捷菜單,選擇Run as->java application運(yùn)行此程序,結(jié)合程序運(yùn)行結(jié)果,理解代碼中Scanner類對象用法,掌握java控制臺輸入方法。
實(shí)驗(yàn)6 文件讀寫程序測試
1)按照實(shí)驗(yàn)5操作步驟,導(dǎo)入WriteReadFileTest.java示例程序,運(yùn)行程序并理解程序代碼,觀察項(xiàng)目文件夾下文件myfile.txt的內(nèi)容,掌握文件的輸入輸出操作。
2)myfile.txt內(nèi)容如下
?
?
實(shí)驗(yàn)7 ?
按照實(shí)驗(yàn)5的操作步驟,導(dǎo)入第3章3-3——3-4示例程序,掌握兩個(gè)程序循環(huán)控制結(jié)構(gòu)的用途
3-3實(shí)例
代碼如下:
import java.util.*;/*** This program demonstrates a <code>while</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/ public class Retirement {public static void main(String[] args){// read inputsScanner in = new Scanner(System.in); //通過控制臺進(jìn)行輸入時(shí),需要構(gòu)建一個(gè)Scanner對象,并與“標(biāo)準(zhǔn)輸入流”System.in關(guān)聯(lián)。System.out.print("How much money do you need to retire? "); double goal = in.nextDouble();//輸入"How much money do you need to retire? "的內(nèi)容;System.out.print("How much money will you contribute every year? ");double payment = in.nextDouble();//輸入"How much money will you contribute every year? "的內(nèi)容;System.out.print("Interest rate in %: ");double interestRate = in.nextDouble();//輸入"Interest rate in %: "的內(nèi)容;double balance = 0; //定義雙精度型 balance,并進(jìn)行初始化;int years = 0; //定義整型years,并進(jìn)行初始化;// update account balance while goal isn't reachedwhile (balance < goal) //while循環(huán){// add this year's payment and interestbalance += payment; //balance=balance + payment;double interest = balance * interestRate / 100;balance += interest;years++;}System.out.println("You can retire in " + years + " years.");} }運(yùn)行結(jié)果如下:
?
?3-4實(shí)例
代碼如下:
import java.util.*;/*** This program demonstrates a <code>do/while</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/ public class Retirement2 {public static void main(String[] args){Scanner in = new Scanner(System.in); //通過控制臺進(jìn)行輸入時(shí),需要構(gòu)建一個(gè)Scanner對象,并與“標(biāo)準(zhǔn)輸入流”System.in關(guān)聯(lián)。System.out.print("How much money will you contribute every year? ");double payment = in.nextDouble(); //輸入"How much money will you contribute every year? "的內(nèi)容;System.out.print("Interest rate in %: ");double interestRate = in.nextDouble(); //輸入"Interest rate in %: "的內(nèi)容;double balance = 0;int year = 0;String input;// update account balance while user isn't ready to retiredo //do-while循環(huán){// add this year's payment and interestbalance += payment; //balance=balance+payment;double interest = balance * interestRate / 100;balance += interest;year++;// print current balanceSystem.out.printf("After year %d, your balance is %,.2f%n", year, balance);// ask if ready to retire and get inputSystem.out.print("Ready to retire? (Y/N) ");input = in.next();}while (input.equals("N")); //循環(huán)滿足的條件,當(dāng)輸入“Y”的時(shí)候結(jié)束循環(huán)語句;} }運(yùn)行結(jié)果如下:
?
?實(shí)驗(yàn)8:按照實(shí)驗(yàn)5的操作步驟,導(dǎo)入第3章3-5示例程序,理解抽獎概率計(jì)算算法。
代碼如下:
import java.util.*;/*** This program demonstrates a <code>for</code> loop.* @version 1.20 2004-02-10* @author Cay Horstmann*/ public class LotteryOdds {public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.print("How many numbers do you need to draw? ");int k = in.nextInt(); //輸入"How many numbers do you need to draw? "的內(nèi)容;System.out.print("What is the highest number you can draw? ");int n = in.nextInt(); //輸入"What is the highest number you can draw? "的內(nèi)容;/** compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)*/int lotteryOdds = 1;for (int i = 1; i <= k; i++) //for循環(huán);lotteryOdds = lotteryOdds * (n - i + 1) / i;System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!");} }
運(yùn)行結(jié)果如下:
?
?四.實(shí)驗(yàn)總結(jié)
? 本周的實(shí)驗(yàn)主要是在c語言的基礎(chǔ)之上,對java作了學(xué)習(xí),通過將兩者作對比將java的基礎(chǔ)知識加以鞏固與學(xué)習(xí),此外,還通過實(shí)例中的代碼慢慢地走進(jìn)java,慢慢理解java中的各種數(shù)學(xué)算法,雖然看著不太懂。但是我相信以后可能會慢慢得到升華,努力為以后的學(xué)習(xí)打下一個(gè)基礎(chǔ)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/chanyeol1127/p/11483986.html
總結(jié)
以上是生活随笔為你收集整理的201871010104-陈园园 《面向对象程序设计(java)》第二周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android环绕耳机,完全不同的“听音
- 下一篇: 在线批量无损压缩图片工具