版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章Java語言基礎劉德伏
2
Java語言基礎組成
2.1關鍵字
2.2標識符
2.3注釋
2.4常量和變量
2.5運算符
2.6語句
2.7函數(shù)
2.8數(shù)組
2.1關鍵字關鍵字的定義和特點定義:被Java語言賦予了特殊含義的單詞特點:關鍵字中所有字母都為小寫用于定義數(shù)據(jù)類型的關鍵字classinterfacebyteshortintlongfloatdoublecharbooleanvoid常量后綴用于定義數(shù)據(jù)類型值的關鍵字truefalsenull用于定義流程控制的關鍵字ifelseswitchcasedefaultwhiledoforbreakcontinuereturngoto
2.1關鍵字用于定義訪問權限修飾符的關鍵字privateprotectedpublic友好的用于定義類,函數(shù),變量修飾符的關鍵字abstractfinalstaticsynchronized用于定義類與類之間關系的關鍵字extendsimplements用于定義建立實例及引用實例,判斷實例的關鍵字newthissuperinstanceof用于異常處理的關鍵字trycatchfinallythrowthrows用于包的關鍵字packageimport其他修飾符關鍵字nativestrictfptransientvolatileassert2.2標識符在程序中自定義的一些名稱。由26個英文字母大小寫,數(shù)字:0-9符號:_$組成定義合法標識符規(guī)則:1、數(shù)字不可以開頭。2、不可以使用關鍵字。Java中嚴格區(qū)分大小寫。注意:在起名字的時,為了提高閱讀性,要盡量有意義。
2.2標識符Java中的名稱規(guī)范:包名:多單詞組成時所有字母都小寫。iotool.jarxxxyyyzzz類名接口名:多單詞組成時,所有單詞的首字母大寫。XxxYyyZzz變量名和函數(shù)名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫。xxxYyyZzz常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接。XXX_YYY_ZZZ
2.3注釋用于注解說明解釋程序的文字就是注釋。提高了代碼的閱讀性。Java中的注釋格式:單行注釋格式://注釋文字多行注釋格式:/*注釋文字*/文檔注釋HTML---》*.chm格式:/**注釋文字*/
2.3注釋對于單行和多行注釋,被注釋的文字,不會被JVM(java虛擬機)解釋執(zhí)行。對于文檔注釋,是java特有的注釋,其中注釋內容可以被JDK提供的工具javadoc所解析,生成一套以網(wǎng)頁文件形式體現(xiàn)的該程序的說明文檔。注釋是一個程序員必須要具有的良好編程習慣。初學者編寫程序可以養(yǎng)成習慣:先寫注釋再寫代碼。將自己的思想通過注釋先整理出來,在用代碼去體現(xiàn)。因為代碼僅僅是思想的一種體現(xiàn)形式而已。
2.3注釋/**
這是我的HelloWorld程序。
@author小強*/classDemo{ /*
這是主函數(shù),是程序的入口 它的出現(xiàn)可以保證程序的獨立運行, */ publicstaticvoidmain(String[]args) { //這是輸出語句用于將括號內的數(shù)據(jù)打印到控制臺。
System.out.println("HelloWorld"); }}
2.4常量與變量常量表示不能改變的數(shù)值。Java中常量的分類:1,整數(shù)常量。所有整數(shù)2,小數(shù)常量。所有小數(shù)3,布爾(boolean)型常量。較為特有,只有兩個數(shù)值。truefalse。4,字符常量。將一個數(shù)字字母或者符號用單引號('')標識。5,字符串常量。將一個或者多個字符用雙引號(“”)標識。6,null常量。只有一個數(shù)值就是:null.對于整數(shù):有四種表現(xiàn)形式。二進制:0,1,滿2進1.八進制:0-7,滿8進1.用0開頭表示。十進制:0-9,滿10進1.十六進制:0-9,A-F,滿16進1.用0x開頭表示。
2.4常量與變量變量的概念:內存中的一個存儲區(qū)域該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型)該區(qū)域的數(shù)據(jù)可以在同一類型范圍內不斷變化為什么要定義變量:用來不斷的存放同一類型的常量,并可以重復使用使用變量注意:變量的作用范圍(一對{}之間有效) 初始化值定義變量的格式:數(shù)據(jù)類型變量名=初始化值;注:格式是固定的,記住格式,以不變應萬變。理解:變量就如同數(shù)學中的未知數(shù)。
2.4常量與變量數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte,short,int,long)浮點類型(float,double)類(class)接口(interface)數(shù)組([])整數(shù)默認:int小數(shù)默認:doubleJava語言是強類型語言,對于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內存總分配了不同大小的內存空間
2.4常量與變量自動類型轉換(也叫隱式類型轉換小類型賦值給大類型)強制類型轉換(也叫顯式類型轉換)類型轉換的原理什么時候要用強制類型轉換?表達式的數(shù)據(jù)類型自動提升所有的byte型、short型和char的值將被提升到int型。如果一個操作數(shù)是long型,計算結果就是long型;如果一個操作數(shù)是float型,計算結果就是float型;如果一個操作數(shù)是double型,計算結果就是double型。分析System.out.println(‘a(chǎn)’)與System.out.println(’a’+1)的區(qū)別。
2.4常量與變量自動類型提升byteb=3;intx=4;x=x+b;//b會自動提升為int類型進行運算。強制類型轉換byteb=3;b=b+4;//報錯b=(byte)b+4;//強制類型轉換,強制將b+4的結果轉換為byte類型,再賦值給b。思考:byteb1=3,b2=4,b;b=b1+b2;*失敗b=3+4;哪句是編譯失敗的呢?為什么呢?b1b2是變量不是具體數(shù)值,3和4是具體數(shù)值
2.5運算符算術運算符賦值運算符比較運算符邏輯運算符位運算符三元運算符
2.5.1算術運算符
2.5.1算術運算符算術運算符的注意問題如果對負數(shù)取模,可以把模數(shù)負號忽略不記,如:5%-2=1。但被模數(shù)是負數(shù)就另當別論。對于除號“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時,只保留整數(shù)部分而舍棄小數(shù)部分。例如:intx=3510;x=x/1000*1000;x的結果是?“+”除字符串相加功能外,還能把非字符串轉換成字符串,例如:System.out.println("5+5="+5+5);//打印結果是?
2.5.2賦值運算符符號: =,+=,-=,*=,/=,%=示例:
inta,b,c;a=b=c=3; inta=3;a+=5;等同運算a=a+5;思考:
shorts=3; s=s+2; s+=2;
有什么區(qū)別?
2.5.3比較運算符注1:比較運算符的結果都是boolean型,也就是要么是true,要么是false。注2:比較運算符“==”不能誤寫成“=”。
2.5.4邏輯運算符
2.5.4邏輯運算符邏輯運算符用于連接布爾型表達式,在Java中不可以寫成3<x<6,應該寫成x>3&x<6?!?”和“&&”的區(qū)別:單&時,左邊無論真假,右邊都進行運算;雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那么右邊不參與運算。 “|”和“||”的區(qū)別同理,雙或時,左邊為真,右邊不參與運算。異或(^)與或(|)的不同之處是:當左右都為true時,結果為false。
2.5.5位bit0/1運算符位運算符運算符運算范例<<左移3<<2=12-->3*2*2=12>>右移3>>1=1-->3/2=1>>>無符號右移3>>>1=1-->3/2=1&與運算6&3=2|或運算6|3=7^異或運算6^3^3=6~反碼~6=-7位運算是直接對二進制進行運算。
2.5.5位運算符位運算符的細節(jié)<<空位補0,被移除的高位丟棄,空缺位補0。>>被移位的二進制最高位是0,右移后,空缺位補0;最高位是1,空缺位補1。>>>被移位二進制最高位無論是0或者是1,空缺位都用0補。&二進制位進行&運算,只有1&1時結果是1,否則是0;|二進制位進行|運算,只有0|0時結果是0,否則是1;^相同二進制位進行^運算,結果是0;1^1=0,0^0=0不相同二進制位^運算結果是1。1^0=1,0^1=1
2.5.5位運算符練習:1.最有效率的方式算出2乘以8等于幾?2*80001*1000--------100002.對兩個整數(shù)變量的值進行互換3.對兩個整數(shù)變量的值進行互換(不需要第三方變量)
2.5.6三元運算符格式(條件表達式)?表達式1:表達式2;如果條件為true,運算后的結果是表達式1;如果條件為false,運算后的結果是表達式2;示例:獲取兩個數(shù)中大數(shù)。intx=3,y=4,z;z=(x>y)?x:y;//z變量存儲的就是兩個數(shù)的大數(shù)。
2.6程序流程控制判斷結構選擇結構循環(huán)結構
2.6.1判斷結構if語句三種格式:if(true) {
執(zhí)行語句;
}if(條件表達式) {
執(zhí)行語句;
} else {
執(zhí)行語句;
}if(條件表達式) { 執(zhí)行語句; } elseif(條件表達式) { 執(zhí)行語句; } …… else { 執(zhí)行語句; }
2.6.1判斷結構if語句特點:
a,每一種格式都是單條語句。
b,第二種格式與三元運算符的區(qū)別:三元運算符運算完要有值出現(xiàn)。好處是:可以寫在其他表達式中。
c,條件表達式無論寫成什么樣子,只看最終的結構是否是true或者false;
2.6.2選擇結構switch語句格式:switch(表達式){ case取值1: 執(zhí)行語句; break; case取值2: 執(zhí)行語句; break; …... default: 執(zhí)行語句; break;}
2.6.2選擇結構switch語句特點:
a,switch語句選擇的類型只有四種:byte,short,int,char。
b,case之間與default沒有順序。先執(zhí)行第一個case,沒有匹配的case執(zhí)行default。
c,結束switch語句的兩種情況:遇到break,執(zhí)行到switch語句結束。
d,如果匹配的case或者default沒有對應的break,那么程序會繼續(xù)向下執(zhí)行,運行可以執(zhí)行的語句,直到遇到break或者switch結尾結束。
2.6.3循環(huán)結構while語句格式:while(條件表達式){
執(zhí)行語句;}dowhile語句格式:do{ 執(zhí)行語句;}while(條件表達式);dowhile特點:是條件無論是否滿足,循環(huán)體至少執(zhí)行一次。代表語句:while,dowhile,for
2.6.3循環(huán)結構格式:for(初始化表達式;循環(huán)條件表達式;循環(huán)后的操作表達式){
執(zhí)行語句;(循環(huán)體)}注:
a、for里面的兩個表達式運行的順序,初始化表達式只讀一次,判斷循環(huán)條件,為真就執(zhí)行循環(huán)體,然后再執(zhí)行循環(huán)后的操作表達式,接著繼續(xù)判斷循環(huán)條件,重復找個過程,直到條件不滿足為止。
b、while與for可以互換,區(qū)別在于for為了循環(huán)而定義的變量在for循環(huán)結束時就在內存中釋放。而while循環(huán)使用的變量在循環(huán)結束后還可以繼續(xù)使用。
c、最簡單無限循環(huán)格式:while(true),for(;;),無限循環(huán)存在的原因是并不知道循環(huán)多少次,而是根據(jù)某些條件,來控制循環(huán)。
2.6.4其他流程控制語句break(跳出),continue(繼續(xù))break語句:應用范圍:選擇結構和循環(huán)結構。continue語句:應用于循環(huán)結構。注:a,這兩個語句離開應用范圍,存在是沒有意義的。b,這個兩個語句單獨存在下面都不可以有語句,因為執(zhí)行不到。c,continue語句是結束本次循環(huán)繼續(xù)下次循環(huán)。d,標號的出現(xiàn),可以讓這兩個語句作用于指定的范圍。
語句練習語句的嵌套應用累加求和,計數(shù)器循環(huán)嵌套
2.7函數(shù)函數(shù)的定義函數(shù)的特點函數(shù)的應用函數(shù)的重載
2.7.1函數(shù)的定義什么是函數(shù)?函數(shù)就是定義在類中的具有特定功能的一段獨立小程序。函數(shù)也稱為方法。函數(shù)的格式:修飾符返回值類型函數(shù)名(參數(shù)類型形式參數(shù)1,參數(shù)類型形式參數(shù)2,...) { 執(zhí)行語句; return返回值; } 返回值類型:函數(shù)運行后的結果的數(shù)據(jù)類型。 參數(shù)類型:是形式參數(shù)的數(shù)據(jù)類型。 形式參數(shù):是一個變量,用于存儲調用函數(shù)時傳遞給函數(shù)的實際參數(shù)。 實際參數(shù):傳遞給形式參數(shù)的具體數(shù)值。 return:用于結束函數(shù)。 返回值:該函數(shù)運算后的結果,該結果會返回給調用者。
2.7.2函數(shù)的特點
定義函數(shù)可以將功能代碼進行封裝便于對該功能進行復用函數(shù)只有被調用才會被執(zhí)行函數(shù)的出現(xiàn)提高了代碼的復用性對于函數(shù)沒有具體返回值的情況,返回值類型用關鍵字void表示,那么該函數(shù)中的return語句如果在最后一行可以省略不寫。注意:函數(shù)中只能調用函數(shù),不可以在函數(shù)內部定義函數(shù)。定義函數(shù)時,函數(shù)的結果應該返回給調用者,交由調用者處理。
2.7.3函數(shù)的應用兩個明確明確要定義的功能最后的結果是什么?(專一,獨立)明確在定義該功能的過程中,是否需要未知內容參與運算示例:需求:定義一個功能,可以實現(xiàn)兩個整數(shù)的加法運算。分析:該功能的運算結果是什么?兩個數(shù)的和,也是一個整數(shù)(int)在實現(xiàn)該功能的過程中是否有未知內容參與運算?加數(shù)和被加數(shù)是不確定的。(兩個參數(shù)int,int)代碼: intgetSum(intx,inty) { returnx+y; }
2.7.4函數(shù)的重載(overload)(override)重載的概念在同一個類中,允許存在一個以上的同名函數(shù),只要它們的參數(shù)個數(shù)或者參數(shù)類型或參數(shù)順序不同即可。重載的特點:與返回值類型無關,只看參數(shù)列表。重載的好處:方便于閱讀,優(yōu)化了程序設計。重載示例://返回兩個整數(shù)的和
intadd(intx,inty){returnx+y;}//返回三個整數(shù)的和
intadd(intx,inty,intz){returnx+y+z;}//返回兩個小數(shù)的和
doubleadd(doublex,doubley){returnx+y;}
2.8數(shù)組:冒泡、選擇CJava數(shù)組的定義數(shù)組的內存分配及特點數(shù)組操作常見問題數(shù)組常見操作數(shù)組中的數(shù)組
2.8.1數(shù)組的定義概念同一種類型數(shù)據(jù)的集合。其實數(shù)組就是一個容器。數(shù)組的好處可以自動給數(shù)組中的元素從0開始編號(下標),方便操作這些元素。格式1:元素類型[]數(shù)組名=new
元素類型[元素個數(shù)或數(shù)組長度];示例:int[]arr=newint[5];格式2:元素類型[]數(shù)組名=new元素類型[]{元素,元素,……};int[]arr=newint[]{3,5,1,7};int[]arr={3,5,1,7};
2.8.2數(shù)組內存結構arr0x0012堆內存int[]arr=newint[4];棧內存newint[4]0x0012arr[0]arr[1]arr[2]arr[3]
2.8.2內存結構Java程序在運行時,需要在內存中的分配空間。為了提高運算效率,有對空間進行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內存管理方式。棧內存用于存儲局部變量,當數(shù)據(jù)使用完},所占空間會自動釋放。堆內存數(shù)組和對象,通過new建立的實例都存放在堆內存中。每一個實體都有內存地址值實體中的變量都有默認初始化值實體不在被使用,會在不確定的時間內被垃圾回收器回收方法區(qū),本地方法區(qū),寄存器
2.8.3數(shù)組操作常見問題數(shù)組腳標越界異常(ArrayIndexOutOfBoundsException)int[]arr=newint[2];System.out.println(arr[3]);訪問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開工會議紀要內容范文(3篇)
- 私營企業(yè)股東合作協(xié)議書(35篇)
- 天津市重點校聯(lián)考2024-2025學年高一上學期期中考試歷史試題(無答案)
- 陜西省漢中市期中聯(lián)考2024-2025學年高一上學期11月期中化學試題(含答案)
- 遼寧省撫順市六校協(xié)作體2024-2025學年高一上學期期中語文試卷(含答案)
- 黑龍江省哈爾濱工業(yè)大學附屬中學2024-2025學年八年級上學期期中考試地理試題(含答案)
- 吉林省“BEST合作體”2023-2024學年高二年級下冊7月期末考試生物試題(解析版)
- 出口貨物運輸代理協(xié)議樣本
- 企業(yè)員工檔案托管協(xié)議專業(yè)版
- 工程監(jiān)理勞動合同書
- 快手2025CNY《寨子里的歌晚》招商項目方案
- 2023年唐山銀行招聘考試真題
- 《小學低年級語文說話能力培養(yǎng)的研究》課題實施方案
- 大型機械運輸服務方案
- 2024年公司工會工作計劃模版(三篇)
- 9.1增強安全意識課件-2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 榆能集團筆試考什么
- 應用英語智慧樹知到答案2024年陜西交通職業(yè)技術學院
- 光伏組件回收再利用建設項目可行性研究報告寫作模板-拿地申報
- 水電站可行性研究階段勘探工作施工組織設計
- 2024年高考英語考試易錯點:名詞性從句(4大陷阱)(解析版)
評論
0/150
提交評論