Java與UML面向對象程序設計-第2章_第1頁
Java與UML面向對象程序設計-第2章_第2頁
Java與UML面向對象程序設計-第2章_第3頁
Java與UML面向對象程序設計-第2章_第4頁
Java與UML面向對象程序設計-第2章_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章Java編程基礎,Java與UML面向對象程序設計,第2章 Java編程基礎,第2章Java編程基礎,(1)定義:標識符是指程序中所用對象的符號名稱,像包、變量、類、接口和方法等都有用戶自定義的名稱,即標識符。 說明:一個標識符可以由任意長度的字母、數(shù)字、下拉線、美元符號或Unicode字符(如漢字)組成。但不能是后面介紹的關鍵字。 (2)標識符命名約定:常量用大寫字母,變量用小寫字母開始,類以大寫字母開始。如果一個變量名由多個單詞構成,第一個單詞后面的單詞以大寫字母開始,例如anInt。下劃線雖然可以作為標識符的一員,但常用于常量名的單詞分隔,因為常量名都是以大寫字母單詞命名的。 切記

2、:標識符的第一個字符不能是數(shù)字!,標識符與關鍵字,1、標識符,第2章Java編程基礎,標識符舉例,以下為合法的標識符: A98_23 _abc 變量1 USdollars userName username,以下為非法的標識符: A- 4減號不能作為標識符的一部分 3_1數(shù)字不能作為標識符的開頭字符 the大于號不是標識符的有效字符 boolean關鍵字不能作為標識符使用 true關鍵字不能作為標識符使用 null關鍵字不能作為標識符使用,有同學會問“userName”與“username”有什么區(qū)別么?是不是一樣的呢? 強調:Java嚴格區(qū)分字母大小寫,標識符中的大小寫字母被認為是不同的兩個

3、字符。所以上述兩個標識符也是不一樣的,第2章Java編程基礎,(1)定義:它是預先定義好的標識符,是Java語言保留的用來標識數(shù)據(jù)類型、控制如何定義程序的特殊標識符。,標識符與關鍵字,2、Java關鍵字,所有關鍵字都是由小寫字母組成的!,所有的Java關鍵字將不能被用作標識符!,說明:,第2章Java編程基礎,標識符與關鍵字,2、Java關鍵字 (2)目前Java語言用到的主要關鍵字如下表所示:,第2章Java編程基礎,補充知識:分隔符,分隔符是用來區(qū)分源程序中的基本成分,可使編譯器確認代碼在何處分隔。 分隔符有注釋、空白符和普通分隔符三種。,第2章Java編程基礎,1、注釋,注釋是為了程序的

4、可讀性而加入的幫助理解程序實現(xiàn)思路的解釋性文字,它不是程序的有效執(zhí)行語句,程序執(zhí)行時忽略之。 注釋有三種形式: (1)單行注釋: / 所在行內此符號之后的所有文字都作為程序注釋來解釋。 (2)多行注釋: /* - 注釋開始符號 * */ - 注釋結束符號 (3)文件注釋:借助javadoc.exe來制作幫助文件。 /* 注釋內容 * */,第2章Java編程基礎,2 空白符,空白符包括空格、回車、換行和制表符(Tab鍵)等符號,用來作為程序中各種基本成分之間的分隔符。各基本成分之間可以有一個或多個空白符,其作用相同。和注釋一樣,系統(tǒng)編譯程序時,只用空白符區(qū)分各種基本成分,然后忽略它。,第2章J

5、ava編程基礎,3 普通分隔符,普通分隔符和空白符的作用相同,用來區(qū)分程序中的各種基本成分,但它在程序中有確定的含義,不能忽略。 Java有4種普通分隔符: 大括號,用來定義復合語句、方法體、類體及數(shù)組的初始化; ;分號,是語句結束的標志; ,逗號,分隔方法的參數(shù)、分隔變量說明等; :冒號,說明語句標號。,第2章Java編程基礎,變量與基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型,第2章Java編程基礎,變量與基本數(shù)據(jù)類型,1、變量定義與賦值 變量是內存中的一塊空間,提供了可以存放信息和數(shù)據(jù)的地方,具有記憶數(shù)據(jù)的功能。變量是可以改變的,它可以存放不同類型的數(shù)據(jù),通常用字母或單詞作為變量名。 變量的聲明及

