




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java基礎第二章Java程序設計與應用新工科建設之路·計算機類規劃教材01基礎語法PARTONE基礎語法標識符程序員對程序中的變量、函數等加以命名時使用的命名記號稱為標識符(identifier)。在Java中,標識符是以字母、下畫線(_)、美元符($)開始的一個字符序列,后面可以跟字母、下畫線、美元符、數字。Java同C語言一樣,是對大小寫敏感的語言,即標識符中的字母區分大小寫。identifier和Identifier表示兩個不同的標識符。基礎語法關鍵字Java的關鍵字對Java的編譯器有專門的意義和用途,不能作為一般的標識符使用。這些標識符稱為保留字(reservedword),也稱為關鍵字,下面列出了Java中的所有保留字。02數據類型PARTTWO數據類型Java的數據類型分為基本數據類型和引用數據類型兩大類,如圖2-1所示。數據類型Java提供了8種基本數據類型。包括6種數字類型(4種整型、2種浮點型)。1種字符型和1種布爾型。數據類型01整型整型在計算機中占用空間的長度和取值范圍如表2-1所示。在Java中,共有4種整型,使用關鍵字byte、short、int、long來聲明不同的整型。數據類型short型short型稱為短整型,是有符號的16位。它的取值范圍是-215~215-1。long型long型稱為長整型,是有符號的64位,表示的存儲范圍是-263?263-1。byte型byte型稱為字節型,是有符號的8位。它的取值范圍是-27~27-1。int型int型稱為整型,是最常用的整型,是有符號的32位,它的取值范圍是-231?231-1。數據類型02浮點型浮點型簡單來說就是數學中的小數,嚴格來說是實數。在Java中共有兩種浮點型,一種是單精度的float型,另一種是雙精度的double型,表2-2列出了兩種浮點型存儲在計算機中占用的空間大小。數據類型03字符型在Java中,存儲單個字符的數據類型是char,釆用的是16位Unicode字符。Unicode字符實際上是用無符號16位整數表示的,它的取值范圍是0?65535。所以,字符型實際上是一個16位的無符號整數,因此也可以把數字賦值給它,如charc=12。數據類型Java提供轉義字符,以反斜杠(\)開頭,將其后的字符轉變為另外的含義。Java常見的轉義字符如表2-3所示。數據類型04布爾型布爾型也稱為邏輯型,使用關鍵字boolean來聲明。它只有2個值:true和false,用來表示兩個狀態。需要注意的是,與C語言不一樣,Java不能用1或0這類整型數據來表示布爾型的值。數據類型類型轉換是指不同數據類型之間的轉換。如int型轉為long型,整型轉為浮點型等。類型轉換分為自動類型轉換和強制類型轉換。數據類型自動類型轉換自動類型轉換也叫隱式轉換,因為在計算機中不同的數據類型是無法進行運算的。所以當一個表達式中出現不同的數據類型時,Java編譯器會做適當的類型轉換,這種轉換就是自動類型轉換。數據類型強制類型轉換強制類型轉換也稱為顯式類型轉換,表示兩種數據類型之間的轉換必須要進行的聲明。例如。03Java中的運算符PARTTHREEJava中的運算符四則運算是數學運算中最常見的,Java定義了算術運算符來處理四則運算,如表2-4所示。Java中的運算符算術運算符的操作數必須是數字型。算術運算符不能用在布爾型上,但是可以用在char型上,因為實質上在Java中,char型是int型的一個子集。基本算術運算符(加、減、乘、除)可以對所有的數字型的操作數進行操作。減運算也可以表示單個操作數的負號。需要注意的是,對整數進行“/”運算時,所有的余數都要被舍去。Java中的運算符賦值運算符的作用是將一個值賦給一個變量,運算順序為從右到左。賦值運算符包括=、+=、-=、*=、/=、%=。在Java中可以通過一條賦值語句對多個變量進行賦值,例如:Java中的運算符+=、-=、*=、/=、%=這類符號表示將等號左邊的變量值與等號右邊的變量值做相應的運算后,再賦值給等號左邊的變量。例如:以上代碼相當于a=a+2,然后執行a=a*3,最后結果是a=18。Java中的運算符關系運算符決定值和值之間的關系,判斷數據是否相等及排列次序。關系運算符及其含義如表2-5所示。Java中的運算符關系運算符的作用是比較運算數的大小關系,產生的結果是布爾型,即true或false。關系運算符常常用在遷控制語句和各種循環語句的表達式中。Java中的任何數據類型,包括整型、浮點型、字符型、布爾型都可以用“==”來比較是否相等,用“!=”來比較是否不等。Java中的運算符Java中的邏輯運算符用于對布爾型的數據進行操作,其結果仍然是一個布爾型數據。Java中的邏輯運算符及其含義如表2-6所示。Java中的運算符需要注意&&與&的區別,在進行邏輯與操作時,“&&”是短路與運算符,即在運算時只要判定左邊表達式為假,就可以立即得出結論,不再計算右邊表達式。“&”在表達式判定上和“&&”相同,唯一不同的是它總是計算兩邊表達式的值。“||”和“|”的區別與“&&”和“&”的區別類似。Java中的運算符位運算符是將兩個操作數轉換成二進制數,然后對相應的位進行按位運算,如表2-7所示。Java中的運算符按位非對其每一位操作數的每一位取反。&比較兩個操作數相同位置上的數,如果都為1,則將結果置為1,其他情況置為O。丨比較兩個操作數相同位置上的數,如果其中一個變量的位是1,則將結果置為1,其他情況置為0。僅當其中一個變量的位是1時,^將結果位設置為1,其他情況置為0。右移運算符>>可以使指定值的所有位向右移規定的次數。Java中的運算符在對一些賦值的表達式進行運算時,要明確表達式運算符參與運算的先后順序,稱為運算符的優先級。各運算符按照如表2-8所示的優先級進行運算。優先級高的運算符先運算,優先級低的運算符后運算,同一級別的運算符按照從左到右的次序進行計算。Java中的運算符04流程控制PARTFOUR流程控制程序語言使用控制語句來控制程序的流程,從而完成程序狀態的改變。Java的程序控制語句分為順序結構、選擇結構和循環結構。一個程序的結構只可能由這三種情況構成,可以同時包括其中的一種、兩種或三種。流程控制程序的三種基本結構如圖2-2所示。流程控制在程序執行過程中,程序語句大多是按照其書寫順序依次執行的,這稱為順序結構。但是,為了能處理某些復雜問題,程序也需要根據不同條件選擇執行不同的程序段,或者重復執行某些特定的程序段,前者稱為分支結構,后者稱為循環結構。流程控制順序結構順序結構是指執行流程按照代碼的先后順序,程序從上到下執行。它是流程控制語句中最簡單的一類語句,前面示例中的語句都是順序語句,執行時會逐行地從上到下順序執行。流程控制選擇結構Java支持兩種選擇語句:if語句和switch語句。這些結構能夠根據表達式的值,選擇執行程序的某一部分。流程控制01if語句if語句是Java中的條件分支語句,它能將程序的執行路徑分為兩條。if語句的完整格式如下。流程控制說明:若條件表達式的值為true,則執行功能代碼1語句塊。否則執行功能代碼2語句塊,雙分支if語句如圖2-3所示。流程控制02switch語句switch語句是Java的多路分支語句,它與case關鍵字一起使用,提供了多分支的選擇結構。因此,它提供了一個比一系列if-else-if語句更好的選擇。switch語句的通用語法格式如下流程控制switch語句如圖2-6所示。流程控制其執行過程為:首先計算switch語句中表達式的值,再將該值與case后常量表達式的值相比較。若相等,則執行case后的語句,直到遇到break語句或switch結構的末尾為止。若表達式的值與所有case常量表達式的值都不匹配,則執行default后的語句。流程控制表達式只能為byte、short、int、char或String類型。其中String型是在JDK7版本中增加的。每個case語句后的值value必須是與表達式類型兼容的特定的一個常量(它必須為一個常量,而不是變量)。重復的case值是不允許的。流程控制循環結構循環結構是程序設計中的重要結構。它的作用是反復執行一段代碼,直到滿足終止循環的條件為止。一個完整的循環結構包括3部分內容。流程控制010302初始化部分用來設置循環的初始條件,給變量賦值等。循環體部分反復執行的一段代碼。終止部分通常是一個布爾表達式,對該表達式求值,判斷是否循環或終止循環。流程控制while循環和do-while循環當無法確定一個循環要執行多少次時,有兩種循環結構可以選擇,while循環和do-while循環。while循環只有在表達式為真時才執行循環體。while語句的語法格式為:流程控制while循環和do-while循環條件表達式可以是任何布爾表達式。只要條件表達式為真,循環體就被執行。當條件表達式為假時,程序控制就跳轉到循環后面緊跟的語句執行。while循環如圖2-7所示。流程控制while循環和do-while循環循環的執行過程如下。(1)求解表達式。若表達式的值為true,則進入循環體,轉向(2);否則結束循環,轉向(3)。(2)執行循環體語句,然后轉向(1)。(3)執行while語句塊后面的語句。流程控制do-while循環程序結構如下所示:do-while循環的流程圖如圖2-8所示,即先執行循環體,再計算表達式,根據表達式的結果來確定是否繼續執行循環體。do-while語句的循環體至少執行一次。流程控制do-while循環的執行過程如下。(1)首先執行循環體語句,完畢后進入(2)。(2)計算表達式,如果其值為true,轉向(1)否則結束循環,轉向(3)。(3)執行do-while后面的語句。流程控制for循環for循環的格式如下:for循環主要包括3部分,即初始操作、條件表達式和迭代表達式。流程控制for循環在通常情況下,表達式1用于聲明循環變量,對一組變量進行初始化或賦值。該語句在第一次循環開始之前被執行,并只執行一次。表達式1可以是被逗號分隔開的多個賦值表達式。流程控制for循環表達式2是條件表達式,進入循環體之前都要進行表達式2的計算,若其值為true,則執行循環體語句,若其值為false,則跳出循環,執行for語句塊后面的語句。每次循環體語句執行完后,都會再次進行條件表達式的運算。表達式3在每次循環體執行完后被執行,主要用于修改控制循環變量的值,從而控制整個循環的次數。流程控制for循環的控制流程如圖2-9所示。流程控制該語句的執行過程如下。(1)先執行表達式1,用于初始化變量。(2)執行表達式2,若其值為trae,進入循環,轉向(3),否則結束循環,轉向(5)。(3)執行循環體,轉向(4)。(4)執行表達式3,改變循環變量的值,轉向(2)。(5)結束循環,執行for語句塊后面的語句。流程控制跳轉語句在前面介紹的三種循環結構中,都是以某個表達式的值作為循環結束條件的。但在程序設計中,有時也希望能夠直接控制程序流程的轉移,這時就需要用到跳轉語句。在Java中,跳轉語句包括break語句和continue語句,這些語句的作用是改變程序的執行順序,跳轉到程序的其他部分。流程控制break語句break語句有2種作用:(1)在switch語句中,通過break語句終止一個語句序列。(2)在循環體中,break語句能被用來退出循環。在循環進行中,當到達某種條件時,可以使用break語句退出循環體。流程控制continue語句continue語句只能用在循環結構中。當在循環結構中遇到continue語句時,則跳過continue后的其他語句結束本次循環,并轉去檢測循環控制條件,以決定是否進行下一次循環。流程控制continue語句break語句與continue語句的區別在于。break語句直接終止整個循環。而continue語句則只終止本次循環,至于是否繼續下一次循環,還要根據循環控制條件的檢測結果而定。05數組PARTFIVE數組在Java中,數組是一種最簡單的復合數據類型之一。數組是有序數據的集合,數組中的每個元素都具有相同的數據類型,可以用一個統一的數組名和下標來唯一地確定數組中的元素。數組有一維數組和多維數組。數組數組的概念對于有些問題的求解需要定義多個相同類型的變量,表示一組相同意義的值。數組是指一組相同類型的數據的集合,數組中的每個數據稱為元素。數組可以存放任意類型的元素,包括基本數據類型和引用數據類型。同一個數組里只能存放同一類型的數據。數組01數組的聲明數組的聲明格式有如下兩種:上面兩行分別聲明了一個數組名為a的整型數組和一個數組名為b的字符型數組。Java允許將[]放在數組名字的前面和后面。上面的語句只是對a和b兩個數組的定義,Java并沒有為它們分配內存,因此在口中不能指定數組的長度,這是與C語言不同的地方。數組02數組的創建數組聲明完成后,需要創建才可以使用。創建數組就是指定這個數組可以存放多少個元素,并分配給相應大小的內存空間。因此,數組有兩種初始化方法:靜態初始化和動態初始化。Java中可以使用new關鍵字來給數組分配空間,格式如下:數組03初始化靜態初始化:數組在聲明的同時進行賦值。例如,定義一個具有3個元素的整型數組,同時為每個元素賦初始值。方法如下:數組03初始化動態初始化:數組在聲明時,使用new關鍵字開辟空間,指定數組的長度,再為每個元素賦值。例如,定義一個具有3個元素的整型數組,同時為每個元素賦初始值。方法如下:數組04數組的使用一維數組通過下標索引來訪問相應的元素,如a[0]和a[l]等。需要注意的是,數組下標是從0開始的,因此數組下標的索引比數組的長度少1個。對于一維數組,可以通過length的值獲得數組的長度,例如:這段代碼運行的結果就是5。數組二維數組在Java中,多維數組被視為數組的數組。二維數組是由一個特殊的一維數組構成的,該一維數組的每一個元素又是一個一維數組。數組01二維數組聲明二維數組聲明的一般形式為:其中,常量表達式1表示第一維下標(行下標)的長度,常量表達式2表示第二維下標(列下標)的長度。例如:數組01二維數組聲明表示定義數組a為3行4列的整型數組,共有12個元素。定義數組b為4行5列的浮點型數組,共有20個元素。二維數組的引用形式為:數組02初始化二維數組初始化也是在類型說明時給各下標變量賦初值。二維數組可按行分段賦值,也可按行連續賦值。例如,對數組a[3][4]進行如下操作。(1)按行分段全部賦值inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
(2)按行連續賦值inta[3][4]={l,2,3,4,5,6,7,8,9,10,ll,12};上述兩種賦值的結果是完全相同的,但按行分段賦值的方式顯得更直觀、更方便。數組03二維數組舉例【例2-10】輸出楊輝三角的前6行數據。數組03二維數組舉例程序運行結果如圖2-11所示。數組03二維數組舉例楊輝三角的輸出是一個左下三角的數據,每行輸出到主對角線(行下標和列下標的值相等)數據時結束。對于楊輝三角,可以用二維數組來解決。首先,它每行第一列位置上的數都是1,第n行第n列(即主對角線)位置上的數也是1,除此之外,每個數等于它上一行正對的元素與前一個元素的和。06上機實驗PARTSIX上機實驗1.實驗目的(1)熟悉Java的基本語法。(2)學習編寫簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教育行業數字化教材在在線教育中的市場分析報告
- 2025年工業互聯網平臺量子通信技術在智能電網調度中的應用研究報告
- 跨文化交流能力在2025年國際化教育中的跨文化教育發展
- 短視頻行業內容監管與平臺內容生態建設報告
- 2025年重慶市中考歷史真題(原卷版)
- 衛生院內部采購管理制度
- 景區售票部門管理制度
- 縣硬筆書法協會管理制度
- 公司賬目及資金管理制度
- 景區營銷培訓管理制度
- 礦產資源儲量報告編制和評審中常見問題及其處理意見
- 河南省鄭州市管城回族區2023-2024學年五年級下學期期末數學試卷
- 提高住院病歷完成及時性持續改進(PDCA)
- 北師大版五下書法《第6課戈字旁》課件
- 國家開放大學電大本科《設施園藝學》2023-2024期末試題及答案(試卷代號:1329)
- 數列求和(錯位相減法)
- (精華版)國家開放大學電大本科《小學數學教學研究》單項選擇題題庫及答案.doc
- 固廢中心廢氣處理方案
- 關于地理高考四大能力要求解讀
- 滅火救援作戰計劃圖例
- 空氣動力學PPT課件
評論
0/150
提交評論