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

下載本文檔

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

文檔簡(jiǎn)介

1、Java程序設(shè)計(jì)基礎(chǔ)教程,第二章 java基本程序設(shè)計(jì)結(jié)構(gòu),第2章Java基本的程序設(shè)計(jì)結(jié)構(gòu),標(biāo)識(shí)符和關(guān)鍵字 Java的基本數(shù)據(jù)類型 運(yùn)算符、表達(dá)式和語(yǔ)句 語(yǔ)句 輸入輸出 數(shù)組,2.1 標(biāo)識(shí)符和關(guān)鍵字,在Java中的標(biāo)識(shí)符和關(guān)鍵字統(tǒng)稱為保留字。 標(biāo)識(shí)符是賦予類、常量、變量、方法、包或者接口的名稱。,2.1.1 標(biāo)識(shí)符,標(biāo)識(shí)符可以自定義,要符合以下規(guī)則: 1、可包含數(shù)字、字母、下劃線_或$,但不能以數(shù)字開(kāi)頭。 2、區(qū)別大小寫,但長(zhǎng)度沒(méi)有限制 3、關(guān)鍵字不能做為標(biāo)識(shí)符使用 4、遵守JAVA的命名規(guī)范, 1)類名稱的每個(gè)單詞都以大寫字母開(kāi)頭。2)方法和變量第一個(gè)字母不大寫,其他字母開(kāi)頭大寫。 3)常

2、量每個(gè)字母都大寫。 4)包名都小寫。,2.1.2 關(guān)鍵字,具有特殊的意義和用途,不能作為自定義標(biāo)識(shí)符。 Java的關(guān)鍵字有: Abstract、default、if、package、for、null、this、Boolean、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、supe

3、r、volatile、 Class、float、new、switch、while、Continue、 synchronized goto和const在Java中雖然不再使用,但是還作為關(guān)鍵字存在。,2.2 Java的基本數(shù)據(jù)類型,2.2.1 布爾型,布爾型,使用關(guān)鍵字boolean來(lái)定義邏輯變量,值為常量:true、false。 【例2-1】一個(gè)布爾型應(yīng)用的示例。P22,2.2.2 字符型,Java中由于使用的是unicode編碼,所以一個(gè)字符占16位。,char ch1, ch2; ch1 = 65; ch2 = B;,java轉(zhuǎn)義符:某些控制符和需轉(zhuǎn)義的字符 b 退格鍵 t 制表符 n 換

4、行 ” 雙引號(hào) 單引號(hào) 反斜杠,控制符,轉(zhuǎn)義符,2.2.3 整數(shù)型,Java定義了四種整數(shù)型,即byte(字節(jié)型), short(短整型), int(整型), long(長(zhǎng)整型)。 在Java語(yǔ)言中所有的數(shù)都為有符號(hào)數(shù)。 整型常量: 123 600 077 0 x23A,2.2.4 浮點(diǎn)型,浮點(diǎn)型, float單精度數(shù)占4個(gè)字節(jié),double雙精度數(shù)占8個(gè)字節(jié) 浮點(diǎn)型常量; 單精度:123.45f 123F 23e2f 雙精度:123.45 123d 23e2,2.2.5 基本數(shù)據(jù)類型的轉(zhuǎn)換,在Java中類型精度由低到高的順序?yàn)椋?byte、short、char、int、long、float、

5、double 1、自動(dòng)轉(zhuǎn)換:當(dāng)由低到高時(shí)可以自動(dòng)轉(zhuǎn)換 byte b;int i=b;long l=b;float f=b;double d=b; byte、short、char是平級(jí),必須使用強(qiáng)制轉(zhuǎn)換。 2、強(qiáng)制轉(zhuǎn)換:由高級(jí)到低級(jí)時(shí),必須強(qiáng)制轉(zhuǎn)換 int i=99;byte b=(byte) i;char c=(char) i;,public class ChangeTest public static void main(String args) byte b = 15;int i = b; float f = b;double d = b; System.out.println(i); S

