Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)課件_第1頁(yè)
Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)課件_第2頁(yè)
Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)課件_第3頁(yè)
Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)課件_第4頁(yè)
Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)課件_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)第第2章章Java基本的程序設(shè)計(jì)結(jié)構(gòu)基本的程序設(shè)計(jì)結(jié)構(gòu) n標(biāo)識(shí)符和關(guān)鍵字標(biāo)識(shí)符和關(guān)鍵字 nJava的基本數(shù)據(jù)類(lèi)型的基本數(shù)據(jù)類(lèi)型 n運(yùn)算符、表達(dá)式和語(yǔ)句運(yùn)算符、表達(dá)式和語(yǔ)句 n語(yǔ)句語(yǔ)句 n輸入輸出輸入輸出 n數(shù)組數(shù)組 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.1 標(biāo)識(shí)符和關(guān)鍵字標(biāo)識(shí)符和關(guān)鍵字 n在Java中的標(biāo)識(shí)符和關(guān)鍵字統(tǒng)稱(chēng)為保留字。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.1.1 標(biāo)識(shí)符 n標(biāo)識(shí)符是賦予常量、變量、方法、類(lèi)或者接口的名稱(chēng),可以由用戶(hù)自行定義,無(wú)長(zhǎng)度限制,但要符合以下規(guī)則:q1、標(biāo)識(shí)符可以由一個(gè)或多個(gè)字符組成q2、標(biāo)識(shí)符必須以

2、字母、下劃線(xiàn)_或$為開(kāi)頭,后面可以包含數(shù)字、字母但不包含空格。q3、標(biāo)識(shí)符中大小寫(xiě)字母有區(qū)別,但長(zhǎng)度沒(méi)有限制q4、關(guān)鍵字不能做為標(biāo)識(shí)符使用q5、用以命名類(lèi)、方法和變量、以及包遵守JAVA的命名規(guī)范,類(lèi)名稱(chēng)的每個(gè)單詞都以大寫(xiě)字母開(kāi)頭。方法和變量第一個(gè)字母不大寫(xiě),其他照舊。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.1.2 關(guān)鍵字 nJava中的關(guān)鍵字,它是Java特意保留的,具有特殊的意義和用途,不可以任意使用或更改,當(dāng)我們?cè)诰帉?xiě)程序時(shí)要注意不要使用它作為變量或方法名稱(chēng),以免造成程序編譯的錯(cuò)誤。nJava的關(guān)鍵字有:qAbstract、default、if、package、this、Bool

3、ean、do、implements、private、throw、Break、double、import、protected、throws、Byte、else、instanceof、public、transient、Case、false、interface、short、try、Catch、final、long、static、void、Char、finally、native、super、volatile、 Class、float、new、switch、while、Continue、for、null、synchronized。ngoto和const在Java中雖然不再使用,但是還作為關(guān)鍵字存在。 J

4、ava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2 Java的基本數(shù)據(jù)類(lèi)型 nJava嚴(yán)格規(guī)定每個(gè)數(shù)據(jù)類(lèi)型的大小,而且不允許任意更換變量的數(shù)據(jù)類(lèi)型。也就是說(shuō)如果A變量我們聲明為整數(shù)類(lèi)型后,就不能再將A變量改為其它類(lèi)型,而且所占的空間就是32位,無(wú)法更改。Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)表2-1 Java的基本數(shù)據(jù)類(lèi)型 類(lèi)型內(nèi)容默認(rèn)值內(nèi)存空間取值范圍booleantrue/falsefalse16位true或falsecharUnicodeu000016位u0000-uFFFFbyte整數(shù)08位-128+127short整數(shù)016位-32768+32767int整數(shù)032位-2147483

5、648+2147483647long整數(shù)064位-92233728+92233727float浮點(diǎn)0.032位3.40282347E+381.40239846E-45double浮點(diǎn)0.064位1.797693E+3084.946544E-324Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2.1 布爾型 n布爾型,也就是我們所說(shuō)的真或假,使用關(guān)鍵字boolean來(lái)定義邏輯變量,值為常量:true、false。 n【例2-1】一個(gè)布爾型應(yīng)用的示例。q定義了一個(gè)布爾類(lèi)型變量y,起初給它賦值false,然后又賦值為true,在if條件判斷中,因?yàn)閥是true,條件滿(mǎn)足,執(zhí)行語(yǔ)句所以執(zhí)行System

