Java程序設計教程-chapter2_第1頁
Java程序設計教程-chapter2_第2頁
Java程序設計教程-chapter2_第3頁
Java程序設計教程-chapter2_第4頁
Java程序設計教程-chapter2_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、Java 程序程序設計設計教程教程Sixth Editionby Lewis & LoftusChapter 2: 數據與表達式數據與表達式2-2數據與表達式數據與表達式 本章重點: 字符串 基本數據類型 變量與賦值 賦值語句 數據轉換2-3大大綱綱字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-4字符串字符串 JAVA以雙引號作為字符串的定界符: Examples:This is a string literal.123 Main StreetX 每一字符串在Java作為一個對象存在,由 String 類定義2-5Println

2、 和和print 方法方法 在第一章的Lincoln 程序, 調用了 println 方法打印字符串 System.out 對象代表一個輸出設備 (顯示器屏幕)System.out.println (Whatever you are, be a good one.);對象對象方法名方法名傳遞給方法的信息傳遞給方法的信息( (參數參數) )2-6print方法方法 System.out 對象還提供了另一個可用的服務 print 方法 類似于 println方法, 區別在于保持光標的當前位置2-7字符串拼接字符串拼接 一個字符串不能跨越多行 字符串拼接運算符 (+) 將兩個字符串拼接在一起形成一個

3、長字符串Peanut butter + and jelly 可用于將字符串與數字拼接在一起2-8字符串拼接字符串拼接 + 運算符也表示算術加法運算 + 運算符究竟完成哪種運算取決于操作數的數據類型 如果+ 運算符的兩個操作數中至少有一個是字符串,則作字符串拼接操作 + 運算符從左到右依次執行2-9轉義轉義序列序列 如何打印一個雙引號? 下面語句會導致編譯器理解錯誤System.out.println (I said Hello to you.); 一個轉義序列用于表示一個可能會引起編譯錯誤的特殊字符 一個轉義序列以反斜杠 ()開頭System.out.println (I said Hello

4、 to you.);2-10轉義轉義序列序列 Java轉義序列:轉義序列轉義序列btnr意義意義回退回退制表符制表符換行符換行符回車符回車符雙引號雙引號單引號單引號反斜杠反斜杠2-11大大綱綱字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-12變量與賦值變量與賦值 變量代表保存數據的內存單元 變量聲明由類型說明符以及后續的變量名列表組成int total;int count, temp, result;一行變量聲明語句可以同時聲明多個具有相同類型的變量一行變量聲明語句可以同時聲明多個具有相同類型的變量數據類型數據類型變量名變量名2

5、-13賦值語賦值語句句 一個變量可以在定義時賦予一個初始值引用一個變量時,只引用該變量的當前值int sum = 0;int base = 32, max = 149;2-14賦值賦值 賦值語句能夠改變一個變量的值 基本賦值語句用賦值運算符 = total = 55;Total變量的內容被改寫不允許將一個值賦給一個類型不一致的變量先計算賦值運算符右邊的表達式2-15常量常量 常量類似于變量,只是值在它的生命期內一直保持不變 給常量賦予初始值后,若再試圖改變該常量值,則編譯器會報錯 Java 采用final修飾語聲明一個常量final int MIN_HEIGHT = 69;2-16常量常量 常

6、量在三種情況下非常有用: 第一:使用常量有清晰的作用和意義 Example:MAX_LOAD 其次:使用常量可避免編寫代碼時的疏忽性錯誤 初始化賦值語句是唯一能改變常量值的地方 第三:當常量值需要修改時,只需要修改聲明語句2-17Outline字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-18基本數據類型基本數據類型 Java含有八種基本數據類型 四種整型: byte, short, int, long 兩種浮點數類型: float, double 一個字符型: char 一個布爾型: boolean2-19整型與浮點型整型與浮

7、點型 各種數值型的區別在于保存時所占用的內存空間的大小不同類型類型byteshortintlongfloatdouble存儲空間存儲空間8 bits8 bits16 bits16 bits32 bits32 bits64 bits64 bits32 bits32 bits64 bits64 bits最小值最小值-128-128-32,768-32,768-2,147,483,648-2,147,483,648 -9 x 10 9 x 10 9 x 1018182-20字符型字符型 字符變量可保存一個字符 Java用單引號表示字符常量:a X 7 $ , n Example:char topGr