6、ystem.out.println(f); System.out.println(d); int s = 199; byte n = (byte) s; double t=12.3; s=(int)t; System.out.println(n); System.out.println(s); ,注意:在強(qiáng)制轉(zhuǎn)換時(shí)有時(shí)會(huì)導(dǎo)致溢出或降低精度,如果整型值大了,會(huì)自動(dòng)取模再賦值,而浮點(diǎn)數(shù)賦值給整數(shù)時(shí)會(huì)去掉小數(shù)點(diǎn)。,15 15.0 15.0 -57 12,例2-7 P26 | 例2-6 P25,2.3 運(yùn)算符、表達(dá)式,Java提供了豐富的運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符等。,2.

7、3.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式,在Java中提供運(yùn)算功能的就是運(yùn)算符(Operator),例如與算術(shù)相關(guān)的有加(+)、減(-)、乘(*)、除(/)、取模運(yùn)算符(%)。 算術(shù)運(yùn)算符的使用基本上與加減乘除一樣,也是先乘除后加減,必要時(shí)加上括號(hào)改變運(yùn)算的先后順序。,3/15=? 15 % (-6)=? -15 % 6=? (-15) % 6=?,2.3.2比較和條件運(yùn)算,“比較運(yùn)算符” 有大于()、大于等于(=)、小于()、小于等于(=)、等于(=)和不等于(!=)。 在Java中,比較條件成立時(shí)以true表示,比較條件不成立時(shí)以false表示。 對(duì)于對(duì)象來(lái)說(shuō),兩個(gè)對(duì)象參考之間使用=作比較時(shí),是比較其

