版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
HelloWorld到面向?qū)ο骯va是完全面向?qū)ο蟮恼Z言。Java通過虛擬機(jī)的運(yùn)行機(jī)制,實(shí)現(xiàn)“跨平臺(tái)”的理念。我在這里想要呈現(xiàn)一個(gè)適合初學(xué)者的教程,希望對(duì)大家有用。
"HelloWorld!"先來看一個(gè)HelloWorld.java程序。這個(gè)程序在屏幕上打印出一串字符"HelloWorld!":publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}程序中包括Java的一些基本特征:類(class):上面程序定義了一個(gè)類HelloWorld,該類的名字與.java文件的名字相同。方法(method):類的內(nèi)部定義了該類的一個(gè)方法main。語句(statement):真正的“打印”功能由一個(gè)語句實(shí)現(xiàn),即:
System.out.println("HelloWorld!");
下面兩點(diǎn)有關(guān)Java的書寫方式:Java中的語句要以;結(jié)尾(與C/C++相同)。用花括號(hào){}來整合語句,形成程序塊。通過程序塊,我們可以知道程序的不同部分的范圍,比如類從哪里開始,到哪里結(jié)束。
編譯與運(yùn)行Java程序要經(jīng)過編譯器編譯才能執(zhí)行。在Linux或Mac下,可以下載安裝JavaJDK。
使用javac來編譯。在命令行中輸入下面語句編譯:$javacHelloWorld.java當(dāng)前路徑下,將有一個(gè)名為HelloWorld.class的文件生成。
使用java命令來運(yùn)行。Java會(huì)搜尋該類中的main方法,并執(zhí)行。$javaHelloWorld
變量計(jì)算機(jī)語言通常需要在內(nèi)存中存放數(shù)據(jù),比如C語言中的變量,Java也有類似的變量。Java和C語言都是靜態(tài)類型的語言。在使用變量之前,要聲明變量的類型。
變量(variable)占據(jù)一定的內(nèi)存空間。不同類型的變量占據(jù)不同的大小。Java中的變量類型如下:
存儲(chǔ)大小
例值
注釋byte
1byte
3
字節(jié)int
4bytes
3
整數(shù)short
2bytes
3
短整數(shù)long
8bytes
3
長(zhǎng)整數(shù)float
4bytes
1.2
單精度浮點(diǎn)數(shù)double
8bytes
1.2
雙精度浮點(diǎn)數(shù)char
2bytes
'a'
字符boolean
1bit
true
布爾值
在Java中,變量需要先聲明(declare)才能使用。在聲明中,我說明變量的類型,賦予變量以特別名字,以便在后面的程序中調(diào)用它。你可以在程序中的任意位置聲明變量。比如:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("Declareinthemiddle:");inta;a=5;System.out.println(a);//printaninteger}}上面a是變量名??梢栽诼暶髯兞康耐瑫r(shí),給變量賦值,比如
inta=5;***“變量”的概念實(shí)際上來自于面向過程的編程語言。在Java中,所謂的變量實(shí)際上是“基本類型”(premitivetype)。我們將在類的講解中更多深入。
上面的程序還可以看到,Java中,可用//引領(lǐng)注釋。
數(shù)組Java中有數(shù)組(array)。數(shù)組包含相同類型的多個(gè)數(shù)據(jù)。我用下面方法來聲明一個(gè)整數(shù)數(shù)組:int[]a;
在聲明數(shù)組時(shí),數(shù)組所需的空間并沒有真正分配給數(shù)組。我可以在聲明的同時(shí),用new來創(chuàng)建數(shù)組所需空間:int[]a=newint[100];這里創(chuàng)建了可以容納100個(gè)整數(shù)的數(shù)組。相應(yīng)的內(nèi)存分配也完成了。
我還可以在聲明的同時(shí),給數(shù)組賦值。數(shù)組的大小也同時(shí)確定。int[]a=newint[]{1,3,5,7,9};
使用int[i]來調(diào)用數(shù)組的i下標(biāo)元素。i從0開始。其他類型的數(shù)組與整數(shù)數(shù)組相似。
表達(dá)式表達(dá)式是變量、常量和運(yùn)算符的組合,它表示一個(gè)數(shù)據(jù)。1+1是常見的表達(dá)式。再比如:publicclassTest{publicstaticvoidmain(String[]args){System.out.println("Declareinthemiddle:");inta;a=5+1;System.out.println(a);//printaninteger}}上面的5+1也是一個(gè)表達(dá)式,等于6。
數(shù)學(xué)表達(dá)式數(shù)學(xué)運(yùn)算,結(jié)果為一個(gè)數(shù)值1
+
2
加法4
-
3.4
減法7
*
1.5
乘法3.5
/
7
除法7
%
2
求余數(shù)
關(guān)系表達(dá)式判斷表達(dá)式是否成立。即一個(gè)boolean值,真假a
>
4.2
大于3.4
>=
b
大于等于1.5
<
9
小于6
<=
1
小于等于2
==
2
等于2
!=
2
不等于
布林表達(dá)式兩個(gè)boolean值的與、或、非的邏輯關(guān)系true
&&
false
and(3>1)
||
(2==1)
or!true
not
位運(yùn)算對(duì)整數(shù)的二進(jìn)制形式逐位進(jìn)行邏輯運(yùn)算,得到一個(gè)整數(shù)&
and|
or^
xor~
not5
<<
3
0b101leftshift3bits6
>>
1
0b110rightshift1bit
還有下列在C中常見的運(yùn)算符,我會(huì)在用到的時(shí)候進(jìn)一步解釋:m++
變量m加1n--
變量n減1condition
?
x1
:
x2
condition為一個(gè)boolean值。根據(jù)condition,取x1或x2的值
控制結(jié)構(gòu)Java中控制結(jié)構(gòu)(controlflow)的語法與C類似。它們都使用{}來表達(dá)隸屬關(guān)系。
選擇(if)if(conditon1){statements;
...}elseif(condition2){statements;
...}else{statements;
...}上面的condition是一個(gè)表示真假值的表達(dá)式。statements;是語句。
練習(xí)
寫一個(gè)Java程序,判斷2013年是否是閏年。
循環(huán)(while)while(condition){
statements;}
循環(huán)(do...while)do{
statements;}while(condition);
//注意結(jié)尾的;
循環(huán)(for)for(initial;condition;update){
statements;}
跳過或跳出循環(huán)在循環(huán)中,可以使用break;
//跳出循環(huán)continue;
//直接進(jìn)入下一環(huán)
練習(xí)
寫一個(gè)Java程序,計(jì)算從1加2,加3……一直加到999的總和
選擇(switch)switch(expression){
case1:
statements;
break;
case2:
statements;
break;
...
default:
statements;
break;}
面向?qū)ο蟆皩?duì)象”是計(jì)算機(jī)抽象世界的一種方式?!懊嫦?qū)ο蟆笨梢杂煤芏喾绞奖磉_(dá)。下面是一種并不精確,但比較直觀的理解方式:世界上的每一個(gè)事物都可以稱為一個(gè)對(duì)象(object),比如張三。對(duì)象有身份(Identity),狀態(tài)(State)和行為(Behavior)。對(duì)象的狀態(tài)由數(shù)據(jù)成員(datamember)表示。數(shù)據(jù)成員又被稱作域(field)。我們用其他對(duì)象作為該對(duì)象的數(shù)據(jù)成員。比如一個(gè)表示身高的整數(shù),比如一個(gè)鼻子。對(duì)象的行為由成員方法(membermethod)表示。我們簡(jiǎn)稱為方法(method)。一個(gè)對(duì)象可以有多個(gè)方法,比如呼吸,睡覺。對(duì)象可以歸類(class),或者說歸為同一類型(type)。同一類型的對(duì)象有相同的方法,有同類型的數(shù)據(jù)成員。某個(gè)類型的一個(gè)對(duì)象被稱為該類型的一個(gè)實(shí)例(instance)。
類與對(duì)象
定義類的語法:classClassName{
member1;
member2;
...}
我們定義一個(gè)human類:classHuman{voidbreath(){System.out.println("hu...hu...");}
intheight;}在{}范圍內(nèi),Human類有兩個(gè)成員:一個(gè)數(shù)據(jù)成員height,一個(gè)方法breath()。數(shù)據(jù)成員height是整數(shù)類型,可以用于存儲(chǔ)一個(gè)整數(shù)。方法代表了對(duì)象所能進(jìn)行的動(dòng)作,也就是計(jì)算機(jī)所能進(jìn)行的操作。方法可以接受參數(shù),并能返回值。在breath()的定義中,breath后面的()中為參數(shù)列表。由于參數(shù)列表為空,所以breath()不接受參數(shù)。在breath()之前的void為返回值的類型,說明breath不返回值。(方法與面向過程語言中的函數(shù)類似)
現(xiàn)在,我們創(chuàng)建對(duì)象aPerson,并調(diào)用對(duì)象的方法breath:publicclassTest{publicstaticvoidmain(String[]args){HumanaPerson=newHuman();aPerson.breath();
System.out.println(aPerson.height);}}classHuman{voidbreath(){System.out.println("hu...hu...");}intheight;}在main方法中,使用new關(guān)鍵字創(chuàng)建對(duì)象。即使是來自同一個(gè)類的對(duì)象,各個(gè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 展覽展示 合同范本
- 如何寫商標(biāo)代理合同范本
- 胃癌肝性腦病的護(hù)理查房
- 臨時(shí)工合同的工作時(shí)間與休息規(guī)定
- 推進(jìn)普通話的校園文化活動(dòng)方案
- 食品安全輿情監(jiān)控管理方案
- 建筑行業(yè)工人工資發(fā)放實(shí)名制方案
- 歷史文化遺產(chǎn)保護(hù)與社會(huì)主義核心價(jià)值觀宣傳方案
- 遠(yuǎn)程醫(yī)療通信服務(wù)實(shí)施方案
- 文化廣場(chǎng)樹木移栽施工方案
- 中學(xué)教代會(huì)代表選舉辦法
- 醫(yī)院藥房二維碼溯源管理
- 四川省涼山州2023-2024學(xué)年七年級(jí)上學(xué)期期末檢測(cè)歷史試卷
- 青島市特殊建設(shè)工程消防驗(yàn)收辦事指南
- 北京市西城區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 初中九年級(jí)化學(xué)課件復(fù)分解反應(yīng)的條件“百校聯(lián)賽”一等獎(jiǎng)
- 冷庫安全施工方案
- 《企劃案撰寫》課件
- 人是如何學(xué)習(xí)的II:學(xué)習(xí)者、境脈與文化
- 妊娠易栓癥查房課件
- 《數(shù)據(jù)結(jié)構(gòu)與算法》教案
評(píng)論
0/150
提交評(píng)論