6、.out.println(y is true);,最后是一個(gè)表達(dá)式109,結(jié)果為真,所以顯示true。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)npublic class BoolTest npublic static void main(String args) nboolean y;ny = false;nSystem.out.println(y is + y);ny = true;nif (y) nSystem.out.println(y is true);nnSystem.out.println(109? + (10 9);nn Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2.2

7、字符型 n字符型在C語(yǔ)言中占8位,而Java中由于使用的是unicode,所以占16位。n【例2-2】舉個(gè)例子說(shuō)明一下字符型數(shù)據(jù)的使用。qpublic class CharDemo qpublic static void main(String args) qchar ch1, ch2;qch1 = 65;qch2 = B;qSystem.out.print(ch1 and ch2);qSystem.out.println(ch1 + + ch2);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n大寫(xiě)的A在ASCII字符集中的值為65,因?yàn)锳SCII中的字符集占了Unicode中的前127個(gè)字

8、符,所以ASCII中的技巧這里面一樣用。從上面可以看出,給字符型變量ch1賦值65和A作用是一樣的。程序2-2運(yùn)行結(jié)果如下所示。 圖2-2 字符型數(shù)據(jù)應(yīng)用示例運(yùn)行結(jié)果 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2.3 整數(shù)型 nJava定義了四種整數(shù)型,即字節(jié)型(byte),短整型(short),整型(int),長(zhǎng)整型(long)。在Java語(yǔ)言中沒(méi)有無(wú)符號(hào)這個(gè)關(guān)鍵字(unsigned),這個(gè)有區(qū)別于C語(yǔ)言,也就是說(shuō)所有的數(shù)都為有符號(hào)數(shù)。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2.4 浮點(diǎn)型 n浮點(diǎn)型,也就是所說(shuō)的實(shí)數(shù),其中單精度數(shù)float占4個(gè)字節(jié),雙精度數(shù)占8個(gè)字節(jié),當(dāng)需要保

9、持多次反復(fù)迭代的計(jì)算的精確性時(shí)或操作值很大時(shí),是最好的選擇了。n【例2-4】下面例子是一個(gè)雙精度數(shù)計(jì)算圓面積的例子。q/計(jì)算圓的面積qpublic class Area qpublic static void main(String args) qdouble pi, r, a;qr = 0.3; /半徑qpi = 3.1416;qa = pi * r * r; /面積qSystem.out.println(面積為: + a);qq Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.2.5 基本數(shù)據(jù)類(lèi)型的轉(zhuǎn)換 n在Java中類(lèi)型由低到高的順序?yàn)椋篵yte、short、char、int、long、f

10、loat、double。n1、自動(dòng)轉(zhuǎn)換:當(dāng)由低到高時(shí)可以自動(dòng)轉(zhuǎn)換,比如:qbyte b;int i=b;long l=b;float f=b;double d=b;q那么這些都可以自動(dòng)轉(zhuǎn)換,是合法的,但byte、short、char是平級(jí)的不能自動(dòng)轉(zhuǎn)換,必須使用強(qiáng)制轉(zhuǎn)換。n2、強(qiáng)制轉(zhuǎn)換:由高級(jí)到低級(jí)時(shí),必須使用強(qiáng)制轉(zhuǎn)換。qint i=99;byte b=(byte) i;char c=(char) i;Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n【例2-5】下面例子說(shuō)明這兩種轉(zhuǎn)換。qpublic class ChangeTest qpublic static void main(String

11、args) qbyte b = 15;qint i = b;qlong l = b;qfloat f = b;qdouble d = b;qSystem.out.println(b);qSystem.out.println(i);qSystem.out.println(l);qSystem.out.println(f);qSystem.out.println(d);qint s = 99;qbyte n = (byte) s;qSystem.out.println(s);qSystem.out.println(n);qq注意注意:在強(qiáng)制轉(zhuǎn)換時(shí)有時(shí)會(huì)導(dǎo)致溢出或降低精度,比如整型值賦給byte時(shí),

