版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、01張孝祥it課堂java就業(yè)培訓教程主講老師:02第二講 java 編程基礎 03java的基本語法(1)njava代碼的位置 n java是嚴格區(qū)分大小寫的 n java是一種自由格式的語言 代碼分為結構定義語句和功能執(zhí)行語句功能執(zhí)行語句的最后必須用分號結束 n java程序有三種注釋方式04njava中的標識符 java中的包、類、方法、參數和變量的名字,可由任意順序的大小寫字母、數字、下劃線(_)和美元符號($)組成,但標識符不能以數字開頭,不能是關鍵字。合法的標識符: indentifierusernameuser_name_username$username非法的標識符:class
2、98.3hello world java的基本語法(2)05java的關鍵字 abstractdoimplementprivatethisbooleandoubleimportprotected throwbreakelseinstanceof publicthrowsbyteextendintreturntransientcasefalseinterfaceshorttruecatchfinallongstatictrycharfianllynativestrictfpvoidclassfloatnewsupervolatilecontinuefornullswitchwhiledefaul
3、tif package synchronized06java中的常量(1) 十進制(12) ,十六進制 (0 x12),八進制(012)07java中的常量(2)08變量的概念與作用 n變量就是系統(tǒng)為程序分配的一塊內存單元,用來存儲各種類型的數據。根據所存儲的數據類型的不同,有各種不同類型的變量。變量名代表這塊內存中的數據 。nint x=0,y; y=x+3;執(zhí)行這兩條語句的過程中,內存分配及變化情況。x在被取值前必須被初始化。09 數據類型基本數據類型引用數據類型數值型字符型(char)布爾型(boolean)整數類型(byte, short, int, long)浮點類型(float,
4、double)類(class)接口(interface)數組010變量字節(jié)大小及有效取值范圍 nbyte占用一個字節(jié),數字大小為-2011浮點數在內存中的表示方式 n 在jdk文檔中查找float. intbitstofloat的說明n打印出最大數和最小數及它們的二進制格式n打印出無窮大與nan及它們的二進制格式n分析0 x50000000所對應的浮點數 012類型轉化 n自動類型轉換(也叫隱式類型轉換) n強制類型轉換(也叫顯式類型轉換) n類型轉換的原理 及什么時候要用 強制類型轉換013變量的生命周期與作用域變量要先定義,后使用,但也不是在變量定義后的語句一直都能使用前面定義的變量。我們
5、可以用大括號將多個語句包起來形成一個復合語句,變量只能在定義它的復合語句中使用。public class testscope public static void main(string args) int x = 12; int q = 96; / x和q都可用 int x = 3;/錯誤的定義,java中不允許有這種嵌套定義 system.out.println(x is +x); system.out.println(q is +q); q = x; /* 錯誤的行,只有x可用, q 超出了作用域范圍 */ system.out.println(x is +x); 014函數n函數(子程
6、序)的概念與作用。n定義一個函數的格式 n編寫打印三個矩形的程序(用流水帳的方式與用函數的方式進行對比分析)。返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2,.) 程序代碼 其中:在方法被調用時用于接收外部傳入的數據的變量。:就是該形式參數的數據類型。方法在執(zhí)行完畢后返還給調用它的程序的數據。函數要返回的結果的數據類型。調用函數時實際傳給函數形式參數的數據。n如何理解函數返回值類型為void的情況 015函數的調用n函數調用的格式n在函數中使用return提前返回n函數調用的過程分析016函數的重載 n函數的重載就是在同一個類中允許同時存在一個以上的同名函數,只要它們的參數個數
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中的運算符 運
8、算符是一種特殊符號,用以表示數據的運算、賦值和比較,一般由一至三個字符組成 。運算符共分以下幾種: 018算術運算符 019算術運算符的注意問題n“+”除字符串相加功能外,還能把非字符串轉換成字符串 ,如: “x”+123;的結果是“x123” 。 n如果對負數取模,可以把模數負號忽略不記,如:5%-2=1。但被模數是負數就另當別論了。n對于除號“/”,它的整數除和小數除是有區(qū)別的:整數之間做除法時,只保留整數部分而舍棄小數部分。 int x=3510;x=x/1000*1000;實際運行結果是3000 ,想想為什么? 020算術運算符的應用技巧n思考題1:某個培訓中心要為新到的學員安排房間,
9、假設共有x個學員,每個房間可以住6人,讓你用一個公式來計算他們要住的房間數?答案:(x+5)/6。這種算法還可用在查看留言板的分頁顯示上: 其中x是總共的留言數,6是每頁顯示的留言數,結果就是總共有多少頁。021賦值運算符 注1:在java里可以把賦值語句連在一起,如: x = y = z = 5 ; 在這個語句中,所有三個變量都得到同樣的值5。注2 :x += 3等效于x = x + 3,等于*= ,-=,/=依此類推。 022比較運算符 注1:比較運算符的結果都是boolean型,也就是要么是true,要么是false。注2:比較運算符“=”不能誤寫成“=” ,切記!切記!023邏輯運算符
10、 注1:邏輯運算符用于對boolean型結果的表達式進行運算,運算的結果都是boolean型 。注2:“&”和“&”的區(qū)別在于,如果使用前者連接,那么無論任何情況,“&”兩邊的表達式都會參與計算。如果使用后者連接,當“&”的左邊為false,則將不會計算其右邊的表達式?!皘”和“|”的區(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語句的判斷條件中的第一個布爾表達式是不成立的,程序就不會判斷第二個布爾表達式的值,這就是“短路”。如果兩個表達式之間用“&”來連接,如果正好碰到上面所示的特殊情況,程序運行時就會出錯 025位運算符 n任何信息在計算機中都是以二進制的形式保存的,&,|,除了可以作為邏輯運算符,也可以做為位算符,它們對兩個操作數中的每一個二進制位都進行運算。 只有參加運算的兩位都為1,&運算的結果才為1,否則就為0。 只有參加運算的兩位都為0,|運算的結果才為0,否則就為1。 只有參加運算的兩位不同
12、,運算的結果才為1,否則就為0。026“”和“” 區(qū)別的實例分析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);運行結果如下: =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移位運算的注意事項及小技巧n移位運算符適用類型有byte、short、char、int、longn對低于int型的操作數將先自動轉換為int型再移位。n對于int型整數移位ab,系統(tǒng)先將b對32取模,得到的結果才是真正移位的位數。例如:a33和a1結果是一樣的,a32的結果還是a原來的數字。n對于long型整數移位時ab ,則
14、是先將移位位數b對64取模。n移位不會改變變量本身的值。如a1;在一行語句中單獨存在,毫無意義 。nx1的結果和x/2的結果是一樣的,x2和x*4的結果也是一樣的。總之,一個數左移n位,就是等于這個數乘以2的n次方,一個數右移n位,就是等于這個數除以2的n次方。請思考:如何用程序實現(xiàn)求2的x次方。答案:y = 1 x; 028運算符的優(yōu)先級 我們可以使用括號改變運算賦的優(yōu)先級,分析int a =2;int b = a + 3*a;語句的執(zhí)行過程 與int a =2;int b =( a + 3)*a;語句的執(zhí)行過程的區(qū)別 。029如何避免多個運算符帶來的問題n對于int a =2; int b
15、= a + 3 * a+;這樣的語句,b最終等于多少呢?030如何避免多個運算符帶來的問題n與其去思考其中的原因,我們還不如將上面的第二句改為幾條語句來實現(xiàn)我們想要的結果。n不要在一行中編寫太復雜的表達式,也就是不要在一行中進行太多的運算n在一行中進行太多的運算并不能為你帶來什么好處,相反只能帶來壞處,它并不比改成幾條語句的運行速度快,它除可讀行差外,還極容易出錯。n對于優(yōu)先級順序,讀者不用刻意去記,有個印象就行如果你實在弄不清這些運算先后關系的話,就用括號或是分成多條語句來完成你想要的功能,因為括號的優(yōu)先級是最高的,n這也是軟件編碼規(guī)范的一個要求。031程序的流程控制 n順序結構n選擇結構n
16、循環(huán)結構顧名思義,順序結構就是程序從上到下一行一行執(zhí)行的結構,中間沒有判斷和跳轉,直到程序結束。 032選擇結構 if (表達式) 語句;if (表達式) 語句1; else 語句2;if (表達式1) 語句1;else if (表達式2) 語句2;else if (表達式2) 語句3; else 語句n;if語句還可以嵌套使用if (表達式1) if (表達式2) 語句1;語句2; esle if (表達式2) 語句3;語句4;嵌套時最好使用確定層次界限,舉例說明033選擇結構 switch (表達式)case 常量表達式1:語句1;case 常量表達式2:語句2;case 常量表達式n:語
17、句n;default: 語句n;ndefault語句是可選的,它接受除上面接受值的其他值,通俗的講,就是誰也不要的都歸它。ncase后面可以跟多個語句,這些語句可以不用大括號括起來 。 nswitch語句判斷條件可接受int, byte, char, short型,不可以接受其他類型n一旦碰到第一次case匹配,就會開始順序執(zhí)行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會被執(zhí)行,直到碰到break語句為止。我們可以利用這個特點來用同一段語句處理多個case條件 034循環(huán) while (表達式) 語句;int x=1;while(x3) system.ou
18、t.println(x=+x); x+; 腳下留心:腳下留心:while表達式的括號后面一定不要加“;” 035循環(huán)do 語句while (表達式);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編寫一個程序,這個程序不斷地讀取從鍵盤上輸入的字符,直到讀到字符q時,程序結束。n提示:調用system.in.read();可以讀
19、取到一個從鍵盤上輸入字符對應的整數。通過這個程序,你一定能體會到在什么樣的情況下,用do-while循環(huán)語句比while循環(huán)語句方便。037循環(huán) for(表達式1;表達式2 ;表達式3) 語句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語句可以中止循環(huán)中的子語句和switch語句。一個無標號的break語句會把控制傳給當前(最內)循環(huán)(while,dofor或switch)的下一條語句。如果有標號,控制會被傳遞給當前方法中的帶有這一標號的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 京東授權合同范例
- 社區(qū)托管小區(qū)合同范例
- 共用施工電梯合同范例
- 鍋爐施工安裝合同范例
- 餐廳人員安全合同范例
- 回收商用設備合同范例
- 房屋買賣合同正式格式
- 企業(yè)關聯(lián)方借款合同模板
- 材料采購合同翻譯實踐經驗
- 購銷合同補充協(xié)議文本
- 重慶財經學院《自然語言處理》2022-2023學年第一學期期末試卷
- 【MOOC】大學生職業(yè)發(fā)展與就業(yè)指導-河南科技大學 中國大學慕課MOOC答案
- 2024年度總結暨表彰大會議程例文(3篇)
- 山東省濟南市2023-2024學年高二上學期期末考試地理試題 附答案
- 【MOOC】微型計算機原理與接口技術-南京郵電大學 中國大學慕課MOOC答案
- GB/T 44898-2024基本公共服務均等化評價通則
- 糖尿病傷口護理
- 建筑師業(yè)務實習答辯
- 第07課 開關量的與運算(說課稿)2024-2025學年六年級上冊信息技術人教版
- 在編警察聘用合同范例
- 中華人民共和國突發(fā)事件應對法培訓課件
評論
0/150
提交評論