Java初學者基礎語法2016_第1頁
Java初學者基礎語法2016_第2頁
Java初學者基礎語法2016_第3頁
Java初學者基礎語法2016_第4頁
Java初學者基礎語法2016_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java語言與JBuilder應用初步

第二章Java基本語法本章要點面向對象基礎變量運算符分支與循環結構面向對象基礎對象的基本特征狀態:對象的狀態用一個或多個變量表示,這些變量稱為成員變量行為:對象的行為用函數或子程序實現,它們稱為成員函數一個對象就是一組變量和函數形成的一個軟件包面向對象基礎面向對象程序的特點一切都是對象:程序是對象的組合:對象有自主存儲空間:對象屬于特定的類:面向對象基礎Java程序結構對象是全局性的Java中沒有全局變量和全局函數所有的函數都屬于特定的類除少數幾種基本變量以外,Java中的所有變量類型都是類變量變量定義與變量類型變量:用于保存數據。變量在使用前需要先進行定義和初始化doubleresValue=12.1+25.8;變量的定義:給變量設定名字和類型typename;“type”表示變量類型,“name”表示變量名變量變量類型簡單變量的類型變量變量類型的跨平臺性變量的表示范圍不隨操作系統變化int型:32位,范圍為-2147483648~2147483647float型,32位,IEEE754規范double型:64位,IEEE754規范字符型變量是16位Unicode字符類型,可以直接表示包括中文在內的各國文字變量變量名變量名需要滿足的條件:變量名必須以字符開頭;必須是一串連續的Unicode字符,不能有空格,也不能有減號(否則會與減法相混淆);變量名不能是Java關鍵字,邏輯值(true或false),以及保留字null;在同一個有效區域里的變量名必須唯一,不同區域(比如不同子程序里)里的變量名可以重復。變量變量名Java關鍵字列表變量Java變量名的命名規范變量名以小寫字母開頭,類名以大寫字母開頭,常量名全部由大寫字母組成如果變量名由多個單詞組成,則將單詞連在一起寫,每個單詞的首字母大寫例:flagDone,totalNum常量:多個單詞間以下劃線連接例:MAX_INTEGER,MAX_ARRAY_NUM變量中文變量名對于16位Unicode字符,漢字與英文字母沒有區別可以在變量名中使用漢字,也可以混合使用漢字、英文字母,如:int整數=5;char漢字='文';double費用_Fee=3.3;變量常數的類型默認的常數類型:變量指定常數的類型變量引用變量簡單變量僅能存儲簡單的數據,對于復雜的數據,必須用引用變量來表示引用變量里存儲的僅僅是一個指針,它指向真正的對象所在地。例如下面的例子:變量變量的初始化所謂初始化,就是給變量賦一個初值任何變量,在訪問它的值以前,必須先要給它賦一個值,否則結果是不可預料簡單變量的初始化:只需賦一個值即可,還可以在變量定義時即將其初始化intaNum=0;doubleaValue=0.0;charaChar='';變量變量的初始化Java語言對變量初始化的要求非常嚴格,如果變量存在未初始化的可能,則提示出錯,不能繼續編譯在Delphi語言中,對于變量可能未初始化的問題只會給出一個警告,還可以繼續編譯C/C++語言根本不提示此類問題,完全由程序員自己把握變量引用變量的初始化用new語句在內存中創建一個對象,再將引用變量指向這個對象TheClassaClass;aClass=newTheClass();程序第一行定義了一個引用變量,aClass,此時它還只是一個空的指針;第二行語句在內存中創建了一個TheClass型的對象,再將變量aClass指向該對象變量最終變量最終變量的值在初始化之后就不能再變了。最終變量相當于常量最終變量的定義:使用final關鍵字:finalintaConstInteger=25;最終變量的定義和初始化也可以分開:finalintaConstInteger;aConstInteger=25;最終變量在定義之后應當盡快初始化,以免發生多次賦值而出錯運算符什么是運算符運算符對1個、2個或3個參數完成一項函數功能按參數的數量劃分:一元運算符、二元運算符和三元運算符按功能劃分:可分為5類:算術運算符、關系與條件運算符、移位與邏輯運算符、賦值運算符、其它運算符運算符運算符的形式一元運算符又可分為前綴符號和后綴符號前綴符號的運算符在運算數之前,如“++a”后綴符號的運算符在運算數之后,如“a++”二元運算符只有一種形式,就是運算符在兩個運算數之間,例如:“a+b”三元運算符只有一個:“op1?op2:op3”,它相當于一個簡化的條件選擇語句運算符算術運算符包括基本的四則運算:加法“+”,減法“-”,乘法“*”,除法“/”,余數“%”算術運算符都支持浮點數和整數運算運算符算術運算符如果兩個運算數是相同類型的,則運算的結果也是同樣類型如果兩個運算數類型不同,Java會先將數值轉換為較精確的類型,再進行計算,結果也是較精確的類型數據類型精度的次序:byte<short<int<long<float<double例,整數和浮點數相加,首先將整數轉換成浮點數,再相加,結果也是浮點數型運算符其它的算術運算符4個一元運算符,其中“++”和“--”運算符各有前綴和后綴兩種形式運算符其它的算術運算符最容易混淆的是“op++”和“++op”,例如:inta1=10;inta2=10;intb1,b2;b1=a1++;b2=++a2;運算符關系運算符比較兩個值是否滿足某種關系。如果滿足,則返回“true”(真),否則返回“false”(假)常用的關系運算符:運算符關系運算符在Java中,“=”代表給變量賦值,而用“==”代表相等,這與傳統的習慣不同初學者往往習慣性地用“=”表示相等,從而出現“if(a=b){...}”的錯誤“!=”運算符表示“不等于”,這與C,C++語言的形式一樣。但在Basic,Pascal等語言中,用“<>”表示“不等于”。程序員應當注意不同語言中不等號的形式差別。運算符6種條件運算符列表運算符條件運算符“&&”和“&”的差別:“&&”只有在需要時才計算右邊op2的值,如果通過op1就能知道結果時,op2就不會計算“&”運算符會計算出兩邊op1和op2的值,再得到返回值例:if((5>7)&&(13>2))then{...}“5>7”不成立,那么“(5>7)&&(13>2)”顯然不會成立,因此不再計算“13>2”運算符負數的二進制存儲方法在計算機里,負數一般是以二進制“補碼”的形式存儲的補碼是以最大的二進制數減去負數的絕對值再加1而得的例:整數“-14”,計算機中實際存儲的值是“10000000000000000-0000000000001110=1111111111110010”運算符移位與按位運算符移位和按位運算符就是對二進制數值進行操作的運算符移位運算符的作用是將二進制數向左或向右移一位。下表列出全部3種移位運算符:運算符移位與按位運算符<<:左移,將二進制數左移一位,右邊多余的數位填0,相當于乘以2>>:有符號右移,將二進制數右移一位,如果二進制數的最高位為0,則左端補0,如果最高位為1,則左端補1,相當于除以2>>>:無符號右移,將二進制數向右移一位,左端補0,常用于直接設置二進制位的操作運算符移位運算符常用于直接設置二進制位,此時每一位都有其具體的含義,并不代表一個整數,因此有符號右移就失去了意義,而應當使用無符號右移符“>>>”按位運算符:對二進制數的每一位分別進行邏輯操作,Java提供了4種按位運算符:運算符移位與按位運算符“&”運算符對操作數op1和op2的每一位進行“與”操作例:10