8、ade = A;char terminator = ;, separator = ; 字符型是Java的基本數據類型,但字符串不是基本類型2-21字符集字符集 字符集由字符按照一定順序組成的字符列表 Java使用16位Unicode字符集表示字符 Unicode使用16個二進制位表示一個字符,支持65536個不同字符 許多語言的字符和符號都包含在Unicode的定義中2-22字符集字符集ASCII 碼字符集歷史比Unicode久遠,為Unicode的一個子集, 但仍然相當流行 The ASCII 碼字符集包括:大寫字母大寫字母小寫字母小寫字母標點符號標點符號數字數字特殊符號特殊符號控制符號控制

9、符號A, B, C, A, B, C, a, b, c, a, b, c, ., ;, ., ;, 0, 1, 2, 0, 1, 2, &, |, , &, |, , 回車回車, , 空格空格, ., .2-23布爾型布爾型 一個布爾型變量包含兩種有效值:true和false Java中的單詞true和false用作表示布爾常量值的保留字boolean done = false;2-24大大綱綱字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-25表達式表達式 表達式由一個以上的運算符和操作符按照一定規則組合而成 表達式是運算符和操

10、作符組合后用于完成計算:表達式中只要有一個或以上的運算符為浮點數,則結果也為浮點數加加減減乘乘除除求余求余+ +- -* */ /%2-26除法與求余除法與求余 如果(/)的兩個操作數都為整數,則結果為整數 (忽略計算結果的小數部分)求余運算 (%) 返回值的符號與被除數的符號一致14 / 3 equalsequals8 / 12 equalsequals4014 % 3 equalsequals8 % 12 equalsequals282-27運算符運算符優優先先級級 運算符可以組合以形成更復雜的表達式result = total + count / max - offset; 運算符優先級

11、層次結構建立了控制運算的求值順序規則 乘法、除法、求余運算符具有相同的運算優先級,先于加、減法 具有相同優先級的運算符按照從左到右的順序執行, 但可以使用括號強制改變運算符優先順序2-28賦值賦值 賦值運算符的運算優先級比算術運算符的優先級更低首先計算首先計算= =操作符右邊的值操作符右邊的值計算結果保存到計算結果保存到= =操作符左邊表明的變量操作符左邊表明的變量answer = sum / 4 + MAX * lowest;14322-29賦值賦值 賦值語句左右邊可能出現相同的變量取取countcount的當前值再加的當前值再加1 1將計算結果存回將計算結果存回countcount變量變量

12、( (改寫原有值改寫原有值) )count = count + 1;2-30自增和自減運算符自增和自減運算符 自增和自減運算符只需要一個操作數 自增運算符 (+) 將整型和浮點型變量加1 自減運算符(-)將整型和浮點型變量減1 表達式count+;等價于count = count + 1;2-31自增和自減運算符自增和自減運算符 自增和自減運算符可以作用在變量之后:count+ 自增和自減運算符也可以作用在變量之前:+count 自增和自減運算符應用在較復雜的表達式中可能產生不同的計算結果 自增和自減運算符的前綴和后綴形式具有微妙的差異2-32賦值賦值運算符運算符 通常我們會對某變量操作,再將

13、結果存回該變量 Java 提供了組合賦值語句以簡化上述過程 Example:num += count;等價于:num = num + count;2-33賦值賦值運算符運算符 Java包含很多組合賦值運算符:運算符運算符+=-=*=/=%=例子例子x += yx -= yx *= yx /= yx %= y等價于等價于x = x + yx = x - yx = x * yx = x / yx = x % y2-34賦值賦值運算符運算符 賦值運算的右邊可能包含復雜的計算表達式 所有的組合賦值運算符都是首先計算整個表達式的值,然后將計算結果作為組合賦值運算符的右操作數與左邊變量的值進行計算 因此r

14、esult /= (total-MIN) % num;等價于result = result / (total-MIN) % num);2-35賦值賦值運算符運算符 一些組合賦值運算符執行的具體功能依賴于操作數的類型 如果 += 運算符的操作數是字符串,那么該運算符將執行字符串拼接2-36大大綱綱字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-37數據類型數據類型轉換轉換 有時進行數據之間的轉換很有必要 數據轉換一般不改變數據原有值 擴展類型轉換是更安全的類型轉換 (例如從 short 轉換到 int) 壓縮類型轉換相對擴展類型轉換