12、如果整型值大了,會(huì)自動(dòng)取模再賦值,而浮點(diǎn)數(shù)賦值給整數(shù)時(shí)會(huì)去掉小數(shù)點(diǎn)。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n3、字符串型數(shù)據(jù)與其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換:在Java中是通過(guò)toString()方法來(lái)實(shí)現(xiàn)的。n【例2-6】字符串型數(shù)據(jù)與其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換的例子。qpublic class ChangeTest1 qpublic static void main(String args) qint i1 = 10;qfloat f1 = 3.14f;qdouble d1 = 3.1415926;q/注意大小寫(xiě)qInteger I1 = new Integer(i1); /生成integer類(lèi)qFloat

13、 F1 = new Float(f1); / 生成float類(lèi)qDouble D1 = new Double(d1); /生成double類(lèi)q/分別調(diào)用包裝類(lèi)的tostring()方法轉(zhuǎn)換為字符串qString si1 = I1.toString(); /toString在此完成integer類(lèi)型轉(zhuǎn)換為字符串qString si2 = F1.toString();qString si3 = D1.toString();qSystem.out.println(si1);qSystem.out.println(si2);qSystem.out.println(si3);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)

14、教程課件(第2章)n4、將CHAR型值直接做為數(shù)值轉(zhuǎn)換為其他數(shù)據(jù)類(lèi)型n【例2-7】CHAR型值直接做為數(shù)值轉(zhuǎn)換為其他數(shù)據(jù)類(lèi)型的例子。qpublic class ChangeTest2 qpublic static void main(String args) qint i;qchar c1 = A;qi = c1;qSystem.out.println(i);qchar c2 = (char) (i + 2); / 此處要強(qiáng)制轉(zhuǎn)換qSystem.out.println(c2);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3 運(yùn)算符、表達(dá)式 nJava提供了豐富的運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)系

15、運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符等。Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式 n在Java中提供運(yùn)算功能的就是運(yùn)算符(Operator),例如與算術(shù)相關(guān)的有加(+)、減(-)、乘(*)、除(/)這類(lèi)的運(yùn)算符。另外還有一個(gè)也很常用的取模運(yùn)算符(%)。這類(lèi)以數(shù)學(xué)運(yùn)算為主的運(yùn)算符稱(chēng)為算術(shù)運(yùn)算符(Arithmetic Operator)。 n算術(shù)運(yùn)算符的使用基本上與加減乘除一樣,也是先乘除后加減,必要時(shí)加上括號(hào)表示運(yùn)算的先后順序。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3.2比較和條件運(yùn)算 n數(shù)學(xué)上有比較的運(yùn)算,像大于、等于、小于等運(yùn)算,Java中也提供了這些運(yùn)算