6、賦值 聲明變量的語句格式如下: 類型 變量名=初值 ,變量名=初值; 例如: byte b1, b2; int v1=0, v2=10, v3=18;,“=”為賦值號,“v3=18;”為賦值語句,變量的聲明,第2章Java編程基礎,2、邏輯型數(shù)據(jù),邏輯型的類型標識符為boolean,Java語言引入了邏輯型用以表示關系運算和邏輯運算的結果,布爾型數(shù)據(jù)只有兩個值true和false。例如: boolean b=true;/定義b為布爾型變量,且初值為true 與C(C+)語言不同,邏輯型數(shù)據(jù)不可作為整型數(shù)據(jù)使用,不同于C (C+)語言中的0和非0。Java語言中應該使用邏輯型數(shù)據(jù)的地方,不可使用

7、其他類型的數(shù)據(jù)。,第2章Java編程基礎,3、字符型數(shù)據(jù),字符型的類型標識符為char ,因Java語言使用Unicode字符集,所以其字符型數(shù)據(jù)在內存中占用2個字節(jié),共16位,其范圍為065 535。 字符常量是用單引號括起來的一個字符,如a、A。下面是字符型變量的定義的例子: char c=a;/指定變量c為char型,且賦初值為a 與C語言相同,Java語言允許將字符型變量用作整型,也可與整型進行混合運算。例如: int j=A; / j=65 int i=3; /i=3 i=i+0; /i=3+48=51 都是合法的。,第2章Java編程基礎,Java常用轉義字符,第2章Java編程基

8、礎,4、整型數(shù)據(jù),Java中4種整型為:byte、short、int和long 下表給出Java整型數(shù)據(jù)字節(jié)數(shù)和表示范圍,第2章Java編程基礎,1、Java中整型變量的定義如下: byte a,b; /指定變量a、b為字節(jié)整型; short c,d;/指定c、d為短整型; int e,f=50;/指定變量e,f為整型,并初始化f的值為50; long g,h;/ 指定變量g,h為長整型。 2、在Java中用三種進制來表示證書 (1)十進制: 如int decNumber1=25; (2)八進制 如int octNumber2=04 /需在該數(shù)前面放一個0 (3)十六進制 如int hexNu

9、mber3=0 x7ffFf/在該數(shù)前放置0 x,4、整型數(shù)據(jù),第2章Java編程基礎,5、浮點型數(shù)據(jù),浮點型數(shù)據(jù)用來表示實數(shù),包括單精度(float)和雙精度(double)。 下表浮點型型數(shù)據(jù)字節(jié)數(shù)及范圍數(shù)據(jù),說明:Java中浮點常量采用默認的double類型 例:float z=3.14f;/聲明并初始化一個float型變量 double w=3.1415;/聲明并初始化一個double型變量,第2章Java編程基礎,2.3 運算符和表達式,算術運算符和算術表達式 賦值運算符和賦值表達式 增量和減量運算符 關系運算符和關系表達式 邏輯運算符和邏輯表達式 位運算符 條件運算符和條件表達式

10、表達式中的類型轉換 運算符的優(yōu)先級與結合性總結,第2章Java編程基礎,算術運算符,第2章Java編程基礎,賦值運算符與賦值表達式,在Java中,賦值運算符“=”是一個雙目運算符,結合方向從右向左。 語法格式:=; 復合賦值運算符op=計算和賦值兩種功能組合在一起。 語法格式:op=,第2章Java編程基礎,賦值運算符與賦值表達式,第2章Java編程基礎,關系運算符,第2章Java編程基礎,邏輯運算符,高,低,第2章Java編程基礎,布爾邏輯運算真值表,第2章Java編程基礎,位運算符,第2章Java編程基礎,位邏輯運算 ,第2章Java編程基礎,位邏輯運算 條件表達式的計算過程為:首先計算作