15、更容易丟失信息 (例如從int 轉換到short) 在Java中, 數據轉換的方式有三種: 賦值類型轉換 “低級別”類型向“高級別”類型自動轉換 強制類型轉換2-38賦值類型轉換賦值類型轉換 將一個類型的值賦給另一種類型的變量時,發生了賦值類型轉換 如果 money 是float變量,dollars是int變量, 下列賦值將 dollars值轉為floatmoney = dollars 在賦值類型轉換時只能執行擴展類型轉換 注意 dollars 的數值類型和值沒有發生改變2-39數數值值類型類型轉換轉換 某運算符為了進行運算而需要修改其操作數時,將進行自動類型轉換 例如, 如果sum 為flo

16、at,count 為int, count 的值轉換為浮點數,以執行下列計算:result = sum / count;2-40強制強制轉換轉換 強制類型轉換是數據轉換中最強大、最危險的轉換方式 擴展類型轉換和壓縮類型轉換都可以由顯式的強制轉換實現 強制轉換的格式為 (“類型名”) 變量/數值 例如, 如果total 和count 為整型, 但希望得到一個以浮點數表達的除法結果, 則可以強制轉換 total:result = (float) total / count;2-41大大綱綱字符串字符串變量與賦值變量與賦值基本數據類型基本數據類型表達式表達式數據類型轉換數據類型轉換交互程序交互程序2-

17、42交互程序交互程序 通常程序需要在執行期間交互地從用戶輸入中讀取數據 Scanner 類提供了交互式讀取不同類型的輸入數據 Scanner 類對象可讀取不同來源的數據, 包括用戶鍵盤輸入 鍵盤輸入由 System.in 對象表示2-43讀讀取取輸輸入入 下列語句創建了一個讀取鍵盤輸入的scanner對象:Scanner scan = new Scanner (System.in); new 操作符創建了Scanner對象 一旦創建, Scanner對象可用于調用不同的輸入方法, 例如:answer = scan.nextLine();2-44讀讀取取輸輸入入 Scanner 類為java.u

18、til 類庫的一部分, 在使用前必須先import nextLine 方法讀取所有的輸入直至行結束符 對象創建和類庫的引用將在第三章詳細討論2-45輸輸入數據入數據項項 除非特別說明,Scanner對象假定空白字符用于分離輸入數據流中的各個數據項 空白字符包括空格符、制表符和換行符 Scanner類的next方法將下一個輸入數據項作為字符串讀入并返回該字符串 nextInt 和nextDouble方法讀取特定類型的數據 See GasMileage.java 2-46圖圖形形 一幅保存在計算機的圖形必須數字化 將信息分解為元素并用編碼來表示元素 保存每個像素顏色值以保存完整圖形 表示圖形所用的

19、像素點數稱為圖形分辨率 黑白圖形的每像素點用1位二進制位表示2-47坐坐標標系系統統 傳統的笛卡爾坐標系有兩個在原點相交的坐標軸 Java程序設計語言設置一套相對簡單的坐標系統,所有的可見坐標值都為正值 Java繪圖區的左上角坐標為(0,0) X軸坐標值向右增大 Y軸坐標值向下增大2-48顏顏色表示方法色表示方法 Java采用三個數表示顏色值,即RGB值 RGB值中每個基色值代表該基色的大小 用一個字節(8位)保存一個基色值, 取值范圍在0255 每種基色的亮度級的合成決定像素點顏色 Java采用Color類定義和管理顏色 Color類的每個對象代表一種顏色2-49Java applet Java程序有兩種:程序有兩種:Java小小應應用程序(用程序(Java applet)和)和Java應應用程序用程序 Java Applet的源代的源代碼編輯碼編輯與字與字節碼節碼的的編譯編譯生成生成過過程與程與Java Application 相同,但它相同,但它不是可以獨立運行的程序,它的字不是可以獨立運行的程序,它的字節碼節碼文件文件必必須須嵌

溫馨提示

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

評論

0/150

提交評論