16、符,這些運(yùn)算符稱(chēng)為“比較運(yùn)算符”(Comparison Operator)。它們有大于()、大于等于(=)、小于()、小于等于( 5 結(jié)果 + (10 5);nSystem.out.println(10 = 5 結(jié)果 + (10 = 5);nSystem.out.println(10 5 結(jié)果 + (10 5);nSystem.out.println(10 = 5 結(jié)果 + (10 = 60 ? 是 : 否);nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3.3邏輯和位運(yùn)算 nJava中也提供這幾個(gè)基本邏輯運(yùn)算所需的邏輯運(yùn)算符(Logical Operator),分別為與(&)、或

17、(|)和取反(!)3個(gè)運(yùn)算符。 n【例2-11】下面是邏輯和位運(yùn)算的示例。qpublic class LogicalOperator qpublic static void main(String args) qint number = 75;qSystem.out.println(number 70 & number 80 | number 80 | number 75);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3.4遞增和遞減運(yùn)算 n遞增(Increment)、遞減(Decrement)與賦值(Assignment)運(yùn)算符,這幾種運(yùn)算符的目的除了讓程序看來(lái)比較簡(jiǎn)潔之外,還

18、可以稍微增加一些程序執(zhí)行的效率。n在程序中對(duì)變量遞增1或遞減1是很常見(jiàn)的運(yùn)算,例如:qint i = 0; qi = i + 1; qSystem.out.println(i); qi = i - 1; qSystem.out.println(i);n上面這段程序會(huì)分別顯示變量+1與-1操作的結(jié)果,1與0兩個(gè)數(shù), Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-16】遞增、遞減運(yùn)算符的示例。 npublic class IncrementDecrement npublic static void main(String args) nint i = 0;nSystem.out.println

19、(+i);nSystem.out.println(-i);nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.3.5賦值運(yùn)算符 n到目前為止,只學(xué)習(xí)過(guò)一個(gè)賦值運(yùn)算符,也就是=這個(gè)運(yùn)算符,事實(shí)上賦值運(yùn)算符還有其他幾個(gè),如表2-2所示。 賦值運(yùn)算符范例結(jié)果+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b&=a&=ba=a&b|=a|=ba=a|b=a=ba=ab=a=ba=a=a=ba=ab表2-2 賦值運(yùn)算符 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.4語(yǔ)句 在Java語(yǔ)言中,語(yǔ)句可分為以下5類(lèi):n1方法調(diào)用

20、語(yǔ)句方法調(diào)用語(yǔ)句qSystem.out.println(“Hello”);n2表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句q由一個(gè)表達(dá)式構(gòu)成一個(gè)語(yǔ)句,最典型的是賦值語(yǔ)句,如:x = 23;q一個(gè)表達(dá)式加上一個(gè)分號(hào)就構(gòu)成了一個(gè)語(yǔ)句,分號(hào)是語(yǔ)句不可缺少的部分。n3復(fù)合語(yǔ)句復(fù)合語(yǔ)句q可以用把一些語(yǔ)句括起來(lái)構(gòu)成復(fù)合語(yǔ)句,如:q z = 23 + x;qSystem.out.println(“Hello”);n4控制語(yǔ)句控制語(yǔ)句q包括條件語(yǔ)句和switch開(kāi)關(guān)語(yǔ)句。n5package語(yǔ)句和語(yǔ)句和import語(yǔ)句語(yǔ)句qPackage語(yǔ)句和import語(yǔ)句與類(lèi)、對(duì)象有關(guān),相關(guān)內(nèi)容在第3章中介紹。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(

21、第2章)2.4.2 控制語(yǔ)句 nJava的控制語(yǔ)句有2種類(lèi)型,即條件語(yǔ)句和switch開(kāi)關(guān)語(yǔ)句。 n1條件控制語(yǔ)句條件控制語(yǔ)句q為了解決“如果”發(fā)生了,就要的需要,Java提供了if條件控制語(yǔ)句。它的語(yǔ)法如下:qif(條件式)q 語(yǔ)句1;qelseq 語(yǔ)句2;Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n如果在if后有兩個(gè)以上的語(yǔ)句,稱(chēng)之為復(fù)合語(yǔ)句(Compound Statement),此時(shí)必須使用 定義程序塊(Block)將復(fù)合語(yǔ)句包括起來(lái)。例如:qif(條件式) q 語(yǔ)句1;q 語(yǔ)句2; qqelse q 語(yǔ)句3;q 語(yǔ)句4;qJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-19】使用i

22、f條件式來(lái)判斷使用者的輸入是奇數(shù)還是偶數(shù)。 nimport java.util.Scanner;npublic class OddDecider3 npublic static void main(String args) nScanner scanner = new Scanner(System.in);nSystem.out.print(請(qǐng)輸入數(shù)字: );nint input = scanner.nextInt();nint remain = input % 2; / 求除 2 的余數(shù)nif (remain = 1) / 如果余數(shù)為1nSystem.out.println(input +

23、為奇數(shù));nelsenSystem.out.println(input + 為偶數(shù));nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2switch 條件式條件式 nswitch只能比較數(shù)值或字符,使用適當(dāng)?shù)脑?huà),可比if判斷式有效率。switch的語(yǔ)法結(jié)構(gòu)如下:qswitch(變量名稱(chēng)或表達(dá)式) q case 符合數(shù)字或字符:q 語(yǔ)句1;q break;q case 符合數(shù)字或字符:q 語(yǔ)句2;q break;q default:q 語(yǔ)句3; q Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-21】使用switch來(lái)改寫(xiě)處理學(xué)生的成績(jī)等級(jí)問(wèn)題。 nimport java.util.Scann

24、er;npublic class ScoreLevel2 npublic static void main(String args) nScanner scanner = new Scanner(System.in);nSystem.out.print(請(qǐng)輸入分?jǐn)?shù): );nint score = scanner.nextInt();nint level = (int) score / 10;nswitch (level) ncase 10:ncase 9:System.out.println(得A);nbreak;ncase 8:System.out.println(得B);nbreak;nc

