版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、授課教師: 王誠,Java數(shù)據(jù)處理與流程控制,2,目 標,數(shù)據(jù)類型 運算符號 流程控制 數(shù)組,3,變量,特性 名稱:標識符,代表這塊內(nèi)存中的數(shù)據(jù)。 類型:根據(jù)所存儲的數(shù)據(jù)類型的不同,有各種不同類型的變量。 初始值:為其賦值或者是保留缺省值,變量在使用前必須先初始化。 作用域 : 在不同程序塊中的可用性及生命周期 int x=0,y; y=x+3;,在程序執(zhí)行期間可根據(jù)需要經(jīng)常變化的值。,4,Java中兩大數(shù)據(jù)類型 基本數(shù)據(jù)類型:也稱作內(nèi)置類型,Java語言本身提供的基本數(shù)據(jù)類型,是其他類型(包括Java核心庫和用戶自定義類型)的基礎(chǔ)。 例如:boolean , char , String 等
2、引用數(shù)據(jù)類型:Java語言根據(jù)基本類型擴展出的其他類型。 例如: class , interface 等,變量,5,java的變量類型,6,Java 基本數(shù)據(jù)類型,Java type system,primitive,reference,null,char,numeric,boolean,class,interface,array,integral,floating-point,byte,short,int,long,float,double,7,基本數(shù)據(jù)類型的取值范圍,8,基本數(shù)據(jù)類型之間的轉(zhuǎn)換,當把一個long類型的變量賦值給int類型時,int可能存不下那么大的數(shù)。所以編譯器不允許把lo
3、ng變量賦值給int變量 但是反之可以 除boolean類型外,所有的原始數(shù)據(jù)類型因為各自的精度不同,賦值時都要考慮這個問題,9,基本數(shù)據(jù)類型之間的轉(zhuǎn)換,自動類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換) byte b = 3; int x = b; /b自動轉(zhuǎn)換成int型,強制類型轉(zhuǎn)換(顯示類型轉(zhuǎn)換) byte a; int b; a = (byte) b; / 強制轉(zhuǎn)換 強轉(zhuǎn)時,當心丟失數(shù)據(jù)或失真,10,基本數(shù)據(jù)類型之間的轉(zhuǎn)換,相同類型的變量、常數(shù)運算,結(jié)果還是原類型 不同類型的變量、常數(shù)運算,結(jié)果的類型為參與運算的類型中精度最高者 表達式的數(shù)據(jù)類型自動提升規(guī)則 byte,short,char型的值被提升int
4、型 其中一個操作數(shù)為long型,結(jié)果為long型 其中一個操作數(shù)為float型,結(jié)果為float型 其中一個操作數(shù)為double型,結(jié)果為double型,11,基本數(shù)據(jù)類型之間的轉(zhuǎn)換,案例說明: byte b = 50; char c = a; short s = 1024; int i = 50000; float f = 5.67f; double d = .1234; result = (f * b) + ( i/c )-( d * s ); 請問result是什么類型? 案例分析 System.out.println(a+1); System.out.println(“”+a+1);
5、以上兩條語句打印結(jié)果是什么?,12,運算符,運算符是一種特殊符號,用以表示數(shù)據(jù)的運算、賦值和比較,一般由一至三個字符組成 。 運算符共分以下幾種 算術(shù)運算符 賦值運算符 比較運算符 邏輯運算符 位運算符,13,算術(shù)運算符,14,算術(shù)運算符,加減乘除四則運算 +,-,*,/,% 如 :12%5 = 2 整數(shù)之間相除,只保留整數(shù)部分 如: 3510/1000*1000 = 3000 如果對負數(shù)取模,可以把模數(shù)負號忽略不記 如:5%-2=1。但被模數(shù)是負數(shù)就另當別論了 負號:- x = -a; x = a * (-b);,15,運算優(yōu)先級,a = x + y - 2/2 + z; a = x + (
6、y - 2)/(2 + z); 優(yōu)先級系統(tǒng)比較復(fù)雜,死記硬背有損腦細胞。用括號來解決一切問題,16,賦值運算符,賦值運算符 (=) 用于為變量賦值,17,比較運算符,關(guān)系運算符用于測試兩個操作數(shù)之間的關(guān)系。 關(guān)系表達式將返回一個布爾結(jié)果。,注1:比較運算符的結(jié)果都是boolean型,也就是true/false。 注2:比較運算符“=”不能誤寫成“=” ,切記!切記!,18,邏輯運算符,邏輯運算符與布爾操作數(shù)一起使用,“=0000,0001 int b = 10;=0000,0000,0000,0000,0000,0000,0000,1010 a =1; =0000,0000,0000,0000
7、,0000,0000,0000,0001 a =0000,0000,0000,0000,0000,0000,0000,0000 3、移位運算 :將一個數(shù)的各二進制位全部右移若干位,最高位則移入原來最高位的值(正數(shù)補0,負數(shù)補1)。 :將一個數(shù)的各二進制位全部右移若干位,最高位補0;,位運算,22,運算符的優(yōu)先級,23,三元運算符 (?:),三元運算符 (? :) 可以替代 if-else 結(jié)構(gòu),class TernaryOp public static void main(String args) int salary,daysPresent = 30; salary = daysPresen
8、t = 20 ? 2000 : 3000; System.out.println(您本月薪資為 $+salary); ,24,Instanceof 運算符,class InstanceOfDemo public static void main (String args ) InstanceOfDemo t = new InstanceOfDemo( ); if (t instanceof InstanceOfDemo) System.out.println (T是InstanceOfDemo 的實例); else System.out.println (T不是InstanceOfDemo 的
9、實例!); ,可以確定對象是否屬于一個特定的類,25,控制結(jié)構(gòu),選擇 if-else Switch 循環(huán) while do-while for,Java 支持下列控制結(jié)構(gòu):選擇、循環(huán)、跳轉(zhuǎn),跳轉(zhuǎn) break Continue,26,if-else 選擇語句,if-else 結(jié)構(gòu)的語法為:,if (條件) 語句1; else 語句2;,if (條件) 語句組; else 語句組; ,if和else塊中只有一條語句,if和else塊中有多條語句,if (條件1) 語句1; else if (條件2) 語句2; else if (條件m) 語句 m; else 語句n; ,27,if (i 10)
10、return i * 100; else return i * 10; 以上代碼片斷等效于:return i 10 ? i * 100 : i * 10;,if-else 選擇語句,28,switch 選擇語句,switch 結(jié)構(gòu)的語法為:,switch(表達式) case 常量值 1: 語句(組); break; case 常量值 2: 語句(組); break; case 常量值 N: 語句(組); break; default: 語句(組); ,表達式必須為byte,short,int或char類型,常量值必須是與表達式類型兼容的特定的一個常量 不允許有重復(fù)的case值,default子
11、句為可選,29,while 循環(huán) while(條件) 語句組; do-while循環(huán) do 語句組; while(條件); for 循環(huán) for(變量初始化; 循環(huán)條件表達式; 遞增或遞減變量的值) 語句組; ,循環(huán)語句,“初始化”和“循環(huán)條件表達式”部分可以使用逗號來執(zhí)行多個操作 如果三個部分都為空語句(分號不能?。?,相當于一個無限循環(huán),“當型”循環(huán),先判斷條件再執(zhí)行,“直到型”循環(huán),先執(zhí)行再判斷條件,也就是說,至少可以執(zhí)行一次 在while(條件)后面的分號不要忘,30,循環(huán)語句,使用規(guī)則 while 適合于開始不清楚循環(huán)將要進行的次數(shù),而且循環(huán)可能一次都不進行的情況 do-while 適
12、合于不清楚循環(huán)次數(shù),但是循環(huán)肯定要進行一次的情況 for 適合于預(yù)先知道循環(huán)將要進行的次數(shù)的情況 一定程度上他們是可以互相替換的,31,break和continue,break 語句在循環(huán)中用于立即從當前循環(huán)終止控制。 遇到 break 語句時,將跳出當前循環(huán)。 continue 語句則是從其調(diào)用處跳至循環(huán)的開始處。 continue 語句之后的語句將不再執(zhí)行。,32,Return 返回語句,Return語句從當前方法退出,返回到調(diào)用該方法的語句處,并從緊跟該語句的下一條語句繼續(xù)執(zhí)行程序。 返回語句的兩種格式: 1、return expression 返回一個值給調(diào)用該方法的語句。 返回值的數(shù)
13、據(jù)類型必須和方法聲明中的返回值類型一致或是精度低于聲明的數(shù)據(jù)類型。 2、return 當方法聲明中用void聲明返回類型為空時,應(yīng)使用這種返回類型,它不返回任何值。,33,數(shù)組:是有相同類型的、用一個標識符名稱封裝到一起的一個對象序列或基本數(shù)據(jù)類型數(shù)據(jù)序列。 數(shù)組是一種最簡單的復(fù)合數(shù)據(jù)類型。 數(shù)組可以是一維的也可以是多維的。 一維數(shù)組定義: type arrayName 或 type arrayName 說明: type : 可以是java中任意的數(shù)據(jù)類型,包括簡單類型和復(fù)合類型(也可以是數(shù)組) arrayName :為一個合法的標識符; 指明該變量是一個數(shù)組類型的變量。,數(shù) 組,34,例如聲
14、明一個數(shù)組x: int x ; int x; 聲明一個數(shù)組,每個元素都是整數(shù)數(shù)據(jù)。 聲明的時候不指定數(shù)組的長度。 只聲明的數(shù)組是不能訪問它的任何元素的 請問此時能否訪問該數(shù)組中的值?,數(shù) 組 -聲明數(shù)組變量,int x ;,35,用new關(guān)鍵為對象分配其內(nèi)存空間。 type arrayName = new typearraySize 例如: int x = new int100; 通過引用來使用數(shù)組元素 :arrayNameindex index為數(shù)組下標,可是整型常數(shù)或表達式。 index取值從 0 到 arraySize-1;,數(shù) 組 為數(shù)組分配空間,X = new int100,36,當
15、 x = null 即該數(shù)組對象不再被任何引用變量使用的時候,“垃圾回收器”將自動釋放該內(nèi)存資源,數(shù)組在內(nèi)存中的分配,37,數(shù) 組,數(shù)組的靜態(tài)初始化 int ia =1,2,3,4; int ia =new int 3,4,5; 動態(tài)初始化 int intArray;/聲名數(shù)組 intArray = new int5;/為數(shù)組分配空間 注意:聲明數(shù)組時,無論用何種方式定義數(shù)組,都不能指定其長度 int a5; 聲明的時候不能指定長度,38,數(shù) 組,使用時要注意的問題 空指針異常(NullPointException) 只聲明但沒有初始化的時候直接使用該變量。 數(shù)組越界異常(ArrayIndexOutBoundsException) 所有數(shù)組的下標都從0開始 int a =1,2,3; for (int i= 0; i a.length; i+) System.out.println(ai); 其中l(wèi)ength屬性表示數(shù)組的長度,39,多維數(shù)組,多維數(shù)組(數(shù)組的數(shù)組) java沒有真正的多維數(shù)組,只有數(shù)組的數(shù)組 二維數(shù)組的定義 type arrayName ;或type arrayName; 例子: int xx = new int33; int xx = 3,2,7,1,5,6;,40,靜態(tài)初始化 int intArray =3,2,7,1,5,6; Java
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年西安學區(qū)房交易風險評估及保障合同3篇
- 工程管理人員合同(2篇)
- 裝修水電施工方案
- 2025年度個人房產(chǎn)租賃合同解除協(xié)議范本4篇
- 中國航空運輸行業(yè)展望2025年1月 -中誠信
- 二零二五年度面包烘焙原料種植基地訂購合同4篇
- 2025年度合伙企業(yè)股份轉(zhuǎn)讓及管理服務(wù)協(xié)議3篇
- 初二學業(yè)規(guī)劃講座模板
- 二零二五年度苗圃苗木病蟲害防治藥劑研發(fā)與供應(yīng)合同4篇
- 2025年度個人購房綠色家居設(shè)計合同4篇
- 2025老年公寓合同管理制度
- 2024-2025學年人教版數(shù)學六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- GB/T 35613-2024綠色產(chǎn)品評價紙和紙制品
- 【螞蟻?!?024中國商業(yè)醫(yī)療險發(fā)展研究藍皮書
- 軍事理論-綜合版智慧樹知到期末考試答案章節(jié)答案2024年國防大學
- 廚房績效考核方案細則
- 部編版語文一年級下冊第五單元整體教學設(shè)計教案
- 廢鐵收購廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測》課件
評論
0/150
提交評論