11、為條件的邏輯表達式或關系表達式的表達式1,返回值為true時表達式2的值作為整個條件表達式的值;返回值是false時表達式3的值為整個條件表達式的值。 說明:條件表達式可取代簡單的二分支結構,書寫簡單,并有較快的運算速度。例如: int a=5, b=2, result; if (ab) result=a-b; else result=b-a;,其中的分支結構可改寫為:result= ab ? a-b : b-a; 思考:假設x=5;y=8;w=10;z=3 則條件表達式xy?x:wz?w:z 的值是多少?,10,第2章Java編程基礎,自動類型轉換規(guī)則,類型轉換有兩種方法:隱式(自動)類型轉

12、換和強制類型轉換。 隱式類型轉換按照右圖中的箭頭方向把下面的低級數(shù)據(jù)類型自動轉換成上面的高級數(shù)據(jù)類型再進行運算。char與short,char與byte不能進行自動轉換,第2章Java編程基礎,混合運算中如果高級數(shù)據(jù)要轉換成低級數(shù)據(jù),需要進行強制類型轉換,方法與C語言相似。例如: int i=10; byte b=(byte) i+20; 這里使用了強制類型轉換運算符把int型表達式的值強制轉換為byte型然后賦值給變量b。 強制類型轉換運算符為單目運算符,優(yōu)先級高于其他運算符,其格式為: (類型)表達式 采用強制類型轉換將高級類型數(shù)據(jù)轉換為低級類型數(shù)據(jù)會導致溢出或精度的下降,在使用時應注意值

13、的范圍。,自動類型轉換規(guī)則,第2章Java編程基礎,簡單數(shù)據(jù)類型之間的轉換規(guī)則,第2章Java編程基礎,Java運算符的優(yōu)先級和結合性,第2章Java編程基礎,小結,標識符與關鍵字 Java的基本數(shù)據(jù)類型 Java變量的定義 運算符和表達式 表達式運算的優(yōu)先級別 作業(yè):習題2.1、2.2(2)(3)(6)、2.3,第2章Java編程基礎,控制臺輸入輸出,數(shù)據(jù)輸出 1、print和println方法:JDK5.0以前使用 eg:int i=100;System.out.print(100); 2、printf格式化輸出方法 JDK5.0開始使用 該方法調用語句的一般格式為: system.out

14、.printf(格式控制字符串,輸出項列表); 格式控制字符串主要包含3種信息: (1)格式說明符:由%和格式轉換字符組成,如%d、%f 等,它的作用是將數(shù)據(jù)轉換成指定的格式輸出。 如:System.out.printf(“%d %f”,x,y); (2)普通字符,格式控制字符串中的普通字符原樣輸出 如:System.out.printf(“The result is%d”,x); The result is 將原樣輸出。 (3)標志符。放在%和格式轉換符之間,用來改變輸出格式。 如: System.out.printf(“%+d”,100) 將輸出 +100,第2章Java編程基礎,日期和時

15、間的轉換符,第2章Java編程基礎,日期和時間的轉換符,第2章Java編程基礎,用于System.out.printf的格式轉換符,第2章Java編程基礎,用于System.out.printf的標志符,第2章Java編程基礎,數(shù)據(jù)輸入,對話框輸入 在JDK5.0之前,在接受用戶輸入時使用一個“輸入”對話框,但需要聲明下面語句 String name=JOptionPane.showInputDialog(“Whats your name?”); JOptionPane.showInputDialog()只能返回字符串,想要輸入數(shù)值并返回的話,還要使用Intege.parseInt()或Dou

16、ble.parseDouble ()方法將字符串轉換為相應的整型或浮點型數(shù)據(jù)。 String year=JOptionPane.showInputDialog(“How old are you?”); int age= Intege.parseInt(year); 說明:JOptionPane類定義在javax.swing包中,因此還需在程序的開始處加上如下語句:import javax.swing.*;,第2章Java編程基礎,1、輸入對話框,第2章Java編程基礎,輸入對話框,第2章Java編程基礎,2、命令行輸入,(1)先構造一個Scanner類的對象,如下 Scanner input=