&13,計算過程如下:

1010&1101-------------1000和1101按位與的結果是將第2位置0,其它位不變,用于將某位數字置零的操作運算符移位與按位運算符“|”運算符進行按位的“或”運算,只要有一個操作數的對應位為1,結果的對應位就是1例:計算1010

|0001的結果:1010|0001-------------1011和0001按位“或”之后,右邊第1位被置“1”,其它位不變。常用于將某一位置“1”運算符移位與按位運算符“^”運算符實現按位異或運算,只有兩個操作數的對應位不同,結果才為1例:1010

^1111的結果:1010^1111-------------0101與1111異或的結果是每一位都相反,常用于將某些位顛倒,其它位不變的操作運算符移位與按位運算符“~”是按位運算符中唯一的一元運算符,它的作用是將二進制數的每一位取補,例如:

~1010-------------0101按位運算符在設置邏輯標志時非常有用,通過按位運算符可以方便地設置、修改、訪問每個標志位的狀態運算符賦值運算符“=”:最基本的賦值運算符,將一個變量或常量的值賦給另一個變量。例如:inta=5;//a的值為5a=8;//現在a的值為8快捷賦值運算符,用于同時實現算術、移位或按位操作與賦值操作。例如:i=i+2;可以用快捷賦值符號“+=”表示:i+=2;運算符賦值運算符快捷賦值運算符列表:運算符其它運算符其它運算符列表:運算符其它運算符“?:”,是唯一的一個三元運算符,形式為:op1?op2:op3首先判斷op1,如果op1為真,則返回op2的值;如果op1為假,則返回op3的值“(變量類型)”,將變量轉換成指定類型:floatb=3.6;intc=(int)b*2;b被強制轉換成整數,拋棄小數部分以后的值為3,于是c=6運算符運算符的優先級列表分支與循環結構分支控制語句if語句:是最基本的分支控制語句,使程序根據條件有選擇地執行語句if語句的形式如下:if(關系表達式){

