版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java程序設計基礎大連理工大學出版社第三章運算符與賦值3.2表達式與語句3.1運算符與表達式3.3數(shù)組3.4方法Java提供了豐富的運算符環(huán)境。Java有4大類運算符:算術運算、位運算、關系運算和邏輯運算。Java還定義了一些附加的運算符用于處理特殊情況。3.1
運算符與表達式算術運算符
3.1
運算符與表達式(續(xù))位運算符
位運算是對操作數(shù)以二進制比特位為單位進行的操作和運算,位運算的操作數(shù)和結果都是整數(shù)類型。這些整數(shù)類型包括long,int,short,char及byte。
3.1 運算符與表達式(續(xù))位運算符(續(xù))3.1 運算符與表達式(續(xù))位運算符(續(xù))移位運算是將某一變量所包含的各比特位按指定的方向移動指定的位數(shù)3.1 運算符與表達式(續(xù))位運算符(續(xù))public
classMultByTwo{
public
static
voidmain(Stringargs[]){
inti;
intnum=0xFFFFFFE; num=num<<1; System.out.println(num); num=num<<1; System.out.println(num); }}3.1 運算符與表達式(續(xù))從上面的程序運行結果可以看出每次左移都可以使原來的操作數(shù)翻倍,程序員們經常使用這個辦法來進行快速的2的乘法。但是要小心,如果將1移進高階位(31或63位),那么該值將變?yōu)樨撝?。同樣的,將值每右移一次,就相當于將該值除?并且舍棄了余數(shù)??衫眠@個特點將一個整數(shù)進行快速的2的除法。關系運算符
關系運算符決定值和值之間的關系3.1 運算符與表達式(續(xù))關系運算符
Java中的任何類型,包括整數(shù),浮點數(shù),字符,以及布爾型都可用“==”來比較是否相等,用“!=”來測試是否不等。故常常用在if控制語句和各種循環(huán)語句的表達式中。一定要注意的是兩個數(shù)是否相等是通過兩個等號“==”進行判斷,一個等號“=”表示賦值。3.1 運算符與表達式(續(xù))邏輯運算符
邏輯運算符的運算數(shù)只能是布爾型,而且邏輯運算的結果也是布爾類型。
3.1 運算符與表達式(續(xù))表達式與語句表達式是由變量、常量、對象、方法調用和操作符組成的公式。符合語法規(guī)則的表達式可以被編譯系統(tǒng)理解、執(zhí)行或計算,表達式的值就是對它運算后所得的結果。計算機程序是一組指令,告訴計算機如何做,其中的每個指令稱為語句。語句由表達式后面加分號構成。3.1 運算符與表達式(續(xù))所有的Java程序自動導入java.lang包。該包定義了一個名為System的類,該類封裝了運行時環(huán)境的多個方面。System是一個系統(tǒng)類,它的完全類名是“java.lang.System”。使用System.out.println()和System.in.read()3.2 簡單輸入輸出System同時包含三個預定義的流變量,in,out和err。System.out引用了System的一個靜態(tài)成員“out”。在JRE啟動時,System.out被初始化成標準輸出對象。類似的還有System.err,代表標準錯誤。println是System.out的一個方法,它向標準輸出(屏幕)打印出指定字符串,然后換行。例如:System.out.println("Hello,world!");System.in是inputStream的對象;System.out和System.err是PrintStream的對象。它們都是字節(jié)流,它們用來讀寫外設的字符。Java中,鍵盤輸入由從System.in讀取數(shù)據(jù)來完成。3.2 簡單輸入輸出(續(xù))JOptionPane類是Java類庫提供的可供程序員使用的類,主要用于創(chuàng)建簡單輸入輸出對話框,以完成簡單的輸入輸出操作。要在程序中使用JOptionPane類,需使用如下語句在程序中引入該類:importjavax.swing.JOptionPane;import語句要出現(xiàn)在程序開頭的地方,也就是類定義之前創(chuàng)建輸入對話框的方法:JOptionPane.showInputDialog(Stringmessage)參數(shù)message用于指定對話框中的提示消息。該方法的返回類型為String類型,因此,如果用該方法輸入數(shù)據(jù)時,需要進行字符串數(shù)值類型的轉換。3.2 簡單輸入輸出(續(xù))消息對話框是有模式對話框(即未點擊確定之時,不能對窗口進行任何動作),進行一個重要的操作之前,最后能彈出一個消息對話框。JOptionPane.showMessageDialog()是javax.swing包中的靜態(tài)方法:JOptionPane.showMessageDialog(ComponentparentComponent,Stringmessage,Stringtitle,intmessageType)3.2 簡單輸入輸出(續(xù))創(chuàng)建一個消息對話框,其中參數(shù)parentComponent指定消息對話框所依賴的組件,消息對話框會在該組件的正前方顯示出來;message指定對話框上顯示的消息;title指定對話框的標題;messageType確定對話框的外觀。messageType常量類型:
3.2 簡單輸入輸出(續(xù))3.3 數(shù)組數(shù)組是指一組相同類型數(shù)據(jù)的集合。數(shù)組提供了一種把相關數(shù)據(jù)集合在一起的便利方法,應用很廣泛。
數(shù)組中的每個數(shù)據(jù)稱為數(shù)組的元素,數(shù)組中的元素可以是任意類型的,既可以是基本數(shù)據(jù)類型,也可以是引用類型。
Java把數(shù)組作為對象來實現(xiàn)的,用new關鍵字創(chuàng)建數(shù)組,開辟其存儲空間,數(shù)組名是一個引用變量。3.3 數(shù)組數(shù)組的聲明和創(chuàng)建,2步驟1)聲明數(shù)組變量及其類型(即每個元素所屬的類型)2)使用new關鍵字創(chuàng)建數(shù)組,為數(shù)組對象分配存儲空間數(shù)組的聲明和創(chuàng)建語句可以寫在一起:
數(shù)組類型[]數(shù)組名;數(shù)組類型數(shù)組名[];new數(shù)組類型[數(shù)組長度]數(shù)組類型[]數(shù)組名=new數(shù)組類型[數(shù)組長度];3.3 數(shù)組(續(xù))數(shù)組初始化數(shù)組在創(chuàng)建之后,每個元素會自動賦予其數(shù)據(jù)類型的默認值,如數(shù)值類型將賦0值,boolean類型將賦false等。如果需要,可以對數(shù)組進行顯式的初始化,在定義數(shù)組的時候就給數(shù)組的每個元素賦值:將所有的初始值用{}括起來,每個值之間用逗號“,”隔開。例如:int[]arr=newint[]{1,2,3};char[]chs=newchar[]{‘H’,’E’,’L’,’L’,’O’};元素的引用數(shù)組中的每個元素都有一個索引,或者稱為下標,代表了元素在數(shù)組中所處的位置。索引的范圍:0~數(shù)組長度-1元素的引用格式:設有:int[]arr={1,2,3}; 則數(shù)組名[元素的索引]3.3數(shù)組(續(xù))7.1 基本數(shù)據(jù)類型的一維數(shù)組(續(xù))數(shù)組與for循環(huán)的結合運用:以數(shù)組元素的索引值作為循環(huán)變量,結合循環(huán)結構實現(xiàn)遍歷數(shù)組中的所有元素。一般格式:示例for(i=0;i<arr.length;i++){//對arr[i]的操作}3.3數(shù)組(續(xù))實例運用從控制臺輸入若干整數(shù),求其最大值和和值。用選擇排序算法對數(shù)組進行升序排序。用冒泡排序算法對數(shù)組進行升序排序。3.3數(shù)組(續(xù))對象數(shù)組的各個元素均為對象。對象數(shù)組的創(chuàng)建除了用new開辟內存空間之外,還需要進一步地為每一個元素(都是對象)賦引用值。例如:String[]hello=newString[3];hello[0]=“早上好”;hello[1]=“中午好”;hello[2]=“晚上好”;3.3數(shù)組(續(xù))對象數(shù)組的各個元素均為對象。對象數(shù)組的創(chuàng)建除了用new開辟內存空間之外,還需要進一步地為每一個元素(都是對象)賦引用值。例如:示例String[]hello=newString[3];hello[0]=“早上好”;hello[1]=“中午好”;hello[2]=“晚上好”;3.3數(shù)組(續(xù))數(shù)組的數(shù)組:理解多維數(shù)組的形成多維數(shù)組可以看做是數(shù)組的數(shù)組,即數(shù)組中的每一個元素又是一個數(shù)組。3.3數(shù)組(續(xù))二維數(shù)組的定義例如:int[][]a=newint[3][2];
數(shù)組類型[][]數(shù)組名;數(shù)組類型[]數(shù)組名[];數(shù)組類型數(shù)組名[][];3.3數(shù)組(續(xù))不規(guī)則的二維數(shù)組int[][]b=newint[3][];b[0]=newint[2];b[1]=newint[3];b[2]=newint[4];3.3數(shù)組(續(xù))二維數(shù)組的初始化示例int[][]a={{1,2},{3,4}};int[][]b={{1},{2,3},{3,4,5}};3.3數(shù)組(續(xù))二維數(shù)組元素的引用行標取值范圍:0~第一維長度-1列標取值范圍:0~第二維長度-1。示例數(shù)組名[行標][列標]3.4方法方法的定義、調用和返回
類的組成主要包括成員變量和成員方法2部分,成員變量描述屬性,成員方法描述行為。對象所具有的行為能力都是通過方法體現(xiàn)的。
方法的定義
在Java中,方法是類的組成部分之一,每個方法都屬于特定的類,方法的定義必須位于類體之中。方法定義的一般格式為:返回值類型方法名(形式參數(shù)列表){ //方法體}3.4方法(續(xù))方法的定義、調用和返回(續(xù))
左花括號{之前的部分為方法定義的頭部,主要包括返回值類型、方法名和形參列表。方法名,必須是合法的標識符,應按照Java的命名規(guī)范進行命名,最好還能做到見名知意。返回值,如果方法執(zhí)行完后會帶回一個值,這個值就叫做返回值。返回值類型,表示該方法執(zhí)行完畢后帶回的值所屬的類型,可以是基本數(shù)據(jù)類型,也可以是對象類型。但如果方法只是完成一定的操作而沒有帶回任何的值,則返回值類型應該聲明為void。形式參數(shù)列表代表的是:使用這個方法實現(xiàn)一定功能時需要傳遞給方法的若干數(shù)據(jù),可以是0個,也可是多個,各個參數(shù)之間要用逗號“,”分隔,每個參數(shù)都必須帶上類型的聲明。{和}之間是方法體,包含若干的可執(zhí)行語句,用于實現(xiàn)方法的功能。方法定義時的可缺省部分這里并未列出,后面的章節(jié)將討論到其它部分。3.4方法(續(xù))方法的定義、調用和返回(續(xù))
一個合法的方法聲明
intadd(inta,intb){ intsum=0; sum=a+b; returnsum;}
add()方法實現(xiàn)求2個加數(shù)的和值,當需要使用該功能時,應調用add()方法,提供2個實際的加數(shù)分別傳給形式參數(shù)a和b,方法體結束之前通過returnsum;語句將計算得到的和值帶回給調用者。3.4方法(續(xù))方法的定義、調用和返回(續(xù))
方法的調用方法由類的對象,用圓點運算符“.”來調用,方法調用的格式為:對象名.方法名(實際參數(shù)列表)方法定義時,方法名后()中的參數(shù)稱為形式參數(shù),代表該方法在執(zhí)行時需要哪些數(shù)據(jù)。在發(fā)生方法調用時,執(zhí)行流程將轉去執(zhí)行方法體。3.4方法(續(xù))方法的定義、調用和返回(續(xù))
在調用方法時,應注意如下幾點:實際參數(shù)應與形式參數(shù)的個數(shù)、類型、順序均保持一致。實際參數(shù)的值將對應地傳給形式參數(shù)。若方法定義時未定義任何形式參數(shù),則調用方法時參數(shù)列表留空,但是()一定不能省。若方法定義時的返回值類型非void,則方法調用就相當于是同類型的一個值(因為有返回值的方法必會用return返回一個同類型的值)。若方法定義時的返回值類型為void,則方法調用一定不能出現(xiàn)在賦值運算符“=”的右邊。3.4方法(續(xù))方法的定義、調用和返回(續(xù))
方法的返回
發(fā)生方法調用時會轉去執(zhí)行方法體,方法體執(zhí)行完畢則從方法返回,表示方法調用結束,將返回到被調用處,如果有必要還可以返回值給調用者3.4方法(續(xù))方法的定義、調用和返回(續(xù))
方法的返回
(續(xù))return語句的格式如下:return[表達式];其后的表達式是可以缺省的部分,是否缺省視方法是否返回值而定。如果方法定義時聲明了返回值類型,就必須使用return表達式返回一個同類型的值。如果方法的返回值類型被聲明為void,則方法體中不能用return表達式帶回值。
3.4方法(續(xù))方法的定義、調用和返回(續(xù))關于方法的定義、調用和返回的補充說明:
調用類的成員方法,一般需要先創(chuàng)建類的對象(調用類的靜態(tài)方法不用如此),再以對象名.方法名(實際參數(shù)列表)的格式調用。main()方法中可以創(chuàng)建自己所屬的類自身的對象。3.4方法(續(xù))方法的定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年毛發(fā)健康與生發(fā)產品項目可行性研究報告
- 未來五年新形勢下天然板巖蘑菇石行業(yè)順勢崛起戰(zhàn)略制定與實施分析研究報告
- 2026年工業(yè)能效提升服務項目評估報告
- 未來五年攀援植物企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年失學兒童資助服務企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略分析研究報告
- 未來五年山洪防御設施行業(yè)市場營銷創(chuàng)新戰(zhàn)略制定與實施分析研究報告
- 未來五年創(chuàng)新創(chuàng)業(yè)服務企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略分析研究報告
- 未來五年收錄機修理服務企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 三十六工程處2025年招聘備考題庫及一套參考答案詳解
- 2026年銀行從業(yè)資格個人理財能力測試試題及答案
- 功能危險分析(FHA)
- 趣味實驗牛頓擺
- 國家職業(yè)技術技能標準 6-20-99-00 增材制造設備操作員 人社廳發(fā)202231號
- 廠房建設工程投標方案(技術方案)
- 2023農業(yè)執(zhí)法大比武復習試題附答案
- 路燈養(yǎng)護投標方案
- 深價協(xié)20178號 深圳市建設工程造價咨詢業(yè)收費市場價標準
- 酒精體積分數(shù)質量分數(shù)密度對照表優(yōu)質資料
- 落地式鋼管腳手架工程搭拆施工方案
- 辦公室節(jié)能減排措施
- 數(shù)字信號處理課程實驗教學大綱
評論
0/150
提交評論