




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java就業(yè)培訓教程主講老師:游學軍了解Java的產生背景、應用情況、最新進展理解Java虛擬機的工作原理掌握Java程序開發(fā)、運行環(huán)境的安裝與配置掌握Java程序開發(fā)的基本過程回顧第2章Java編程基礎教學目標:掌握Java基本語法格式掌握變量及變量的作用域掌握函數及函數的重載掌握Java中的運算符及表達式掌握Java中程序的流程控制語句掌握數組的使用重點與難點重點Java的語法基本格式Java的變量及作用域Java的運算符及表達式Java的流程控制語句Java的數組Java的函數及其重載難點Java的變量的作用域的理解Java的流程控制語句的靈活使用Java的數組的靈活運用Java的函數及其重載Java的基本語法(1)java代碼的位置
java是嚴格區(qū)分大小寫的
java是一種自由格式的語言代碼分為結構定義語句和功能執(zhí)行語句功能執(zhí)行語句的最后必須用分號結束Java程序中的一句連續(xù)的字符串不能分開在兩行中寫
java程序有三種注釋方式單行注釋多行注釋文檔注釋java中的標識符
java中的包、類、方法、參數和變量的名字,可由任意順序的大小寫字母、數字、下劃線(_)和美元符號($)組成,但標識符不能以數字開頭,不能是關鍵字。合法的標識符:indentifierusernameuser_name_userName$username非法的標識符:class98.3HelloWorldJava的基本語法(2)java的關鍵字注:java無sizeof,goto,const關鍵字,但不能用gotoconst作為變量名abstractdoimplementprivatethisbooleandoubleimportprotectedthrowbreakelseinstanceofpublicthrowsbyteextendintreturntransientcasefalseinterfaceshorttruecatchfinallongstatictrycharfianllynativestrictfpvoidclassfloatnewsupervolatilecontinuefornullswitchwhiledefaultifpackage
synchronizedjava中的常量(1)整型常量十進制(12),十六進制(0x12),八進制(012)長整型常量13L單精度浮點數
5.1f,.4f,2e3f,0f雙精度浮點數
5.1,.4,2e-3,0d布爾常量
true和falsejava中的常量(2)字符常量 ‘a’,‘8’,'\u0027'‘\r‘表示接受鍵盤輸入,相當于按下了回車鍵;‘\n‘是換行;‘\t‘是制表符,相當于table鍵;‘\b‘是退格鍵,相當于BackSpace;‘\‘‘是單引號,而‘\“‘是雙引號;‘\\‘是一個斜杠“\”。字符串常量 “HelloWorld“,”123”,"e\nXXX"null常量
null常量只有一個值,用null表示,表示對象的引用為空變量的概念與作用變量就是系統(tǒng)為程序分配的一塊內存單元,用來存儲各種類型的數據。根據所存儲的數據類型的不同,有各種不同類型的變量。變量名代表這塊內存中的數據。intx=0,y;y=x+3; 執(zhí)行這兩條語句的過程中,內存分配及變化情況。X在被取值前必須被初始化。java的變量類型
數據類型基本數據類型引用數據類型數值型字符型(char)布爾型(boolean)整數類型(byte,short,int,long)浮點類型(float,double)類(class)接口(interface)數組變量字節(jié)大小及有效取值范圍byte占用一個字節(jié),數字大小為-27—27-1short占用兩個字節(jié),數字大小為-215—215-1
int占用四個字節(jié),數字大小為-231—231-1
long占用八個字節(jié),數字大小為-263—263-1
float占用四個字節(jié),數字大小為1.4E-45~3.4E+38,-1.4E-45~-3.4E+38。用二進制的指數形式表示一個浮點數的格式,如:101*22,101*2-3double占用八個字節(jié),數字大小為4.9E-324~1.7E+308,-4.9E-324~-1.7E+308。char占兩個字節(jié),數字大小為0—216-1,是unicode編碼。字符的本來面目,我們?yōu)槭裁纯梢灾苯訉⒁粋€數字賦給字符變量。boolean占一個字節(jié),其取值只有兩個,true和false。類型轉化自動類型轉換(也叫隱式類型轉換)byte
short
char
int
long
float
double強制類型轉換(也叫顯式類型轉換)類型轉換的原理及什么時候要用強制類型轉換表達式的數據類型自動提升所有的byte型、short型和char的值將被提升到int型。如果一個操作數是long型,計算結果就是long型;如果一個操作數是float型,計算結果就是float型;如果一個操作數是double型,計算結果就是double型。分析System.out.println(‘a’+1)與 System.out.println(“”+’a’+1)的區(qū)別。變量的生命周期與作用域變量要先定義,后使用,但也不是在變量定義后的語句一直都能使用前面定義的變量。我們可以用大括號將多個語句包起來形成一個復合語句,變量只能在定義它的復合語句中使用。publicclassTestScope{publicstaticvoidmain(String[]args){ intx=12;{intq=96;//x和q都可用
intx=3;//錯誤的定義,Java中不允許有這種嵌套定義
System.out.println("xis"+x);System.out.println("qis"+q);}q=x;/*錯誤的行,只有x可用,q超出了作用域范圍*/System.out.println("xis"+x);}}函數函數(子程序)的概念與作用。定義一個函數的格式編寫打印三個矩形的程序(用流水帳的方式與用函數的方式進行對比分析)。返回值類型函數名(參數類型形式參數1,參數類型形式參數2,….){程序代碼
return返回值;}其中:形式參數:在方法被調用時用于接收外部傳入的數據的變量。參數類型:就是該形式參數的數據類型。返回值:方法在執(zhí)行完畢后返還給調用它的程序的數據。返回值類型:函數要返回的結果的數據類型。實參:調用函數時實際傳給函數形式參數的數據。如何理解函數返回值類型為void的情況函數的調用函數調用的格式在函數中使用return提前返回函數調用的過程分析函數的重載函數的重載就是在同一個類中允許同時存在一個以上的同名函數,只要它們的參數個數或類型不同即可。如:
publicclassTest
{ publicstaticvoidmain(String[]args) { intisum; doublefsum; isum=add(3,5); isum=add(3,5,6); fsum=add(3.2,6.5); } publicstaticintadd(intx,inty) { reutrnx+y; } publicstaticintadd(intx,inty,intz) { returnx+y+z; } publicstaticdoubleadd(doublex,doubley) { returnx+y; } }java中的運算符運算符是一種特殊符號,用以表示數據的運算、賦值和比較,一般由一至三個字符組成。運算符共分以下幾種:算術運算符賦值運算符比較運算符邏輯運算符移位運算符算術運算符算術運算符的注意問題“+”除字符串相加功能外,還能把非字符串轉換成字符串,如:“x”+123;的結果是“x123”。如果對負數取模,可以把模數負號忽略不記,如:5%-2=1。但被模數是負數就另當別論了。對于除號“/”,它的整數除和小數除是有區(qū)別的:整數之間做除法時,只保留整數部分而舍棄小數部分。intx=3510;x=x/1000*1000;實際運行結果是3000,想想為什么?算術運算符的應用技巧思考題1:某個培訓中心要為新到的學員安排房間,假設共有x個學員,每個房間可以住y人,讓你用一個公式來計算他們要住的房間數? 答案:(x+y-1)/y。這種算法還可用在查看留言板的分頁顯示上:其中x是總共的留言數,6是每頁顯示的留言數,結果就是總共有多少頁。思考題2:假設你要讓x的值在0至9之間循環(huán)變化,請寫出相應的程序代碼。賦值運算符注1:在JAVA里可以把賦值語句連在一起,如:
x=y=z=5;
在這個語句中,所有三個變量都得到同樣的值5。注2:x+=3等效于x=x+3,等于*=,-=,/=依此類推。比較運算符注1:比較運算符的結果都是boolean型,也就是要么是true,要么是false。注2:比較運算符“==”不能誤寫成“=”
,切記!切記!邏輯運算符注1:邏輯運算符用于對boolean型結果的表達式進行運算,運算的結果都是boolean型。注2:“&”和“&&”的區(qū)別在于,如果使用前者連接,那么無論任何情況,“&”兩邊的表達式都會參與計算。如果使用后者連接,當“&&”的左邊為false,則將不會計算其右邊的表達式。“|”和“||”的區(qū)別與“&”和“&&”的區(qū)別一樣?!?”和“&&”的區(qū)別分析publicclassTestAnd{publicstaticvoidmain(String[]args){intx=0;inty=3;if(x!=0&&y==y/x) System.out.println("y="+y);}}上面例子中,由于while語句的判斷條件中的第一個布爾表達式是不成立的,程序就不會判斷第二個布爾表達式的值,這就是“短路”。如果兩個表達式之間用“&”來連接,如果正好碰到上面所示的特殊情況,程序運行時就會出錯位運算符任何信息在計算機中都是以二進制的形式保存的,&,|,^除了可以作為邏輯運算符,也可以做為位算符,它們對兩個操作數中的每一個二進制位都進行運算。只有參加運算的兩位都為1,&運算的結果才為1,否則就為0。只有參加運算的兩位都為0,|運算的結果才為0,否則就為1。只有參加運算的兩位不同,^運算的結果才為1,否則就為0。我們可以對數據按二進制位進行移位操作,java的移位運算符有三種:<<左移>>右移>>>無符號右移“>>”和“>>>”
區(qū)別的實例分析publicclassShiftTest{publicstaticvoidmain(String[]args){ intx=0x80000000; inty=0x80000000;x=x>>1;y=y>>>1;System.out.println(“0x80000000>>1=”+Integer.toHexString(x));System.out.println(“0x80000000>>>1=”+Integer.toHexString(y));}}運行結果如下:0x80000000>>1=c00000000x80000000>>>1=40000000十六進制與二進的對比
0x=1000,0000,0000,0000,0000,0000,0000,00002 0xc000000016=1100,0000,0000,0000,0000,0000,0000,00002 0x=0100,0000,0000,0000,0000,0000,0000,00002移位運算的注意事項及小技巧移位運算符適用類型有byte、short、char、int、long對低于int型的操作數將先自動轉換為int型再移位。 對于int型整數移位a>>b,系統(tǒng)先將b對32取模,得到的結果才是真正移位的位數。例如:a>>33和a>>1結果是一樣的,a>>32的結果還是a原來的數字。對于long型整數移位時a>>b,則是先將移位位數b對64取模。移位不會改變變量本身的值。如a>>1;在一行語句中單獨存在,毫無意義。x>>1的結果和x/2的結果是一樣的,x<<2和x*4的結果也是一樣的??傊粋€數左移n位,就是等于這個數乘以2的n次方,一個數右移n位,就是等于這個數除以2的n次方。請思考:如何用程序實現求2的x次方。答案:y=1<<x;運算符的優(yōu)先級我們可以使用括號改變運算賦的優(yōu)先級,分析inta=2;intb=a+3*a;語句的執(zhí)行過程與inta=2;intb=(a+3)*a;語句的執(zhí)行過程的區(qū)別。如何避免多個運算符帶來的問題對于inta=2;intb=a+3*a++;這樣的語句,b最終等于多少呢?作者試驗得到的結果是8。對于inta=2;intb=(a++)+3*a;這樣的語句,b最終等于多少呢?作者試驗得到的結果是11。如何避免多個運算符帶來的問題與其去思考其中的原因,我們還不如將上面的第二句改為幾條語句來實現我們想要的結果。不要在一行中編寫太復雜的表達式,也就是不要在一行中進行太多的運算在一行中進行太多的運算并不能為你帶來什么好處,相反只能帶來壞處,它并不比改成幾條語句的運行速度快,它除可讀行差外,還極容易出錯。對于優(yōu)先級順序,讀者不用刻意去記,有個印象就行如果你實在弄不清這些運算先后關系的話,就用括號或是分成多條語句來完成你想要的功能,因為括號的優(yōu)先級是最高的,這也是軟件編碼規(guī)范的一個要求。程序的流程控制順序結構選擇結構循環(huán)結構顧名思義,順序結構就是程序從上到下一行一行執(zhí)行的結構,中間沒有判斷和跳轉,直到程序結束。if語句的選擇結構if(表達式)語句;示例:判斷一個整數是否是奇數示例:找出兩個數中的最大數if(表達式)語句1;else語句2;條件表達式?語句1:語句2;示例:判斷一個整數是奇數還是偶數示例:找出三個整數中的最大數和最小數if(表達式1)語句1;elseif(表達式2)語句2;elseif(表達式2)語句3;
…else語句n;每個語句可以是使用{}組成的復合語句示例:編程實現把百分制轉換為等級制。示例:一個整數如果能被3整除則輸出Flip,如何能被5整數則輸出Flop,既能被3整數又能被5整數則輸出FlipFlop。if語句的選擇結構If語句還可以嵌套使用
if(表達式1) if(表達式2)語句1;
else語句2;
esle if(表達式2)語句3;
else語句4; 嵌套時最好使用{}確定層次界限switch語句的選擇結構switch(表達式){ case常量表達式1:語句1; case常量表達式2:語句2; … case常量表達式n:語句n; default:語句n;}default語句是可選的,它接受除上面接受值的其他值,通俗的講,就是誰也不要的都歸它。case后面可以跟多個語句,這些語句可以不用大括號括起來。switch語句判斷條件可接受int,byte,char,short型,不可以接受其他類型一旦碰到第一次case匹配,就會開始順序執(zhí)行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會被執(zhí)行,直到碰到break語句為止。我們可以利用這個特點來用同一段語句處理多個case條件編程示例:從鍵盤輸入年份和月份,求出天數。while循環(huán)語句
while(表達式){
語句;}
腳下留心:while表達式的括號后面一定不要加“;”
示例:1-100的和;奇數和偶數的和示例:n!示例:判斷一個數是否是素數
do-while循環(huán)語句do{
語句;}while(表達式);對于不知道循環(huán)多少次的問題,可以使用該循環(huán)。示例:編寫一個程序,這個程序不斷地讀取從鍵盤上輸入的字符,直到讀到字符’q’時,程序結束。提示:Scanner類的使用for循環(huán)語句
for(表達式1;表達式2;表達式3){
語句;}示例:1-100的和,奇數的和,偶數的和。循環(huán)嵌套for(表達式1;表達式2;表達式3){
語句 for(表達式1;表達式2;表達式3){
語句 }
語句}示例:九九乘法表示例:1!+2!+…+n!break語句
break語句可以中止循環(huán)中的子語句和switch語句。一個無標號的break語句會把控制傳給當前(最內)循環(huán)(while,do.for或switch)的下一條語句。如果有標號,控制會被傳遞給當前方法中的帶有這一標號的語句。如:st:while(true){while(true){ breakst;}}示例:找出2-100中所有的素數,每行輸出10個數continue語句
continue語句只能出現在循環(huán)語句(while,do,for)的子語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚介公司合同(2025年度)-婚戀品牌推廣與營銷協議
- 2025股東股權協議:智慧城市建設與運營
- 二零二五年度蔬菜大棚租賃權及經營權整體轉讓合同
- 二零二五醫(yī)療事故賠償協議書范本編寫指南
- 二零二五年度餐飲行業(yè)員工績效考核聘用合同
- 2025年度桶裝水電商平臺用戶數據分析與精準營銷合同
- 二零二五年度車庫租賃與智能停車系統(tǒng)合作協議
- 2025年度珠寶店員工勞動合同終止及后續(xù)服務合同
- 二零二五年度建筑工程安全生產監(jiān)督檢查合同
- 動產拍賣委托代理協議書(2025年度藝術品拍賣合作)
- 2024年07月山東省泰山財產保險股份有限公司2024年夏季校園招考29名工作人員筆試歷年參考題庫附帶答案詳解
- 臨床護理死亡病例討論
- 2025年廣東韶關城投集團招聘筆試參考題庫含答案解析
- 醫(yī)療器械生產企業(yè)并購合同
- 2025版新能源汽車充電站建設合同含政府補貼及稅收優(yōu)惠條款
- 2025年北京國資公司招聘筆試參考題庫含答案解析
- 建設工程總承包EPC建設工程項目管理方案1
- iso28000-2022供應鏈安全管理手冊程序文件表單一整套
- 養(yǎng)老院敬老院福利醫(yī)養(yǎng)機構消防知識培訓科普講座教學課件
- 子癇診斷及治療
- 2024年度酒店智能化系統(tǒng)安裝工程合同
評論
0/150
提交評論