語句}它的含義是:如果關系表達式為真,則執行后面花括號里的語句,否則就不執行花括號里的語句分支與循環結構分支控制語句例:對于前面的例子,如果當a不是正數時也需要在屏幕上顯示,語句如下:if(a>0){System.out.println("變量a是正數。");}else{System.out.println("變量a是負數或零。");}當a不是正數時,執行else內的代碼,顯示“變量a是負數或零”分支與循環結構分支控制語句組合的if...else語句:例,要求當a是正數、a是負數、a是零時分別顯示:if(a>0){System.out.println("變量a是正數。");}elseif(a<0){System.out.println("變量a是負數。");}else{System.out.println("變量a是零。");}分支與循環結構分支控制語句處理多種選擇問題的方法:利用多個if...else結構利用switch語句處理switch語句的語法結構:switch語句將IntVar的值與每個case語句的整數值比較如果符合,就執行這個case中的語句如果不與任何一個case符合,就執行default中的語句switch(IntVar){case1:

語句

break;case2:

語句

break;......casen:

語句

break;default:

語句}分支與循環結構分支控制語句switch分支的特點:每個分支均以一個break語句結尾作用是跳出switch結構如果沒有break語句,那么程序在執行完這個case的代碼后,會接著執行下面一個case的代碼分支與循環結構例題:不帶break語句的switch結構switch(n){case1:System.out.println("n的值是1");case2:System.out.println("n的值是2");case3:System.out.println("n的值是3");case4:System.out.println("n的值是4");case5:System.out.println("n的值是5");default:System.out.println("n的值不在預設范圍內。");}分支與循環結構循環控制語句循環控制語句的作用是反復執行一段代碼常用的循環結構:while循環do...while循環for循環循環結構的組成部分:循環頭(控制語句)循環體(代碼)分支與循環結構循環控制語句while循環while(條件表達式){

語句}當條件表達式為真時,反復執行花括號中的語句,直到條件為假,則退出循環例:計算1+2+3+...,一直到結果大于100,求此時加到的最大的數是多少分支與循環結構循環控制語句例題程序如下:intsumx=0;intx=0;while(sumx<=100){x++;sumx+=x;}System.out.println("最大的加數為:"+x+"。");程序的核心是一個while循環結構,當sumx沒有超過100的時候,反復執行累加程序分支與循環結構循環控制語句do...while結構,形式如下:do{

語句}while(條件表達式)while結構和do...while結構的差異:while循環:先判斷,再執行。如果一開始循環條件就不滿足,則循環內的語句根本不會執行do...while循環:先執行,后判斷。不管循環條件滿不滿足,循環內的語句至少會執行一遍分支與循環結構循環控制語句wh

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論