17、new Scanner(System.in); (2)調用input對象的nextLine()方法來讀取輸入的下一行內容:input.nextLine(); (3)調用next()方法讀取輸入的下一個單詞(以空格作為分隔符):input.next(); (4)調用nextInt()/nextDouble()方法讀取輸入的下一個整數(shù)/浮點數(shù):Int();input.nextDouble(); (5)調用hasNext();/檢測輸入中是否還有單詞 調用hasInt();/檢測輸入中是否還有整數(shù) 調用hasDouble()檢測輸入中是否還有浮點數(shù),第2章Java編程基礎,例子,import jav

18、a.util.*; public class CommandInput public static void main(String args) Scanner input = new Scanner(System.in); System.out.println(Whats your name? ); String name = input.nextLine( ); System.out.println(How old are you? ); int age = input.nextInt( ); System.out.println(name+ is +age+ years old.); ,

19、第2章Java編程基礎,程序運行結果,第2章Java編程基礎,程序控制語句,Java語句概述 1、表達式語句:由一個表達式加上一個分號就構成了一個表達式語句。如 a=5;i+; 2、方法調用語句:由一個方法調用加上一個分號構成一個語句。如 System.out.println(“hi”) 3、流程控制語句:稍后做詳細講解 4、異常處理語句:在程序執(zhí)行過程中出現(xiàn)異常情況時,可以使用異常處理語句來捕獲異常情況,將程序返回到一種安全狀態(tài),并將控制權交給異常處理程序,使程序能最終正常退出。主要有:try-catch-finally語句和throw語句。 5、復合語句:可以用把一些語句括起來成為復合語句

20、。如 c=a+b; d=c/10; y=d+100; ,第2章Java編程基礎,if條件語句,if (條件) 語句 if (a 0) System.out.print(a是正數(shù));,第2章Java編程基礎,if語句的流程圖,第2章Java編程基礎,if (條件) 語句1 else 語句2,if (mark = 60) System.out.print(及格); else System.out.print(不及格);,第2章Java編程基礎,if/else語句的流程圖,第2章Java編程基礎,if (條件1) 語句1 else if (條件2) 語句2 else if (條件3) 語句3 els

21、e if (條件m) 語句m else 語句n,第2章Java編程基礎,例子,if (mark = 90) System.out.print(A); else if (mark = 80) System.out.print(B); else if (mark = 70) System.out.print(C); else if (mark = 60) System.out.print(D); else System.out.print(F);,第2章Java編程基礎,if/else/if多分支語句的流程圖,第2章Java編程基礎,嵌套的if語句,第2章Java編程基礎,例:判斷某一年是否為閏年