25、ase 7:System.out.println(得C);nbreak;ncase 6:System.out.println(得D);nbreak;ndefault:System.out.println(得E(不及格);nnnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.4.3 循環(huán)語(yǔ)句 n1for循環(huán)循環(huán) n在Java中如果要進(jìn)行重復(fù)性的指令執(zhí)行,可以使用for循環(huán)式。它的基本語(yǔ)法如下:qfor(初始式; 判斷式; 遞增式) q 語(yǔ)句1; q 語(yǔ)句2; q n如果語(yǔ)句只有一個(gè),也就是非復(fù)合語(yǔ)句, 可以省略不寫(xiě)。for循環(huán)的第一個(gè)初始語(yǔ)句只會(huì)執(zhí)行一次,之后每次重新進(jìn)行循環(huán)時(shí),都會(huì)根據(jù)判斷式來(lái)判

26、斷是否執(zhí)行下一個(gè)循環(huán),而每次執(zhí)行完循環(huán)之后,都會(huì)執(zhí)行遞增式。Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-22】for循環(huán)的功能示例。 npublic class SimpleLoopFor npublic static void main(String args) nfor (int i = 0; i 10; i+)nSystem.out.print( + i);nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2while循環(huán)循環(huán) nJava提供while循環(huán)式,它可以根據(jù)所指定的條件式來(lái)判斷是否執(zhí)行循環(huán)體。語(yǔ)法如下:qwhile(條件式) q 語(yǔ)句1; q 語(yǔ)句2; q Java語(yǔ)言程序

27、設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-25】計(jì)算輸入成績(jī)平均的程序。 nimport java.util.Scanner;npublic class ScoreAverage npublic static void main(String args) nScanner scanner = new Scanner(System.in);nint score = 0;nint sum = 0;nint count = -1;nwhile (score != -1) ncount+;nsum += score;nSystem.out.print(輸入分?jǐn)?shù)(-1結(jié)束):);nscore = scanner

28、.nextInt();nnSystem.out.println(平均: + (double) sum / count);nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.4.4 break和continue nbreak可以離開(kāi)當(dāng)前switch、for、while、do while的程序塊,并前進(jìn)至程序塊后下一條語(yǔ)句,在switch中主要用來(lái)中斷下一個(gè)case的比較。在for、while與do while中,主要用于中斷目前的循環(huán)執(zhí)行,break的例子之前已經(jīng)看過(guò)不少,這里不再舉例。ncontinue的作用與break類(lèi)似,主要用于循環(huán),所不同的是break會(huì)結(jié)束程序塊的執(zhí)行,而continu

29、e只會(huì)結(jié)束其之后程序塊的語(yǔ)句,并跳回循環(huán)程序塊的開(kāi)頭繼續(xù)下一個(gè)循環(huán),而不是離開(kāi)循環(huán)。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n例如:nfor(int i = 1; i 10; i+) n if(i = 5)n break;n System.out.println(i = + i); nn這段程序會(huì)顯示i = 1到4,因?yàn)楫?dāng) i 等于5時(shí)就會(huì)執(zhí)行break而離開(kāi)循環(huán)。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n看下面這個(gè)程序:nfor(int i = 1; i 10; i+) n if(i = 5)n continue;n System.out.println(i = + i); n n這

30、段程序會(huì)顯示1到4,與6到9。當(dāng) i 等于5時(shí),會(huì)執(zhí)行continue直接結(jié)束此次循環(huán),這次循環(huán)中System.out.println()行并沒(méi)有被執(zhí)行,然后從程序塊開(kāi)頭執(zhí)行下一次循環(huán),所以5并沒(méi)有被顯示。Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.5輸入輸出n1)利用System.out.println(),可以非常容易實(shí)現(xiàn)輸出 n【例2-29】一個(gè)輸出的例子。qpublic class OutputTest qpublic static void main(String args) qfloat x;qx = 100.0f / 3.0f;qSystem.out.println(x);qS

31、ystem.out.println(100.0 / 3.0);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n2)格式化輸出n在java.text包中,提供了NumberFormat類(lèi)可以產(chǎn)生這種格式,然后我們?cè)儆胒ormat方法來(lái)得到格式化的字符。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)【例2-30】一個(gè)格式化輸出的例子。 nimport java.text.*;npublic class OutputTest1 npublic static void main(String args) n double x;n x = 100.0 / 3.0;n NumberFormat f1 = N