8、名稱是否參考至同一對(duì)象,而不是比較其內(nèi)容。,“條件運(yùn)算符” 使用方式如下: 條件式 ? 成立返回值 : 失敗返回值 返回值依條件式的結(jié)果而定,如果條件式的結(jié)果為true,則返回冒號(hào)前的值;若為false,則返回冒號(hào)后的值。,2.3.3邏輯和位運(yùn)算,Java中也提供這幾個(gè)基本邏輯運(yùn)算所需的邏輯運(yùn)算符分別為與( System.out.println(d=+i); System.out.println(-i); ,2.3.5賦值運(yùn)算符,到目前為止,只學(xué)習(xí)過(guò)一個(gè)賦值運(yùn)算符,也就是=這個(gè)運(yùn)算符,事實(shí)上賦值運(yùn)算符還有其他幾個(gè),如表2-2所示。,表2-2 賦值運(yùn)算符,2.4 語(yǔ)句,在Java語(yǔ)言中,語(yǔ)句可分

9、為以下5類: 1方法調(diào)用語(yǔ)句 System.out.println(“Hello”); 2表達(dá)式語(yǔ)句 由一個(gè)表達(dá)式構(gòu)成一個(gè)語(yǔ)句,如:x = 23; 一個(gè)表達(dá)式加上一個(gè)分號(hào)就構(gòu)成了一個(gè)語(yǔ)句 3復(fù)合語(yǔ)句 用把一些語(yǔ)句括起來(lái)構(gòu)成復(fù)合語(yǔ)句,如: z = 23 + x; System.out.println(“Hello”);,4控制語(yǔ)句 包括控制語(yǔ)句if、for和switch等語(yǔ)句。 5package語(yǔ)句和import語(yǔ)句 Package語(yǔ)句和import語(yǔ)句與類、對(duì)象有關(guān),相關(guān)內(nèi)容在第3章中介紹。,2.4.2 結(jié)構(gòu)控制語(yǔ)句,Java的分支語(yǔ)句有2種類型,即if條件語(yǔ)句和switch開(kāi)關(guān)語(yǔ)句。 1if

10、條件控制語(yǔ)句 if(條件式) 語(yǔ)句1; else 語(yǔ)句2;,if(條件式) 語(yǔ)句1; 語(yǔ)句2; else 語(yǔ)句3; 語(yǔ)句4; ,import java.util.Scanner; public class OddDecider public static void main(String args) Scanner scanner = new Scanner(System.in); System.out.print(請(qǐng)輸入數(shù)字: ); int input = scanner.nextInt(); int remain = input % 2; / 求除 2 的余數(shù) if (remain = 1

11、) / 如果余數(shù)為1 System.out.println(input + 為奇數(shù)); else System.out.println(input + 為偶數(shù)); ,2switch 開(kāi)關(guān)語(yǔ)句,switch只能比較整型或字符型,比if判斷式更簡(jiǎn)潔 switch的語(yǔ)法結(jié)構(gòu)如下: switch(變量名稱或表達(dá)式) case 表達(dá)式1: 語(yǔ)句1; break; case 表達(dá)式2: 語(yǔ)句2; break; default: 語(yǔ)句3; ,import java.util.Scanner; public class ScoreLevel2 public static void main(String ar

12、gs) Scanner scanner = new Scanner(System.in); System.out.print(請(qǐng)輸入分?jǐn)?shù): ); int score = scanner.nextInt(); int level = (int) score / 10; switch (level) case 10: case 9:System.out.println(得A); break; case 8:System.out.println(得B); break; case 7:System.out.println(得C); break; case 6:System.out.println(得D

13、); break; default:System.out.println(得E(不及格); ,2.4.3 循環(huán)語(yǔ)句,1for循環(huán) 在Java中如果要進(jìn)行重復(fù)性的指令執(zhí)行,可以使用for循環(huán)式。它的基本語(yǔ)法如下: for(初始式; 判斷式; 遞增式) 語(yǔ)句1; 語(yǔ)句2; ,【例2-22】for循環(huán)的功能示例。,public class SimpleLoopFor public static void main(String args) for (int i = 0; i 10; i+) System.out.print( + i); ,2while循環(huán),Java提供while循環(huán)式,它可以根據(jù)所

14、指定的條件式來(lái)判斷是否執(zhí)行循環(huán)體。語(yǔ)法如下: while(條件式) 語(yǔ)句1; 語(yǔ)句2; ,3. do-while 循環(huán),Do 語(yǔ)句體; while(邏輯表達(dá)式),Int i=3; do while(i-) /編譯可通過(guò)嗎?,【例2-25】計(jì)算輸入成績(jī)平均的程序。,import java.util.Scanner; public class ScoreAverage public static void main(String args) Scanner scanner = new Scanner(System.in); int score = 0; int sum = 0; int count

15、 = -1; while (score != -1) count+; sum += score; System.out.print(輸入分?jǐn)?shù)(-1結(jié)束):); score = scanner.nextInt(); System.out.println(平均: + (double) sum / count); ,Scanner用法舉例,功能:默認(rèn)以空格分隔并按預(yù)定義的類型解析串成token 常用構(gòu)造方法 Scanner(File source) Scanner(InputStream source) Scanner(String source),常見(jiàn)方法: StringfindInLine(Pa

16、ttern pattern)hasNext() hasNextBoolean()hasNextByte() hasNextDouble()hasNextFloat() hasNextLine()nextInt() nextBoolean() nextLine() nextShort() useDelimiter(String pattern),int data; int sum=0; Scanner in=new Scanner(System.in); data=in.nextInt(); while(din=0) sum=sum+data; data=in.nextInt(); System

