

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java語(yǔ)言程序設(shè)計(jì)-程序流程,教師:段鵬飛,萬(wàn)物皆對(duì)象,現(xiàn)實(shí)世界是由什么組成的?,世界由對(duì)象組成,顧客類(lèi)轎車(chē)類(lèi) …… ……,,類(lèi)是模子,確定對(duì)象將會(huì)擁有的狀態(tài)(屬性)和行為(方法),類(lèi)具有相同屬性和方法的一組對(duì)象的集合,類(lèi),定義一個(gè)類(lèi)的步驟1、定義類(lèi)名2、編寫(xiě)類(lèi)的屬性3、編寫(xiě)類(lèi)的方法,如何定義類(lèi),public class Student {String name;//姓名int age;//年齡S
2、tring classNo;//班級(jí)String hobby;//愛(ài)好//輸出信息方法public void study(){System.out.println(name + "is studying!");}},,成員變量,,成員方法,定義類(lèi),定義對(duì)象Student s = new Student();,1.1標(biāo)識(shí)符與關(guān)鍵字1.2注釋,1、Java標(biāo)識(shí)符、關(guān)鍵字、注釋,程序員
3、對(duì)程序中的各個(gè)元素加以命名時(shí)使用的命名記號(hào)稱(chēng)為標(biāo)識(shí)符(identifier)包括:類(lèi)名、變量名、常量名、方法名、…組成規(guī)則:字母(A~Z、a~z、中文)、特殊符號(hào)($、_)和數(shù)字(0~9)第1個(gè)符號(hào)不能為數(shù)字不能為關(guān)鍵詞、true、false、null區(qū)分大小寫(xiě),1.1標(biāo)識(shí)符與關(guān)鍵字,例:point4、 5w、 A%、 thisPicture、$currentValue、OK、_23b、Y_123、 #length
4、、a+b、if、變量3、True、m-1703錯(cuò)誤:5w、 A%、#length、a+b、if、m-1703,1.1標(biāo)識(shí)符與關(guān)鍵字,1.1標(biāo)識(shí)符與關(guān)鍵字,1.1標(biāo)識(shí)符與關(guān)鍵字,在Java中,true、false和null都是小寫(xiě)的。區(qū)別于C++中大寫(xiě)的TRUE、FALSE和NULL。所有的數(shù)據(jù)類(lèi)型所占用的字節(jié)數(shù)都是固定的,并且和實(shí)現(xiàn)無(wú)關(guān)的,因此在Java中沒(méi)有sizeof操作符。不必死記這些關(guān)鍵詞,當(dāng)理解每個(gè)關(guān)鍵詞的含義后,自
5、然就記住了所有的關(guān)鍵詞。,1.1標(biāo)識(shí)符與關(guān)鍵字,1.下列標(biāo)識(shí)符中,哪些是合法的變量名,哪些是不合法的變量名?(1)char (2)2abc (3)$_isTrue (4)i+j (5)_istrue(6)變量6 (7)String (8)3.141592.判斷下面的程序段是否正確,若有錯(cuò)誤,錯(cuò)在哪里,應(yīng)該如何改正,并且測(cè)試改正后的輸出結(jié)果。public static void main(String[] args){ch = ‘
6、a’;char ch;System.out.println(“ch=”+ch);},練習(xí),2.1 Java基本數(shù)據(jù)類(lèi)型(Primary Data Types)2.2 常量(Constant)和變量(Variable) 常量(Constant)變量(Variable)2.3 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,2、Java的數(shù)據(jù)類(lèi)型,2.1 數(shù)據(jù)類(lèi)型,程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境?! ≈杂袛?shù)據(jù)類(lèi)型,就是因?yàn)橛?jì)算機(jī)
7、存儲(chǔ)不同數(shù)據(jù)類(lèi)型的方式和空間不同。,2.1 Java基本數(shù)據(jù)類(lèi)型,所有基本類(lèi)型所占的位數(shù)都是確定的,并不因操作系統(tǒng)的不同而不同。 所有基本類(lèi)型的關(guān)鍵詞都是小寫(xiě)的。,2.1 Java基本數(shù)據(jù)類(lèi)型,字符型數(shù)據(jù)代表16位的Unicode字符字符常量是用單引號(hào)括起來(lái)的一個(gè)字符‘a(chǎn)’ ‘B’ ‘\n’ ‘\u0030’字符型數(shù)據(jù)的取值范圍為0~65535 或者說(shuō) \u0000~\uFFFF\u0000為缺省值示例char c1;
8、\\ 缺省值為0char c2 = ‘0’;\\ 賦初值為字符‘0’char c3 = 32;\\ 用整數(shù)賦初值為空格,2.1 字符類(lèi)型(char),2.1 Unicode,What is Unicode?Unicode ????????(in Thai)???????? ?????(in Persian)什么是Unicode(統(tǒng)一碼)?什麼是Unicode(統(tǒng)一碼/標(biāo)準(zhǔn)萬(wàn)國(guó)碼)?(in Arabic)?? ?? ?
9、????? ??????? "???????" ?Was ist Unicode? (in German)Что такое Unicode?(in Russian) ユニコードとは何か? (in Japanese),18,2.1 字符發(fā)展,asciiLatin-1/iso8859-1(0-255)GB2312/GBK,GBK兼容繁體字 (GB2312 1981年實(shí)施,收錄6763個(gè)漢字,
10、 GBK收錄21886個(gè)字) BIG5,臺(tái)灣標(biāo)準(zhǔn),收錄13461個(gè)字unicode,支持七千多個(gè)漢字UTF8,2.1 為什么需要Unicode?,不同字符集編碼的內(nèi)碼定義不一樣漢字 GBK BIG5 一 D2BB A440丁 B6A1 A442七 C6DF A443,20,2.1 Unicode,JAVA中的字符、字符串、標(biāo)識(shí)符(變量名、方法名和類(lèi)
11、名稱(chēng))char c = ‘\u5E74’; //char c = ‘年’;String s1 = “Java\u8BED\u8A00”; //String s1 = “Java語(yǔ)言”;String s2 = "\u0030\u0031"; //String s2 =“01”;System.out.println(
12、c );System.out.println(s1);System.out.println(s2);,21,布爾型數(shù)據(jù)只有兩個(gè)值true和false,且它們不對(duì)應(yīng)于任何整數(shù)值布爾型變量的定義如:boolean b = true; 布爾型數(shù)據(jù)只能參與邏輯關(guān)系運(yùn)算:&& || == != ! 示例:boolean b1;boolean b2 = true;b = !b2;boolean
13、 b = (b1 && b2) != false;,2.1 布爾類(lèi)型(boolean),與 C、 C++不 同,Java中 不 能 通 過(guò) #define命 令 把 一 個(gè) 標(biāo) 識(shí) 符 定 義 為 常 量,而 是 用 關(guān) 鍵 字 final來(lái) 定義,定義常量的一般格式為: final 類(lèi)型 常量標(biāo)識(shí)符 = 常數(shù)值;final int MAX_NUM = 100; final double PI
14、 = 3.1415926;,2.2常量和變量,程序中的基本存儲(chǔ)單元,其定義包括變量名、變量類(lèi)型和作用域幾個(gè)部分,定義格式為:類(lèi)型 變量名 = 值 ;int n1 = 3, n2 = 4;Java中變量的缺省初值都是確定的:布爾變量的初值為:false整數(shù)變量的初值為:0浮點(diǎn)數(shù)變量的初值為:0.0引用(復(fù)合)變量的初值為:null在方法實(shí)現(xiàn)中定義的變量必須顯式的初始化。變量的作用域 指可訪問(wèn)變量的一段代碼,在程序中不
15、同的地方聲明的變量具有不同的作用域:局部變量、類(lèi)變量、方法參數(shù)、例外處理參數(shù)。在一定的作用域內(nèi),變量名必須唯一。,2.2常量和變量,自動(dòng)類(lèi)型轉(zhuǎn)換整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同類(lèi)型的數(shù)據(jù)先轉(zhuǎn)化為同一類(lèi)型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換從低級(jí)到高級(jí):低----------------------------------------------------->高byte,short,char—> int —> l
16、ong—> float —> double,操作數(shù)1類(lèi)型操作數(shù)2類(lèi)型轉(zhuǎn)換后的類(lèi)型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble,2.3數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,System.ou
17、t.println(‘a(chǎn)’)與System.out.println(’a’+1) 的區(qū)別。,,自動(dòng)類(lèi)型轉(zhuǎn)換(也叫隱式類(lèi)型轉(zhuǎn)換)強(qiáng)制類(lèi)型轉(zhuǎn)換(也叫顯式類(lèi)型轉(zhuǎn)換)類(lèi)型轉(zhuǎn)換的原理什么時(shí)候要用強(qiáng)制類(lèi)型轉(zhuǎn)換?表達(dá)式的數(shù)據(jù)類(lèi)型自動(dòng)提升? 所有的byte型、short型和char的值將被提升到int型。? 如果一個(gè)操作數(shù)是long型,計(jì)算結(jié)果就是long型;? 如果一個(gè)操作數(shù)是float型,計(jì)算結(jié)果就是float型;
18、? 如果一個(gè)操作數(shù)是double型,計(jì)算結(jié)果就是double型。分析,System.out.println(‘a(chǎn)’)與System.out.println(’a’+1) 的區(qū)別。,2.3 常量與變量,???,自動(dòng)類(lèi)型提升byte b = 3;int x = 4;x = x + b;//b會(huì)自動(dòng)提升為int類(lèi)型進(jìn)行運(yùn)算。強(qiáng)制類(lèi)型轉(zhuǎn)換byte b = 3;b = b +
19、4;//報(bào)錯(cuò)b = (byte)(b+4);//強(qiáng)制類(lèi)型轉(zhuǎn)換,強(qiáng)制將b+4的結(jié)果轉(zhuǎn)換為byte類(lèi)型,再賦值給b。思考:byte b1=3,b2=4,b;b=b1+b2;b=3+4;哪句是編譯失敗的呢?為什么呢?,2.3數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,練習(xí),寫(xiě)出下面程序的運(yùn)行結(jié)果。//Examplex2_3.javapublic class Example2_3{public static void main(Strin
20、g[] args){int x = 1,a = 0,b = 0;switch(x){case 0: b++;case 1: a++;case 2: a++,b++;}System.out.prinln(“a=”+a);System.out.prinln(“b=”+b);}},3.1 優(yōu)先級(jí)、結(jié)合性以及單/雙目運(yùn)算 3.2 Java 運(yùn)算符和表達(dá)式,3、Java運(yùn)算符和表達(dá)式,優(yōu)先級(jí)、結(jié)合性以及單/雙目運(yùn)算1).
21、 , [] , () 9)&2)++ , -- , ! , ~ , instanceof 10)^ 3)new (type) 11)|4)* , / , % 12)&&5)+ , - 13)||6)>> , >>> , , = , >= , >>>=,3.1 優(yōu)先級(jí)、結(jié)合性以
22、及單/雙目運(yùn)算,(1)運(yùn)算符算術(shù)運(yùn)算符: +,―,*,/,%,++,――關(guān)系運(yùn)算符: >,=,>,>>,&,|,^,~賦值運(yùn)算符: =,及其擴(kuò)展賦值運(yùn)算符如+=,―=,*=,/=等。條件運(yùn)算符: ? :,3.2 Java 運(yùn)算符和表達(dá)式,,,,,,,,,,,,,,,,,,,,,,,,,,,位運(yùn)算符,運(yùn)算符>>>>&|
23、^~,運(yùn)算左移右移無(wú)符號(hào)右移與運(yùn)算或運(yùn)算異或運(yùn)算反碼,范例3 3*2*2=123 >> 1 = 1 ‐‐> 3/2=13 >>> 1 = 1 ‐‐> 3/2=16 &
24、160;3 = 26 | 3 = 76 ^ 3 = 5~6 = ‐7,3.2 Java 運(yùn)算符和表達(dá)式,“&”和“&&”的區(qū)別:,單&時(shí),左邊無(wú)論真假,右邊都進(jìn)行運(yùn)算;雙&時(shí),如果左邊為真,右邊參與運(yùn)算,如果左邊為假,那么右邊不參與運(yùn)算?!皘”和“||”的區(qū)別同
25、理,雙或時(shí),左邊為真,右邊不參與運(yùn)算。,,3.2 Java 運(yùn)算符和表達(dá)式,寫(xiě)出下面表達(dá)式的最后運(yùn)算結(jié)果,并且令a = 1,b = 2,c =3,d = false。(1)a+=b--/++c;(2)d = !((a>=--b/b++c^a!=c;,練習(xí),(2)表達(dá)式表達(dá)式是由操作數(shù)和運(yùn)算符按一定的語(yǔ)法形式組成的符號(hào)序列。一個(gè)常量或一個(gè)變量名字是最簡(jiǎn)單的表達(dá)式,其值即該常量或變量的值;表達(dá)式的值還可以用作其他運(yùn)算的操作數(shù)
26、,形成更復(fù)雜的表達(dá)式。例:xnum1+num2a*(b+c)+d3.14x<=(y+z)x&&y||z,3.2 Java 運(yùn)算符和表達(dá)式,Eclipse簡(jiǎn)介,Eclipse(日食),Eclipse簡(jiǎn)介,Eclipse簡(jiǎn)介 Eclipse是一種可擴(kuò)展的開(kāi)放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬(wàn)美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具
27、的后續(xù)開(kāi)發(fā)。常見(jiàn)的JAVA集成開(kāi)發(fā)環(huán)境 IntelliJ IDEA、Sun的NetBeans、Sun的Sun Java Studio、Borland的JBuilder 、 Oracle 的JDeveloper 等,Eclipse使用,下載地址:eclipse.rar,Eclipse 安裝與使用,安裝步驟:安裝JDK將Eclipse壓縮包解壓即可。運(yùn)行:執(zhí)行解壓目錄中eclipse
28、.exe,Eclipse目錄結(jié)構(gòu),/plugins 存放插件的目錄 /features 存放功能部件的目錄 /links 其他plugins和features的連接地址的存放目錄 /readme eclipse.exe 啟動(dòng)Eclipse程序/workspace 具體的項(xiàng)目目錄。workspace目錄下還有一個(gè).metadata的目錄,這個(gè)目錄存著你這個(gè)啟動(dòng)的工作區(qū)的所有配置 。,Eclipse開(kāi)發(fā)環(huán)境,項(xiàng)目構(gòu)建,1.選擇文件
29、→新建→項(xiàng)目;2.項(xiàng)目類(lèi)別選Java; 3.項(xiàng)目列表選Java項(xiàng)目; 4.點(diǎn)擊“下一步”;5.輸入項(xiàng)目名稱(chēng),例如:HelloProject; 6.點(diǎn)擊“完成”; 7.在工具條里點(diǎn)擊“創(chuàng)建Java類(lèi)”的按鈕 ;8.在名稱(chēng)域輸入HelloWorld; 9.點(diǎn)擊public static void main(String[] args) 的復(fù)選框,讓Eclipse創(chuàng)建 main方法 ;10.點(diǎn)擊“完成”; 11.
30、一個(gè)Java編輯窗口將打開(kāi),在main方法中輸入 System.out.println(“Hello World”)行; 12.使用Ctrl-s保存,這將自動(dòng)編譯 HelloWorld.java; 13.點(diǎn)擊工具條里的“運(yùn)行”按鈕;14.測(cè)試成功,控制臺(tái)窗口,一句 “Hello World”將會(huì)顯示在里面 。,調(diào)試運(yùn)行,Eclipse有一個(gè)增量編譯器,每次保存一個(gè)Java文件時(shí)它就自動(dòng)進(jìn)行編譯。這個(gè)特性被稱(chēng)做“自動(dòng)構(gòu)建”。,4.
31、1 選擇語(yǔ)句:if-else, switch-case4.2 循環(huán)語(yǔ)句:while, do-while, for4.3 跳轉(zhuǎn)語(yǔ)句:continue, break, return,4、Java程序流程,布爾表達(dá)式boolean-expression是任意一個(gè)返回布爾數(shù)據(jù)類(lèi)型的表達(dá)式,而且必須是(比C或C ++要嚴(yán)格)。 與C或C++一樣,每個(gè)單一語(yǔ)句后面都要有分號(hào)。為了增強(qiáng)程序的可讀性,應(yīng)將if或else后的語(yǔ)句用{}括起來(lái)。 e
32、lse子句是任選的,不能單獨(dú)作為語(yǔ)句使用,它必須和if語(yǔ)句配對(duì)使用,并且總是與離它最近的if配對(duì)。,int i1 = 123;int i2 = 456;if( i1>i2 ){ System.out.println(“The bigger one is: ”+i1);}else{ System.out.println(“The bigger one is: ”+i2);},4.1 選擇語(yǔ)句:i
33、f-else,switch (expression){case value1 :{ statements1; break;}……case valueN :{ statementsN; break;}[default :{ defaultStatements;}]},
34、4.1 選擇語(yǔ)句:switch,表達(dá)式expression的返回值類(lèi)型必須是這幾種類(lèi)型之一:int、byte、char、short char(String在java7 中被支持) 。 case子句中的值valueI必須是常量,而且所有case子句中的值應(yīng)是不同的。 default子句是任選的。 break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行。(如果某個(gè)case分支后沒(méi)有
35、break語(yǔ)句,程序?qū)⒉辉僮霰容^而執(zhí)行下一個(gè)分支。) switch語(yǔ)句的功能可以用if-else語(yǔ)句來(lái)實(shí)現(xiàn),但某些情況下,使用switch語(yǔ)句更簡(jiǎn)煉。,4.1 選擇語(yǔ)句: switch,int n = 1, sum = 0;while ( n<=10 ){ sum = sum + n; n++;},int n = 10, sum = 0;do{ sum += n; n--;}while
36、( n>0);,int sum =0;for( int i=1; i<=10; i++ ){ sum += i;},while循環(huán),do-while循環(huán),for循環(huán),4.2循環(huán)語(yǔ)句,outer: for( int i=0; i<10; i++ ) //外層循環(huán){ inner: for( int j=0; j<10; j++ ) //內(nèi)層循環(huán) {if( i
37、<j ) { …… continue outer;}…… } //內(nèi)層循環(huán)結(jié)束 ……} //外層循環(huán)結(jié)束,for( int i= 0; i <10; i++ ){ if( i == 5 ) { continue; } ……},4.3 跳轉(zhuǎn)語(yǔ)句: continue,a:{
38、//標(biāo)記代碼塊a …… b:{//標(biāo)記代碼塊b …… c:{ //標(biāo)記代碼塊c …… break b;
39、 …… //這段語(yǔ)句將不執(zhí)行 } //代碼塊c結(jié)束 …… //這段語(yǔ)句也不執(zhí)行 } //代碼塊b結(jié)束 …… //從這段語(yǔ)句開(kāi)始執(zhí)行} //代碼塊a結(jié)束,,4.3跳轉(zhuǎn)語(yǔ)句: break,練習(xí),編寫(xiě)Java程序,輸
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石大 java語(yǔ)言程序設(shè)計(jì)
- java語(yǔ)言程序設(shè)計(jì)教學(xué)大綱
- java語(yǔ)言程序設(shè)計(jì)試題及答案
- 《java語(yǔ)言程序設(shè)計(jì)》指導(dǎo)書(shū)
- 《java語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)講義-read
- java語(yǔ)言程序設(shè)計(jì)課后習(xí)題答案
- java語(yǔ)言程序設(shè)計(jì)課程標(biāo)準(zhǔn)
- java程序設(shè)計(jì)
- 《java語(yǔ)言程序設(shè)計(jì)》實(shí)踐環(huán)節(jié)考核指導(dǎo)
- java語(yǔ)言程序設(shè)計(jì)試題及答案(5)
- 第3章java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)
- 自考java語(yǔ)言程序設(shè)計(jì)(一)串講筆記
- java語(yǔ)言程序設(shè)計(jì)試題及答案(6)
- java程序設(shè)計(jì)復(fù)習(xí)
- java程序設(shè)計(jì)題目
- java程序設(shè)計(jì)-教案
- 石大遠(yuǎn)程在線考試——java語(yǔ)言程序設(shè)計(jì)
- 4月自考java語(yǔ)言程序設(shè)計(jì)一04747
- java課程設(shè)計(jì)---java程序設(shè)計(jì)
- java課程設(shè)計(jì)--java程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論