32、umberFormat.getNumberInstance();/ 數(shù)字格式n String s = f1.format(x);n System.out.println(s);n NumberFormat f2 = NumberFormat.getPercentInstance();/ 百分比格式n s = f2.format(x);n System.out.println(s);n NumberFormat f3 = NumberFormat.getCurrencyInstance();/ 貨幣格式,這跟系統(tǒng)區(qū)域有關(guān)n s = f3.format(x);n System.out.printl

33、n(s);nnJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n3)鍵盤(pán)輸入n【例2-31】一個(gè)鍵盤(pán)輸入的例子。qimport javax.swing.*;qpublic class InputTest qpublic static void main(String args) qString name = JOptionPane.showInputDialog(please input you name:);qString input = JOptionPane.showInputDialog(please input you age:);qint age = Integer.parseInt(i

34、nput);qSystem.out.println(your name: + name + you age: + age);qSystem.exit(0);qqJava語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.6 數(shù)組 n2.6.1數(shù)組的概念n數(shù)組(Array)是一組相同數(shù)據(jù)類(lèi)型數(shù)據(jù)的有序集合。在Java語(yǔ)言中數(shù)組元素可以由簡(jiǎn)單數(shù)據(jù)類(lèi)型組成也可以由對(duì)象組成。數(shù)組中的每個(gè)元素都具有相同的數(shù)據(jù)類(lèi)型,可以用一個(gè)統(tǒng)一的數(shù)組名和一個(gè)下標(biāo)來(lái)唯一地確定數(shù)組中的元素。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n數(shù)組主要具有下面的特點(diǎn):q數(shù)組是相同數(shù)據(jù)類(lèi)型的元素的集合。q數(shù)組中的各元素是有先后順序的,在內(nèi)存中按照

35、這個(gè)先后順序連續(xù)存放在一起。q數(shù)組元素用整個(gè)數(shù)組的名字和其在數(shù)組中的順序位置來(lái)表示。如a0表示名字為a的數(shù)組中的第一個(gè)元素,a1表示數(shù)組a中的第二個(gè)元素。q從數(shù)組的構(gòu)成形式上看,可將其分為一維數(shù)組和多維數(shù)組。Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.6.2一維數(shù)組n1 一維數(shù)組的定義qtype arrayName ; q類(lèi)型(type)可以為Java中任意的數(shù)據(jù)類(lèi)型,包括簡(jiǎn)單類(lèi)型和復(fù)合類(lèi)型。 例如: qint intArray ;qDate dateArray;n2 一維數(shù)組的初始化 q 靜態(tài)初始化 nint intArray=1,2,3,4; nString stringArray=ab

36、c, How, you; Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n 動(dòng)態(tài)初始化 n1)簡(jiǎn)單類(lèi)型的數(shù)組 qint intArray; qintArray = new int5; n2)復(fù)合類(lèi)型的數(shù)組 qString stringArray ; qString stringArray = new String3; /為數(shù)組中每個(gè)元素開(kāi)辟引用空間(32位)qstringArray0= new String(How); /為第一個(gè)數(shù)組元素開(kāi)辟空間 qstringArray1= new String(are); /為第二個(gè)數(shù)組元素開(kāi)辟空間 qstringArray2= new String(you)

37、; / 為第三個(gè)數(shù)組元素開(kāi)辟空間 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n3一維數(shù)組元素的引用 n數(shù)組元素的引用方式為:qarrayNameindex qindex為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開(kāi)始。每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度,例如:intArray.length指明數(shù)組intArray的長(zhǎng)度。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)2.6.3多維數(shù)組nJava語(yǔ)言中,多維數(shù)組被看作數(shù)組的數(shù)組。 n1二維數(shù)組的定義 qtype arrayName ; qtype arrayName; Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n2二維數(shù)組的初始化 n 靜態(tài)初始化 qint intArray =1,2,2,3,3,4,5; qJava語(yǔ)言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。 Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程課件(第2章)n 動(dòng)態(tài)初始化 n1) 直接為每一維分配空間,格式如下: qarrayName = new typearrayLength1arrayLength2; qint a = new int23; n2) 從最高維開(kāi)始,分別為每一維分配空間: qarrayName = new typearrayLength1 ; qar

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論