17、.out.print(多個(gè)鍵盤輸入整數(shù)之和為+sum);,String s; Scanner in=new Scanner(System.in); s=in.nextLine(); System.out.println(s); s=in.next(); while (!s.equals(-1) System.out.println(s); s=in.next(); ,Scanner parserS=new Scanner(“I like java); parserS.useDelimiter( ); while(parserS.hasNext() System.out.println(pars

18、erS.next(); StringTokenizer st = new StringTokenizer(hello,I like java!, !); while (st.hasMoreTokens() System.out.println(st.nextToken(); ,2.4.4 break和continue,break可以離開(kāi)當(dāng)前switch、for、while、do while的程序塊,并前進(jìn)至程序塊后下一條語(yǔ)句(跳出循環(huán))。 Continue本次循環(huán),繼續(xù)下一次循環(huán)。,/看下面這個(gè)程序: for(int i = 1; i 10; i+) if(i = 5) continue; S

19、ystem.out.println(i = + i); ,2.5 輸入輸出,1)利用System.out.println(),可以非常容易實(shí)現(xiàn)輸出 【例2-29】一個(gè)輸出的例子。 public class OutputTest public static void main(String args) float x; x = 100.0f / 3.0f; System.out.println(x); System.out.println(100.0 / 3.0); ,2)格式化輸出 在java.text包中,提供了NumberFormat類可以定義格式,然后我們?cè)儆胒ormat方法來(lái)得到格式化

20、字符。,【例2-30】一個(gè)格式化輸出的例子,Java.text.NumberFormat使用方法介紹 public abstract class NumberFormat protected NumberFormat() static NumberFormat getNumberInstance() static NumberFormat getIntegerInstance() String format (double number) Number parse (String source),double x; x = 100.0 / 3.0; NumberFormat f1 = Numb

21、erFormat.getNumberInstance(); String s = f1.format(x); try x=f1.parse(123.4).doubleValue()+10; catch(Exception ex) System.out.println(x); DecimalFormat df=new DecimalFormat(#.#); s=df.format(111222.33344); System.out.println(s);,2.6 數(shù)組,2.6.1數(shù)組的概念 數(shù)組(Array)是一組相同數(shù)據(jù)類型數(shù)據(jù)的有序集合。在Java語(yǔ)言中數(shù)組元素可以由簡(jiǎn)單數(shù)據(jù)類型組成也可以由

22、對(duì)象組成。數(shù)組中的每個(gè)元素都具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和一個(gè)下標(biāo)來(lái)唯一地確定數(shù)組中的元素。,數(shù)組主要具有下面的特點(diǎn):,數(shù)組是相同數(shù)據(jù)類型的元素的集合。 數(shù)組中的各元素在內(nèi)存中順序存放 數(shù)組元素用整個(gè)數(shù)組的名字和其在數(shù)組中的順序位置來(lái)表示。如a0表示名字為a的數(shù)組中的第一個(gè)元素,a1表示數(shù)組a中的第二個(gè)元素。 從數(shù)組的構(gòu)成形式上看,可將其分為一維數(shù)組和多維數(shù)組。,2.6.2一維數(shù)組,1 一維數(shù)組的定義 type arrayName ; 或 type arrayName; 類型(type)可以為Java中任意的數(shù)據(jù)類型,包括簡(jiǎn)單類型和復(fù)合類型。 例如: int intArray ;

23、 Date dateArray;,2 一維數(shù)組的初始化 靜態(tài)初始化 int intArray=1,2,3,4; String stringArray=abc, How, you; 動(dòng)態(tài)初始化 1)簡(jiǎn)單類型的數(shù)組 int intArray; intArray = new int5;,2)復(fù)合類型的數(shù)組 String stringArray ; String stringArray = new String2;/為數(shù)組中每個(gè)元素開(kāi)辟引用空間(32位) stringArray0= new String(How); /為第一個(gè)數(shù)組元素開(kāi)辟空間 stringArray1= new String(are); /為第二個(gè)數(shù)組元素開(kāi)辟空間,3一維數(shù)組元素的引用 數(shù)組元素的引用方式為: arrayNameindex index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開(kāi)始。 intArray.length指明數(shù)組intArray的長(zhǎng)度。,2.6.3多維數(shù)組,J

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論