歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

《Java語法基礎》PPT課件.ppt

  • 資源ID:14604397       資源大?。?span id="dvbzect" class="font-tahoma">378KB        全文頁數:62頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《Java語法基礎》PPT課件.ppt

第3章 Java語法基礎,(時間:3次課,6學時),第3章 Java語法基礎,教學提示:任何復雜的軟件系統(tǒng)都是采用某種語言的基本特性構建起來的。 本章主要介紹:Java語言的基礎知識,包括Java語言的基本元素、Java語言的流程控制。,第3章 Java語法基礎,3.1 標識符、關鍵字、數據類型 3.2 變量、聲明和賦值 3.3 變量的初始化 3.4 類型轉換與強制類型轉換 3.5 表達式和流程控制 3.6 數組 3.7 課后練習,3.1 標識符、關鍵字、數據類型,3.1.1 標識符 3.1.2 Java關鍵字 3.1.3 基本Java數據類型,3.1 標識符、關鍵字、數據類型,在前兩章中已經介紹了幾個Java程序,本節(jié)將介紹正式的Java程序構成的基本要素。,3.1.1 標識符,在Java語言中,標識符是變量、類或方法的名稱,例如: int idCounter;/idCounter 就是一個整型變量的標識符 一個標識符可以由大寫或小寫的字母、數字、下劃線(_)、美元符號($)按任意順序組合而成,但不可以以數字開頭。這是因為如果允許以數字開頭就會和數字常量發(fā)生混淆。另外,標識符是大小寫敏感的,例如idCounter和IdCounter不是同一個標識符。,3.1.2 Java關鍵字,關鍵字是對Java編譯器有特殊含義的字符串,是編譯器和程序員的一個約定,程序員利用關鍵字來告訴編譯器其聲明的變量類型、類、方法特性等信息。目前的Java語言共定義了如表3-1所示48個關鍵字,具體每個關鍵字的意義和用法將在本書之中逐步介紹。,3.1.2 Java關鍵字,表3-1 Java關鍵字,3.1.3 基本Java數據類型,Java定義了8個簡單(或基本)的數據類型:字節(jié)型(byte),短整型(short),整型(int),長整型(long),字符型(char),浮點型(float),雙精度型(double),布爾型(boolean),這些類型可分為4組。 整數:該組包括字節(jié)型(byte),短整型(short),整型(int),長整型(long),它們是有符號整數。 浮點型數:該組包括單精度浮點型(float)和雙精度浮點型(double),它們代表有小數精度要求的數字。 字符:該組包括字符型(char),它代表字符集的符號,例如字母和數字。 布爾型:該組包括布爾型(boolean),它是一種特殊的類型,表示真/假值。,3.1.3 基本Java數據類型,(1) 整數byte,short,int,long Java定義了4個整數類型:字節(jié)型(byte)、短整型(short)、整型(int)、長整型(long)。這些都是有符號的值,數值為正數或是負數。Java 不支持只能是正的無符號的整數。許多其他計算機語言,包括C/C+,支持有符號或無符號的整數。然而,無符號整數是不必要的。具體地說,無符號概念主要被用來指定高位狀態(tài),它定義了當int表示一個數字時的符號。,3.1.3 基本Java數據類型,(2) 浮點型數float,double 浮點數字也就是我們所熟知的實數。在Java中表示這些實數的方法是采用兩類浮點數據類型(見表3-3),一類是單精度浮點類型(float),一類是雙精度浮點類型(double),Java實現浮點數采用的是標準浮點型(IEEE-754)和運算符集,并且是獨立于平臺的。,3.1.3 基本Java數據類型,(3) 字符char 在Java中,存儲字符的數據類型是char。 Java的char與C或C+中的char不同。在C/C+中,char的寬度是8位,但Java的情況不同。Java使用Unicode碼代表字符。Unicode定義的國際化的字符集能表示迄今為止人類語言的所有字符集。它是幾十個字符集的統(tǒng)一,因此它要求16位。這樣,Java中的char類型是16位的,其范圍是065536。人們熟知的標準字符集ASCII 碼的范圍仍然是0127,擴展的位字符集ISO-Latin-1的范圍是0255。既然Java被設計為允許其開發(fā)的Applet(小應用程序)在世界范圍內使用,因此使用Unicode碼代表字符是說得通的。當然,Unicode的使用對于英語、德語、西班牙語或法語的語言是有點低效,因為它們的字符能容易地被包含在8位以內。但是為了全球的可移植性,這一點代價是必須的。,3.1.3 基本Java數據類型,(4) 布爾型boolean 在Java中定義了一種基本數據類型boolean來表示邏輯值,它只有兩個文字值即true和false,以下是一個有關boolean類型變量的聲明和初始化: boolean isClosed = false; /定義一個boolean型變量isClosed并把其初始化成false 需要特別指出的是在整數類型和boolean類型之間無轉換計算。有些語言(特別值得強調的是C和C+)允許將數字值轉換成邏輯值,這在Java編程語言中是不允許的;boolean類型只允許使用boolean值,即只允許使用true和false。,3.2 變量、聲明和賦值,3.2.1 變量的聲明 3.2.2 變量的作用域,3.2 變量、聲明和賦值,變量是Java程序中的一個基本存儲單元,變量由一個標識符、類型和一個可選初始值組合定義而成。此外,所有變量都有一個作用域,來定義變量的可見性和生存期。,3.2.1 變量的聲明,在Java中,所有的變量必須先聲明后使用。聲明的方法是: Datatype identifier =value ,identifier =value ; 其中Datatype是基本數據類型之一,或者是類、接口的名字(將在以后章節(jié)介紹)。標識符是變量的名字,可以通過“=”的方式指定一個值來初始化變量,聲明多個相同數據類型的變量時可以用“,”號隔開。,3.2.2 變量的作用域,本節(jié)介紹變量在Java中的作用域,可以通俗地說成變量的作用范圍。 在方法內定義的變量被稱為局部(local)變量,有時也被稱為自動(automatic)、臨時(temporary)或棧(stack)變量。 (1) 在介紹局部變量的作用域前先來介紹什么是語句、程序塊。語句就是一行以分號“;”結束的代碼。 (2) Java允許局部變量在任意程序塊的任意位置中被聲明,而在一個作用域中定義的 局部變量,對于該作用域外的程序是不可見的,即不可以被訪問,這個作用域規(guī)則為封裝提供了基礎。,3.2.2 變量的作用域,(3) 變量可以在程序塊內的任何地方被聲明,但是只有在它們被聲明以后才是合法有效的。 (4) 局部變量是在一個作用域被創(chuàng)建,當程序執(zhí)行離開該作用域后被撤銷,它的生存期就是程序執(zhí)行其所在作用域的時間范圍。 (5) 盡管程序塊能被嵌套,但不能將內部作用域聲明的變量與其外部作用域聲明的變量重名。,3.3 變量的初始化,在前面的講解中,當聲明一個Java基本數據類型時,會在內存中分配對應的空間,而對一個非基本數據類型,如前面提到的String,或自己定義的類型時,聲明這些變量時并沒有分配與之類型大小對應的空間,而只是引用。 在Java程序中,任何變量都必須經初始化后才能被使用。當一個對象被創(chuàng)建時,實例變量在分配存儲器的同時被下列值初始化,這一點與局部變量不同。,3.4 類型轉換與強制類型轉換,3.4.1 Java的自動轉換 3.4.2 不兼容類型的強制轉換 3.4.3 表達式中類型的自動提升,3.4 類型轉換與強制類型轉換,程序中經常把一種類型的值賦給另外類型的一個變量。如果這兩種類型是兼容的,那么Java將自動進行轉換。例如,把int類型的值賦給long類型的變量,總是可行的。然而,不是所有的類型都是兼容的,因此,不是所有的類型轉換都是可以隱式實現的。例如,沒有將double類型轉換為byte類型的定義。在Java中不兼容的類型之間的轉換仍然是可能的,必須使用強制類型轉換來完成兩個不兼容的類型之間的顯式變換。接下來介紹自動類型轉換和強制類型轉換。,3.4.1 Java的自動轉換,如果下列兩個條件都能滿足,那么將一種類型的數據賦給另外一種類型變量時,將執(zhí)行自動類型轉換(automatic type conversion): 這兩種類型是兼容的。 目的類型數的范圍比來源類型的大。 當以上兩個條件都滿足時,發(fā)生拓寬轉換(widening conversion)。,3.4.2 不兼容類型的強制轉換,為了完成兩種不兼容類型之間的轉換,必須進行強制類型轉換。所謂強制類型轉換只不過是一種顯式的類型變換。它的通用格式如下: (target-type)value 其中,目標類型(target-type)指定了要將指定值轉換成的類型。 當把浮點值賦給整數類型時將發(fā)生一種不同的類型轉換:截斷(truncation)。整數沒有小數部分,當把浮點值賦給整數類型時,其小數部分會被舍去。,3.4.3 表達式中類型的自動提升,除了賦值,還有另外一種類型變換:在表達式中,對中間值的精確要求有時超過任何一個操作數的范圍。 除了將byte類型和short類型提升到int類型以外,Java定義了若干適用于表達式的類型提升規(guī)則(type promotion rules)。 所有的byte類型和short類型的值被提升到int類型。 如果一個操作數是long類型,整個表達式將被提升到long類型;如果一個操作數是float類型,整個表達式將被提升到float類型;如果有一個操作數是double類型,計算結果就是double類型。,3.5 表達式和流程控制,3.5.1 運算符 3.5.2 運算符優(yōu)先級 3.5.3 流程控制 3.5.4 特殊循環(huán)控制,3.5 表達式和流程控制,在學習完數據類型后,下面就將介紹如何利用這些數據類型進行各種邏輯操作,就是如何控制程序的執(zhí)行流程,使得程序完成編程需要的行為,首先介紹Java中的運算符。,3.5.1 運算符,Java提供了豐富的運算符環(huán)境。Java有4大類運算符:算術運算、位運算、關系運算和邏輯運算。Java還定義了一些附加的運算符用于處理特殊情況。本節(jié)將描述Java所有的運算符,比較運算符instanceof將在以后的章節(jié)討論。Java語言中的運算符在風格和功能上都與C和C+極為相似。下面將分別介紹。,3.5.1 運算符,1. 算術運算符 算術運算符用來進行整型或浮點數據的算術運算,算術運算符用在數學表達式中,其用法和功能與代數學(或其他計算機語言)中一樣,Java定義的算術運算符見表3-5。,3.5.1 運算符,表3-5 Java算術運算符,3.5.1 運算符,2. 關系運算符 關系運算符是比較兩個表達式大小關系的運算,它的結果是真(true)或假(false),關系運算符有6種,如表3-6所示。,3.5.1 運算符,表3-6 關系運算符,3.5.1 運算符,3. 邏輯運算符 邏輯運算符(見表3-7)是對布爾型(boolean)變量進行運算,其結果也是布爾型(boolean)。,3.5.1 運算符,表3-7 邏輯運算符,3.5.1 運算符,4. 位運算 位運算是以二進制位(bit)進行計算,操作數和結果都是整數類型,包括long、int、short、char、byte。位邏輯運算符有“與(AND)”、“或(OR)”、“異或(XOR)”、“非(NOT)”,分別用“ int i = x<0?y:z; 此處由于x<0成立,所以i取y的值為2。,3.5.1 運算符,6. 用加號(+)進行串連接 【例3.27】運算符+能夠進行String對象的連接并生成一個新的String,程序如下。 String salutation = Dr. ; String name = Jack + Arthur; String title = salutation + name; 最后一行的結果如下。 Dr. Jack Arthur 如果+運算符中有一個自變量為String對象,則其他自變量將被轉換成String。所有對象都可被自動轉換成String,不是串的對象是通過使用toString()成員函數而轉換成串的。,3.5.2 運算符優(yōu)先級,運算符優(yōu)先級就是多個運算符聯合操作時各個運算符執(zhí)行的順序。表3-10顯示了Java 運算符從最高到最低的優(yōu)先級。表中的符號從最上方到最下方優(yōu)先級依次降低。,3.5.2 運算符優(yōu)先級,表3-10 Java運算符優(yōu)先級表,3.5.3 流程控制,結構化的程序設計中的流程控制有3種,即順序、選擇和循環(huán)。這三種結構的組合可以實現任何復雜的流程控制,在Java中也同樣如此。利用這三種結構寫出的程序具有模塊化好,可讀性強,結構清晰的特點。順序結構顧名思義很容易理解,所以下面只介紹后兩種結構。,3.5.3 流程控制,1. 選擇控制結構 選擇控制結構是在兩種或兩種以上的路徑上選擇一種來執(zhí)行,通常在選擇前,先做一個判斷,根據結果進行選擇,Java中選擇控制結構由ifelse,switch來引導。,3.5.3 流程控制,(1) ifelse語句 基本語法: if (布爾表達式) 語句或程序塊; / 邏輯塊 else 語句或程序塊;/邏輯塊 如果一個邏輯塊是單個語句,可以不要“”和“”。,3.5.3 流程控制,(2) switch語句 基本語法: switch (expr1) case expr2: statements; break; case expr3: statements; break; default: statements; break; 當switch中的變量或表達式expr1的值不能與任何case值相匹配時,可選缺省符(default)指出了應該執(zhí)行的程序代碼。如果沒有break語句作為某一個case代碼段的結束句,則程序的執(zhí)行將繼續(xù)到下一個case,而不檢查case表達式的值。,3.5.3 流程控制,2. 循環(huán)結構 循環(huán)語句使語句或塊的執(zhí)行得以重復進行。Java編程語言支持三種循環(huán)構造類型:for、while和do-while循環(huán)。for和while循環(huán)是在執(zhí)行循環(huán)體之前測試循環(huán)條件,而do-while循環(huán)是在執(zhí)行完循環(huán)體之后測試循環(huán)條件。這就意味著for和while循環(huán)可能連一次循環(huán)體都未執(zhí)行,而do-while循環(huán)將至少執(zhí)行一次循環(huán)體。,3.5.3 流程控制,(1) for循環(huán) 在前面的例程中曾使用過for循環(huán)的簡單格式??梢钥吹剑琭or循環(huán)是一個功能強大且形式靈活的結構。下面是for循環(huán)的通用格式: for(initialization; condition; iteration) /循環(huán)體 如果只有一條語句需要重復,大括號就沒有必要。,3.5.3 流程控制,for循環(huán)的執(zhí)行過程如下 當循環(huán)啟動時,先執(zhí)行其初始化部分。通常,這是設置循環(huán)控制變量值的一個表達式,作為控制循環(huán)的計數器。重要的是要理解初始化表達式僅被執(zhí)行一次。 計算條件condition的值。條件condition必須是布爾表達式。它通常將循環(huán)控制變量與目標值相比較。如果這個表達式為真,則執(zhí)行循環(huán)體;如果為假,則循環(huán)終止。 執(zhí)行循環(huán)體的反復部分。這部分通常是增加或減少循環(huán)控制變量的一個表達式。 重復循環(huán),首先計算條件表達式的值,然后執(zhí)行循環(huán)體,接著執(zhí)行反復表達式。這個過程不斷重復,直到控制表達式變?yōu)榧佟?3.5.3 流程控制,(2) while循環(huán) 基本語法: while (布爾表達式) 語句或塊 /循環(huán)體 /end while,3.5.3 流程控制,(3) do-while循環(huán) 如果while循環(huán)一開始條件表達式就是假的,那么循環(huán)體就根本不被執(zhí)行。然而,有時需要在開始時條件表達式既使是假的情況下,while循環(huán)至少也要執(zhí)行一次。換句話說,有時需要在一次循環(huán)結束后再測試中止表達式,而不是在循環(huán)開始時。Java就提供了這樣的循環(huán):do-while循環(huán)。do-while循環(huán)總是執(zhí)行它的循環(huán)體至少一次,因為它的條件表達式在循環(huán)的結尾。 其基本語法: do 語句或塊;/循環(huán)體 while (布爾測試),3.5.4 特殊循環(huán)控制,本節(jié)介紹關鍵字break和continue的用法。,3.5.4 特殊循環(huán)控制,1. break break關鍵字有三種使用方法: switch中用到的(已介紹),用來中止一個語句序列。 break可以作為一種“更加理想”的goto語句來使用。 break可以用來退出一個循環(huán)。,3.5.4 特殊循環(huán)控制,2. continue關鍵字 continue被用來略過并跳到循環(huán)體的結尾,來強迫循環(huán)提早反復。也就是,如果想循環(huán)繼續(xù),但是要忽略本次重復剩余的循環(huán)體語句時,就應采用continue。在for循環(huán)中,循環(huán)表達式被反復求值,然后執(zhí)行條件表達式,循環(huán)繼續(xù)執(zhí)行,在while和do-while循環(huán)中,continue使控制流直接轉到控制循環(huán)的條件表達式,循環(huán)繼續(xù)執(zhí)行。,3.6 數 組,3.6.1 數組的聲明 3.6.2 數組的創(chuàng)建和引用 3.6.3 數組的初始化 3.6.4 多維數組 3.6.5 復制數組,3.6 數 組,在Java中數組是相同類型的對象的集合,并通過一個名稱(就是數組名)來引用這個集合。可以聲明任何類型的數組,無論是Java基本數據類型,還是類類型。,3.6.1 數組的聲明,數組聲明有以下兩種格式 type identifier; type identifier; 兩種格式并存,可選擇任一種習慣的方式。這里的聲明沒有指出數組的實際大小,如果需要指出,可以把大小寫到中即可。,3.6.2 數組的創(chuàng)建和引用,正如前面所述,聲明數組只是創(chuàng)建了一個引用,可以像創(chuàng)建對象一樣,使用關鍵字new 創(chuàng)建一個數組。其一般形式如下。 array_var = new typesize; 一旦分配了一個數組,可以在方括號內指定它的下標來訪問數組中特定的元素。所有的數組下標從零開始。,3.6.2 數組的創(chuàng)建和引用,數組可以在聲明時被初始化,這個過程和簡單類型初始化的過程一樣。數組的初始化(array initializer)就是包括在花括號之內用逗號分開的表達式的列表。逗號分開了數組元素的值。Java會自動地分配一個足夠大的空間來保存你指定的初始化元素的個數,而不必使用運算符new。,3.6.3 數組的初始化,由前面的例子可知,當創(chuàng)建一個數組時,每個元素都被初始化。在上述實例中的int數組mouth_days中,每個值都被初始化為0;而數組days的每個元素都被初始化為null,表明它還未引用一個MDate對象。在經過賦值days= new MDate()之后,數組的第一個元素引用為實際MDate對象。 Java編程語言允許使用下列語句快速創(chuàng)建數組。 String names=Gorge,Bush,Salon; 其結果與下列代碼等同。,3.6.4 多維數組,Java編程語言不提供多維數組,但是一個數組可被聲明為具有任何基礎類型,所以可以創(chuàng)建數組的數組(和數組的數組的數組,等等)。創(chuàng)建一個二維數組的語句如下。 int a = new int 2; a0 = new int5; a1 = new int4; 首次調用new而創(chuàng)建的對象是一個數組,它包含兩個元素,每個元素的類型為整型數組(array of int),并且初始時這兩個元素都為null,然后對這兩個元素(其實這兩個元素就是兩個引用)進行初始化。,3.6.5 復制數組,數組一旦創(chuàng)建后,其大小就不可被調整了。前面提到數組變量其實是一個引用,所以可利用該引用變量來引用一個全新的數組: int MyArray = new int6; MyArray = new int10; 語句中,第一個數組被丟失,但是如果數組的引用變量存在,還可以調用該數組。 為了便于數組的操作,在Java中提供了一種復制數組的方法,就是類System中的arraycopy()方法。,3.7 課 后 練 習,1. 填空題 (1)Java中有 種基本數據類型。 (2)Java的算術運算符是雙目的有 。 2. 選擇題 (1)現有語句String s=Example;則下面哪些語句是合法語句?( ) A. s=3 B. s3=x C. int i=s.length(); D. String t=For+s; (2)下面哪些是Java保留字?( ) A. run B. default C. implement D. import 3. 判斷題 (1)()的運算優(yōu)先級最高。( ) (2)switch語句不能像if語句那樣嵌套。( ),3.7 課后練習,4. 簡答題 (1)判斷下列標識符,哪些是合法的,哪些是非法的。 SessionIdCounter _myCup m_static this 3upt $startTime sip_msg u+tu (dt_end) superStar (2)Java中有哪幾種流程控制語句? 5. 操作題 (1)創(chuàng)建一個類和相應的對象,完成下面的任務。 在類中編寫一個類方法,然后為類型MyPoint聲明兩個變量,將變量稱為start和end;用new MyPoint()創(chuàng)建對象并分別將引用值賦予變量start和end; 將值10賦予對象start的成員x和y; 將值20賦予對象end的x值,將值20賦予對象end的y值。 分別打印MyPoint對象(start和end)的成員值(x和y)。打印可參考如下語句: System.out.println(Start MyPoint = x:+start.x + y + start.y);,Q & A?Thanks!,

注意事項

本文(《Java語法基礎》PPT課件.ppt)為本站會員(xin****828)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!