Java就業(yè)培訓(xùn)教程 語(yǔ)言基礎(chǔ) PP課件
《Java就業(yè)培訓(xùn)教程 語(yǔ)言基礎(chǔ) PP課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java就業(yè)培訓(xùn)教程 語(yǔ)言基礎(chǔ) PP課件(44頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、01張孝祥IT課堂Java就業(yè)培訓(xùn)教程主講老師:02第二講 java 編程基礎(chǔ) 03Java的基本語(yǔ)法(1)njava代碼的位置 n java是嚴(yán)格區(qū)分大小寫的 n java是一種自由格式的語(yǔ)言 代碼分為結(jié)構(gòu)定義語(yǔ)句和功能執(zhí)行語(yǔ)句功能執(zhí)行語(yǔ)句的最后必須用分號(hào)結(jié)束 n java程序有三種注釋方式04njava中的標(biāo)識(shí)符 java中的包、類、方法、參數(shù)和變量的名字,可由任意順序的大小寫字母、數(shù)字、下劃線(_)和美元符號(hào)($)組成,但標(biāo)識(shí)符不能以數(shù)字開(kāi)頭,不能是關(guān)鍵字。合法的標(biāo)識(shí)符: indentifierusernameuser_name_userName$username非法的標(biāo)識(shí)符:class
2、98.3Hello World Java的基本語(yǔ)法(2)05java的關(guān)鍵字 abstractdoimplementprivatethisbooleandoubleimportprotected throwbreakelseinstanceof publicthrowsbyteextendintreturntransientcasefalseinterfaceshorttruecatchfinallongstatictrycharfianllynativestrictfpvoidclassfloatnewsupervolatilecontinuefornullswitchwhiledefaul
3、tif package synchronized06java中的常量(1) 十進(jìn)制(12) ,十六進(jìn)制 (0 x12),八進(jìn)制(012)07java中的常量(2)08變量的概念與作用 n變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù)。根據(jù)所存儲(chǔ)的數(shù)據(jù)類型的不同,有各種不同類型的變量。變量名代表這塊內(nèi)存中的數(shù)據(jù) 。nint x=0,y; y=x+3;執(zhí)行這兩條語(yǔ)句的過(guò)程中,內(nèi)存分配及變化情況。X在被取值前必須被初始化。09 數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte, short, int, long)浮點(diǎn)類型(float,
4、double)類(class)接口(interface)數(shù)組010變量字節(jié)大小及有效取值范圍 nbyte占用一個(gè)字節(jié),數(shù)字大小為-2011浮點(diǎn)數(shù)在內(nèi)存中的表示方式 n 在JDK文檔中查找Float. intBitsToFloat的說(shuō)明n打印出最大數(shù)和最小數(shù)及它們的二進(jìn)制格式n打印出無(wú)窮大與NaN及它們的二進(jìn)制格式n分析0 x50000000所對(duì)應(yīng)的浮點(diǎn)數(shù) 012類型轉(zhuǎn)化 n自動(dòng)類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換) n強(qiáng)制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換) n類型轉(zhuǎn)換的原理 及什么時(shí)候要用 強(qiáng)制類型轉(zhuǎn)換013變量的生命周期與作用域變量要先定義,后使用,但也不是在變量定義后的語(yǔ)句一直都能使用前面定義的變量。我們
5、可以用大括號(hào)將多個(gè)語(yǔ)句包起來(lái)形成一個(gè)復(fù)合語(yǔ)句,變量只能在定義它的復(fù)合語(yǔ)句中使用。public class TestScope public static void main(String args) int x = 12; int q = 96; / x和q都可用 int x = 3;/錯(cuò)誤的定義,Java中不允許有這種嵌套定義 System.out.println(x is +x); System.out.println(q is +q); q = x; /* 錯(cuò)誤的行,只有x可用, q 超出了作用域范圍 */ System.out.println(x is +x); 014函數(shù)n函數(shù)(子程
6、序)的概念與作用。n定義一個(gè)函數(shù)的格式 n編寫打印三個(gè)矩形的程序(用流水帳的方式與用函數(shù)的方式進(jìn)行對(duì)比分析)。返回值類型 函數(shù)名(參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)2,.) 程序代碼 其中:在方法被調(diào)用時(shí)用于接收外部傳入的數(shù)據(jù)的變量。:就是該形式參數(shù)的數(shù)據(jù)類型。方法在執(zhí)行完畢后返還給調(diào)用它的程序的數(shù)據(jù)。函數(shù)要返回的結(jié)果的數(shù)據(jù)類型。調(diào)用函數(shù)時(shí)實(shí)際傳給函數(shù)形式參數(shù)的數(shù)據(jù)。n如何理解函數(shù)返回值類型為void的情況 015函數(shù)的調(diào)用n函數(shù)調(diào)用的格式n在函數(shù)中使用return提前返回n函數(shù)調(diào)用的過(guò)程分析016函數(shù)的重載 n函數(shù)的重載就是在同一個(gè)類中允許同時(shí)存在一個(gè)以上的同名函數(shù),只要它們的參數(shù)個(gè)數(shù)
7、或類型不同即可。 如:public class Testpublic static void main(String args)int isum;double fsum;isum=add(3,5);isum=add(3,5,6);fsum=add(3.2,6.5); public static int add(int x,int y)reutrn x+y;public static int add(int x,int y,int z)return x+y+z;public static double add(double x,double y)return x+y;017java中的運(yùn)算符 運(yùn)
8、算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較,一般由一至三個(gè)字符組成 。運(yùn)算符共分以下幾種: 018算術(shù)運(yùn)算符 019算術(shù)運(yùn)算符的注意問(wèn)題n“+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串 ,如: “x”+123;的結(jié)果是“x123” 。 n如果對(duì)負(fù)數(shù)取模,可以把模數(shù)負(fù)號(hào)忽略不記,如:5%-2=1。但被模數(shù)是負(fù)數(shù)就另當(dāng)別論了。n對(duì)于除號(hào)“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí),只保留整數(shù)部分而舍棄小數(shù)部分。 int x=3510;x=x/1000*1000;實(shí)際運(yùn)行結(jié)果是3000 ,想想為什么? 020算術(shù)運(yùn)算符的應(yīng)用技巧n思考題1:某個(gè)培訓(xùn)中心要為新到的學(xué)員安排房間,
9、假設(shè)共有x個(gè)學(xué)員,每個(gè)房間可以住6人,讓你用一個(gè)公式來(lái)計(jì)算他們要住的房間數(shù)?答案:(x+5)/6。這種算法還可用在查看留言板的分頁(yè)顯示上: 其中x是總共的留言數(shù),6是每頁(yè)顯示的留言數(shù),結(jié)果就是總共有多少頁(yè)。021賦值運(yùn)算符 注1:在JAVA里可以把賦值語(yǔ)句連在一起,如: x = y = z = 5 ; 在這個(gè)語(yǔ)句中,所有三個(gè)變量都得到同樣的值5。注2 :x += 3等效于x = x + 3,等于*= ,-=,/=依此類推。 022比較運(yùn)算符 注1:比較運(yùn)算符的結(jié)果都是boolean型,也就是要么是true,要么是false。注2:比較運(yùn)算符“=”不能誤寫成“=” ,切記!切記!023邏輯運(yùn)算符
10、 注1:邏輯運(yùn)算符用于對(duì)boolean型結(jié)果的表達(dá)式進(jìn)行運(yùn)算,運(yùn)算的結(jié)果都是boolean型 。注2:“&”和“&”的區(qū)別在于,如果使用前者連接,那么無(wú)論任何情況,“&”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用后者連接,當(dāng)“&”的左邊為false,則將不會(huì)計(jì)算其右邊的表達(dá)式?!皘”和“|”的區(qū)別與“&”和“&”的區(qū)別一樣。 024“&”和“&”的區(qū)別分析public class TestAnd public static void main(String args) int x=0; int y=3; if(x!=0 & y=y
11、/x) System.out.println(y = +y); 上面例子中,由于while語(yǔ)句的判斷條件中的第一個(gè)布爾表達(dá)式是不成立的,程序就不會(huì)判斷第二個(gè)布爾表達(dá)式的值,這就是“短路”。如果兩個(gè)表達(dá)式之間用“&”來(lái)連接,如果正好碰到上面所示的特殊情況,程序運(yùn)行時(shí)就會(huì)出錯(cuò) 025位運(yùn)算符 n任何信息在計(jì)算機(jī)中都是以二進(jìn)制的形式保存的,&,|,除了可以作為邏輯運(yùn)算符,也可以做為位算符,它們對(duì)兩個(gè)操作數(shù)中的每一個(gè)二進(jìn)制位都進(jìn)行運(yùn)算。 只有參加運(yùn)算的兩位都為1,&運(yùn)算的結(jié)果才為1,否則就為0。 只有參加運(yùn)算的兩位都為0,|運(yùn)算的結(jié)果才為0,否則就為1。 只有參加運(yùn)算的兩位不同
12、,運(yùn)算的結(jié)果才為1,否則就為0。026“”和“” 區(qū)別的實(shí)例分析public class ShiftTestpublic static void main(String args) int x=0 x80000000; int y=0 x80000000;x=x1;y=y1;System.out.println(“0 x800000001 = ” + Integer.toHexString(x);System.out.println(“0 x800000001 = ” + Integer.toHexString(y);運(yùn)行結(jié)果如下: =1000,0000, 0000, 0000, 0000,
13、0000, 0000, 00000 xc0000000 =1100,0000, 0000, 0000, 0000, 0000, 0000, 0000 0 x40000000 =0100,0000, 0000, 0000, 0000, 0000, 0000, 0000027移位運(yùn)算的注意事項(xiàng)及小技巧n移位運(yùn)算符適用類型有byte、short、char、int、longn對(duì)低于int型的操作數(shù)將先自動(dòng)轉(zhuǎn)換為int型再移位。n對(duì)于int型整數(shù)移位ab,系統(tǒng)先將b對(duì)32取模,得到的結(jié)果才是真正移位的位數(shù)。例如:a33和a1結(jié)果是一樣的,a32的結(jié)果還是a原來(lái)的數(shù)字。n對(duì)于long型整數(shù)移位時(shí)ab ,則
14、是先將移位位數(shù)b對(duì)64取模。n移位不會(huì)改變變量本身的值。如a1;在一行語(yǔ)句中單獨(dú)存在,毫無(wú)意義 。nx1的結(jié)果和x/2的結(jié)果是一樣的,x2和x*4的結(jié)果也是一樣的。總之,一個(gè)數(shù)左移n位,就是等于這個(gè)數(shù)乘以2的n次方,一個(gè)數(shù)右移n位,就是等于這個(gè)數(shù)除以2的n次方。請(qǐng)思考:如何用程序?qū)崿F(xiàn)求2的x次方。答案:y = 1 x; 028運(yùn)算符的優(yōu)先級(jí) 我們可以使用括號(hào)改變運(yùn)算賦的優(yōu)先級(jí),分析int a =2;int b = a + 3*a;語(yǔ)句的執(zhí)行過(guò)程 與int a =2;int b =( a + 3)*a;語(yǔ)句的執(zhí)行過(guò)程的區(qū)別 。029如何避免多個(gè)運(yùn)算符帶來(lái)的問(wèn)題n對(duì)于int a =2; int b
15、= a + 3 * a+;這樣的語(yǔ)句,b最終等于多少呢?030如何避免多個(gè)運(yùn)算符帶來(lái)的問(wèn)題n與其去思考其中的原因,我們還不如將上面的第二句改為幾條語(yǔ)句來(lái)實(shí)現(xiàn)我們想要的結(jié)果。n不要在一行中編寫太復(fù)雜的表達(dá)式,也就是不要在一行中進(jìn)行太多的運(yùn)算n在一行中進(jìn)行太多的運(yùn)算并不能為你帶來(lái)什么好處,相反只能帶來(lái)壞處,它并不比改成幾條語(yǔ)句的運(yùn)行速度快,它除可讀行差外,還極容易出錯(cuò)。n對(duì)于優(yōu)先級(jí)順序,讀者不用刻意去記,有個(gè)印象就行如果你實(shí)在弄不清這些運(yùn)算先后關(guān)系的話,就用括號(hào)或是分成多條語(yǔ)句來(lái)完成你想要的功能,因?yàn)槔ㄌ?hào)的優(yōu)先級(jí)是最高的,n這也是軟件編碼規(guī)范的一個(gè)要求。031程序的流程控制 n順序結(jié)構(gòu)n選擇結(jié)構(gòu)n
16、循環(huán)結(jié)構(gòu)顧名思義,順序結(jié)構(gòu)就是程序從上到下一行一行執(zhí)行的結(jié)構(gòu),中間沒(méi)有判斷和跳轉(zhuǎn),直到程序結(jié)束。 032選擇結(jié)構(gòu) if (表達(dá)式) 語(yǔ)句;if (表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2;if (表達(dá)式1) 語(yǔ)句1;else if (表達(dá)式2) 語(yǔ)句2;else if (表達(dá)式2) 語(yǔ)句3; else 語(yǔ)句n;If語(yǔ)句還可以嵌套使用if (表達(dá)式1) if (表達(dá)式2) 語(yǔ)句1;語(yǔ)句2; esle if (表達(dá)式2) 語(yǔ)句3;語(yǔ)句4;嵌套時(shí)最好使用確定層次界限,舉例說(shuō)明033選擇結(jié)構(gòu) Switch (表達(dá)式)case 常量表達(dá)式1:語(yǔ)句1;case 常量表達(dá)式2:語(yǔ)句2;case 常量表達(dá)式n:語(yǔ)
17、句n;default: 語(yǔ)句n;ndefault語(yǔ)句是可選的,它接受除上面接受值的其他值,通俗的講,就是誰(shuí)也不要的都?xì)w它。ncase后面可以跟多個(gè)語(yǔ)句,這些語(yǔ)句可以不用大括號(hào)括起來(lái) 。 nswitch語(yǔ)句判斷條件可接受int, byte, char, short型,不可以接受其他類型n一旦碰到第一次case匹配,就會(huì)開(kāi)始順序執(zhí)行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會(huì)被執(zhí)行,直到碰到break語(yǔ)句為止。我們可以利用這個(gè)特點(diǎn)來(lái)用同一段語(yǔ)句處理多個(gè)case條件 034循環(huán) While (表達(dá)式) 語(yǔ)句;int x=1;while(x3) System.ou
18、t.println(x=+x); x+; 腳下留心:腳下留心:while表達(dá)式的括號(hào)后面一定不要加“;” 035循環(huán)do 語(yǔ)句while (表達(dá)式);public class TestDopublic static void main(String args)int x=3;while(x=0)System.out.println(ok1);x+; int y=3; do System.out.println(ok2); y+; while(y=0);036循環(huán)n編寫一個(gè)程序,這個(gè)程序不斷地讀取從鍵盤上輸入的字符,直到讀到字符q時(shí),程序結(jié)束。n提示:調(diào)用System.in.read();可以讀
19、取到一個(gè)從鍵盤上輸入字符對(duì)應(yīng)的整數(shù)。通過(guò)這個(gè)程序,你一定能體會(huì)到在什么樣的情況下,用do-while循環(huán)語(yǔ)句比while循環(huán)語(yǔ)句方便。037循環(huán) for(表達(dá)式1;表達(dá)式2 ;表達(dá)式3) 語(yǔ)句for(int x=1;x10;x+) System.out.println(x=+x); 等效于int x=1;for(;x10;x+) System.out.println(x=+x); 等效于int x=1;for(;x= 10)break; System.out.println(x=+x); x+;038 break語(yǔ)句可以中止循環(huán)中的子語(yǔ)句和switch語(yǔ)句。一個(gè)無(wú)標(biāo)號(hào)的break語(yǔ)句會(huì)把控制傳
20、給當(dāng)前(最內(nèi))循環(huán)(while,dofor或Switch)的下一條語(yǔ)句。如果有標(biāo)號(hào),控制會(huì)被傳遞給當(dāng)前方法中的帶有這一標(biāo)號(hào)的語(yǔ)句。如:st:while(true) while(true) break st; 039 ncontinue語(yǔ)句只能出現(xiàn)在循環(huán)語(yǔ)句(while,do,for)的子語(yǔ)句塊中,無(wú)標(biāo)號(hào)的continue語(yǔ)句的作用是跳過(guò)當(dāng)前循環(huán)的剩余語(yǔ)句塊,接著執(zhí)行下一次循環(huán)。 用continue語(yǔ)句的打印出 0到10之間的所有奇數(shù)的程序例子。 for(int i=0;i10;i+) if(i%2=0) continue; System.out.println(i); 040n為什么有數(shù)組?n
21、堆內(nèi)存和棧內(nèi)存nint x; x = new int100; x=null; 的內(nèi)存狀態(tài)變化情況041數(shù)組n靜態(tài)數(shù)組 int ia =1,2,3,4; int ia=new int3,4,5; int a5;/編譯時(shí)將出錯(cuò) 042多維數(shù)組 n如何理解多維數(shù)組,類似我們的棋盤。njava 中并沒(méi)有真正的多維數(shù)組,只有數(shù)組的數(shù)組, Java中多維數(shù)組不一定是規(guī)則矩陣形式。n定義一個(gè)多維數(shù)組int xx;xx=new int3; xx0=new int3;xx1=new int2;043多維數(shù)組n多維數(shù)組中元素的引用方式,如:x12。n規(guī)則矩陣數(shù)組可以在一條語(yǔ)句中產(chǎn)生,如:int xx=new int23; n多維數(shù)組的靜態(tài)初始化 ,如: int xx=3,2,7,1,5,6; 044與數(shù)組操作相關(guān)的函數(shù) n使用System.arraycopy()函數(shù)拷貝數(shù)組 n用Arrays.sort 來(lái)排序數(shù)組
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備采購(gòu)常用的四種評(píng)標(biāo)方法
- 車間員工管理須知(應(yīng)知應(yīng)會(huì))
- 某公司設(shè)備維護(hù)保養(yǎng)工作規(guī)程
- 某企業(yè)潔凈車間人員進(jìn)出管理規(guī)程
- 企業(yè)管理制度之5S管理的八個(gè)口訣
- 標(biāo)準(zhǔn)化班前會(huì)的探索及意義
- 某企業(yè)內(nèi)審員考試試題含答案
- 某公司環(huán)境保護(hù)考核管理制度
- 現(xiàn)場(chǎng)管理的定義
- 員工培訓(xùn)程序
- 管理制度之生產(chǎn)廠長(zhǎng)的職責(zé)與工作標(biāo)準(zhǔn)
- 某公司各級(jí)專業(yè)人員環(huán)保職責(zé)
- 企業(yè)管理制度:5S推進(jìn)與改善工具
- XXX公司環(huán)境風(fēng)險(xiǎn)排查及隱患整改制度
- 生產(chǎn)車間基層管理要點(diǎn)及建議