22、。閏年的條件是符合下面二者之一:能被4整除,但不能被100整除;能被400整除。,public class LeapYear public static void main(String args) int year=1988; boolean leap=false; if(year%4=0 ,第2章Java編程基礎,switch分支語句,switch (表達式) case 常量表達式1: 語句序列1; break; case 常量表達式2: 語句序列2; break; case 常量表達式3: 語句序列3; break; case 常量表達式n: 語句序列n; break; default:

23、 語句序列n+1; break; ,使用switch開關語句時,注意以下三個問題: 這里的表達式可以是整型或字符型表達式,由于實型在內存中的表示是不精確的,因此不允許使用。 case子句中的值應為常量,而且所有case子句中的值必須是不同的。 通常在每一個case中都應使用break語句提供一個出口,使流程跳出開關語句。否則,在第一個滿足條件case后面的所有語句都會被執(zhí)行,這種情況叫做落空??聪旅娣謩e加上和去掉break語句的例子,第2章Java編程基礎,switch語句的流程圖,例:根據(jù)考試成績的等級打印出百分制分數(shù)段。,第2章Java編程基礎,public class SwitchDem

24、o public static void main(String args) char grade=C; switch(grade) case A:System.out.println(grade+ is 90100); break; case B:System.out.println(grade+ is 8089); break; case C:System.out.println(grade+ is 7079); break; case D:System.out.println(grade+ is 60 69); break; case F:System.out.println(grade

25、+ is 60); break; default:System.out.println(輸入有誤!); 運行結果: C is 7079,去掉break語句的運行結果: C is 7079 C is 6069 C is 60 輸入有誤!,第2章Java編程基礎,while循環(huán)語句,1while語句 while語句實現(xiàn) “當型” 循環(huán),格式為 while (布爾表達式) 循環(huán)體 while語句首先判斷布爾表達式的值是否為true,如果為true,則執(zhí)行循環(huán)體,然后重復該過程;如果布爾表達式的值為false,則終止while語句的執(zhí)行。循環(huán)體可以是一條簡單語句,也可以是用大括號括起來的語句序列。 w

26、hile語句首先計算終止條件,當條件滿足時,才去執(zhí)行循環(huán)中的語句,因此循環(huán)體有可能一次都不執(zhí)行。,第2章Java編程基礎,while循環(huán)語句,前100個正整數(shù)之和(1+2+3+99+100)。 public class qiuhe public static void main (String args) int sum = 0; int i = 1; while (i = 100) sum = sum + i; i = i + 1; System.out.println(“1到100以內所有整數(shù)和”+sum); ,程序運行結果:1到100以內所有整數(shù)和5050,第2章Java編程基礎,whi

27、le語句的流程圖,第2章Java編程基礎,do-while循環(huán)語句,do-while語句實現(xiàn)“直到型”循環(huán),格式為: do 循環(huán)體 while (布爾表達式); do-while語句首先執(zhí)行循環(huán)體,然后計算布爾表達式。如果布爾表達式的值為true,則重復上述過程,直到布爾表達式的結果為false。與while語句不同的是,do-while語句的循環(huán)體至少執(zhí)行一次。 do-while中的循環(huán)體可以是一條簡單語句,也可以是用大括號括起來的語句序列。建議即使是一條語句也用大括號括起來,以增加程序的可讀性。,第2章Java編程基礎,do-while循環(huán)語句, int sum = 0; int i =

28、1; do sum = sum + i; i = i + 1; while (i = 100) ,第2章Java編程基礎,do-while循環(huán)的流程圖,第2章Java編程基礎,for循環(huán)語句,for (循環(huán)變量初始化; 循環(huán)條件; 循環(huán)變量更新) 語句 for后面的括號內包含了用分號隔開的三部分,當循環(huán)第一次開始時,首先執(zhí)行循環(huán)變量初始化部分,循環(huán)變量一般用來控制循環(huán)的執(zhí)行次數(shù),初始化部分只執(zhí)行一次。接著執(zhí)行循環(huán)條件測試部分,它通常測試循環(huán)變量的值以判斷是否執(zhí)行了指定的次數(shù),如果循環(huán)條件為真,就執(zhí)行循環(huán)體,否則就終止循環(huán)。執(zhí)行完循環(huán)體后,接下來執(zhí)行循環(huán)變量更新部分,它通常增加或減小循環(huán)變量的值

29、,然后以新的循環(huán)變量的取值繼續(xù)循環(huán)條件的測試和循環(huán)體的執(zhí)行,如此重復直到循環(huán)條件為假。,第2章Java編程基礎,for-each循環(huán)語句,它是一種增強的for循環(huán),主要用來對集合中的元素以嚴格連續(xù)的方式從頭到尾進行循環(huán)。它的一般形式為: for (類型 循環(huán)變量: 集合) 語句 其中“類型”指定了“循環(huán)變量”的取值類型,“循環(huán)變量”用來接收“集合”中的元素。每一次循環(huán),會按順序從“集合”中取出一個元素存儲在“循環(huán)變量”中,如此重復,直到集合中的所有元素都已取出為止。由于循環(huán)變量從集合中接收值,所以“類型”必須與集合中存儲的元素類型相同(或兼容)。,第2章Java編程基礎,循環(huán)嵌套,一個循環(huán)體內又包含另一個完整的循環(huán)結構,稱為循環(huán)的嵌套。內嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。三種類型的循環(huán)可以互相嵌套。但是常用的是for循環(huán)的嵌套。,第2章Java編程基礎,例子,public class NestFor public static void main(String args) int i, j;

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論