版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java 語言規(guī)格(譯自Javalanguage1.程序結(jié)構(gòu) Java(compilation *一個程序包語句(packageement引入語句(import (class (erfacedeclarations)JavaJavaJava(bytecode)Java 語言規(guī)格(譯自Javalanguage1.程序結(jié)構(gòu) Java(compilation *一個程序包語句(packageement引入語句(import (class (erfacedeclarations)JavaJavaJava(bytecode)行系統(tǒng)(runtimesystem)有效地解釋。Java每個編譯單元有若干個類,
2、編譯后,每個類生成一個.clss 文件。.class文件是 Java 虛機(jī)器碼?2. 詞法問題在編譯的過程中,Java 源程序代碼中的字符被劃分為一系列的標(biāo)記(token)。Java 編譯器可以識別五種標(biāo)記: 標(biāo)識符、關(guān)鍵字、字面量、運(yùn)算符以及特殊分隔符。注釋以及諸如空格、制表符、換行符等字符 ,都不屬于標(biāo)識之列,但他們卻常被用來分隔標(biāo)記。JavaUnicode在編譯前轉(zhuǎn)換成 Unicode。2.1/text/*text*/從/*到*/* text *2.2 標(biāo)識符標(biāo)識符的首字符必須是一個字母,下劃線(_符號($0-9Java*大寫字母小寫字母泛代碼(Unicode)中所有字符編碼在十六進(jìn)制數(shù)
3、 00C0 之前的字符。標(biāo)識符中,首字母后的字符可以是任意的。當(dāng)然,Unicode UnicodeStandard“World Wide Character Encoding 1.0,volumes 1 2FTP。2.3abstract default goto*null synchronized fsicvoidclassfloat nativesuperwhileconst * fornew 2.4 字面量字面量(literal)是某些類型值的基本表述,這些類型包括整型2.4.1 整型字面量整數(shù)可有三種表示形式: 十進(jìn)制,八進(jìn)制和十六進(jìn)制。0(有時式。以 0 開頭的整型字面量,意味著它是一
4、個十六進(jìn)制的。十六進(jìn)制整數(shù)可以包括數(shù)字 0-9 以及字母 a-f 及 A-F。八進(jìn)制整數(shù)中則只能是出現(xiàn)數(shù)字 0-7。在超32long一個整型字面量可通過加后綴 Lllong2.3abstract default goto*null synchronized fsicvoidclassfloat nativesuperwhileconst * fornew 2.4 字面量字面量(literal)是某些類型值的基本表述,這些類型包括整型2.4.1 整型字面量整數(shù)可有三種表示形式: 十進(jìn)制,八進(jìn)制和十六進(jìn)制。0(有時式。以 0 開頭的整型字面量,意味著它是一個十六進(jìn)制的。十六進(jìn)制整數(shù)可以包括數(shù)字 0
5、-9 以及字母 a-f 及 A-F。八進(jìn)制整數(shù)中則只能是出現(xiàn)數(shù)字 0-7。在超32long一個整型字面量可通過加后綴 Lllong22L07772.4.2外加或者一個小數(shù)點(diǎn)或者一個 e(或 E),下面舉一些浮點(diǎn)字面量的例子:3.14153.1E12.1e122E12,Java型: float 及 double,用戶可按以下寫法區(qū)分:2.0d 或2.0Ddouble2.0f 或2.0F 或2.0float 型2.4.3true 及false2.4.4 字符字面量字符字面量是一個由單引號括起的字符(或者是由一組字符來表述一個字符)。字符屬于 char雙引號 0ddd 十六進(jìn)制數(shù) xdd 泛代碼字符
6、 0 xddddudddd2.4.5 串字面量雙引號引起的零個或多個字符的序列。每個串字面量被看作是一個串對象,而并非是一個字符的數(shù)組,例如“ac”創(chuàng)建了一個新的串類的實(shí)例。下面的都是合法的串字面量: is a stringis a two-line + %&*/ ; +- +=-3. 類型任何一個變量或表達(dá)式都有一個類型,類型決定變量可能的取值范圍,決定對這些值允許的操作,以及這些操作的意義是什么。Java 語言中提供復(fù)合類型建立在簡單類型的基礎(chǔ)上。Java+ %&*/ ; +- +=-3. 類型任何一個變量或表達(dá)式都有一個類型,類型決定變量可能的取值范圍,決定對這些值允許的操作,以及這些操
7、作的意義是什么。Java 語言中提供復(fù)合類型建立在簡單類型的基礎(chǔ)上。Java CC+中相似,但有兩點(diǎn)區(qū)別: 其一,所有的整數(shù)類型均是獨(dú)立于機(jī)器的;其二,對某些傳統(tǒng)的定義作出改變,C81632及 64 位的寬度, 并且均是有符號的(signed) 。如下所示:寬度類型名64long 型僅僅決定變量的算術(shù)性質(zhì)以及合法的取值范圍。如果把一個超出合法范圍的值賦給一變量,那么這個值將是對合法值域取模后的值。浮點(diǎn)類型關(guān)鍵字 float 表示單精度(32 位),而 double 則表示雙精度 (64floatfloatdouble型,則結(jié)果為 double 型。浮點(diǎn)運(yùn)算及數(shù)據(jù)格式按 IEEE754 中的定義
8、,細(xì)節(jié)問題請參閱 “附錄 A: 浮點(diǎn)”中有關(guān)浮點(diǎn)實(shí)現(xiàn)的細(xì)節(jié)。Javachar成一個 16 位的無符號整數(shù)。turefalse,turefalse3.3Javachars=newchar300,在允許的。每次都必須顯式地用 new 分配數(shù)組:i =new i i 3 。之外,Javaiarray iarray;byte f(byte a=new a1=a0+a2;a-運(yùn)行時一個ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)異常 a10=2; /運(yùn)行時引發(fā)一個 ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)異常float arr =new
9、 數(shù)組的長度可通過.lengtha(a.length)3.3.1所定義的數(shù)組都是 ObjectArray的子類,它有一個實(shí)例變量“l(fā)ength一個基本類型,都有一個相應(yīng)的 Array 的子類。同理,每一個類也都有一個相應(yīng)ArraynewThreadn 創(chuàng)建一個 Threadiarray iarray;byte f(byte a=new a1=a0+a2;a-運(yùn)行時一個ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)異常 a10=2; /運(yùn)行時引發(fā)一個 ArrayIndexOutOfBoundsException(數(shù)組下標(biāo)越界)異常float arr =new 數(shù)組的
10、長度可通過.lengtha(a.length)3.3.1所定義的數(shù)組都是 ObjectArray的子類,它有一個實(shí)例變量“l(fā)ength一個基本類型,都有一個相應(yīng)的 Array 的子類。同理,每一個類也都有一個相應(yīng)ArraynewThreadn 創(chuàng)建一個 Thread類 AB 的超類,那么,AB的超類,見下圖:A4. 類類(class稱之為派生(derived稱為超類(super class)類的派生具有傳遞性: BA的子類,CBCA的子erfacedoc_ comment modifer class class /*2erfaceerfacepublic class s /* pr class
11、 able po extends s implements ablepublic void ( ) class class /*2erfaceerfacepublic class s /* pr class able po extends s implements ablepublic void ( ) class float classextends Java 語言僅支持單繼承,通過一個被稱作“界面”的機(jī)制,來支持某些在4.1JavaaB 是ABAAB (narrowing)的強(qiáng)制。從一個類到其子類的強(qiáng)制轉(zhuǎn)換在運(yùn)行時要作例行的檢查以確保這個對象就是其子類的ame) 其中。name = cla
12、ss ClassA/ClassB 是ClassAString class void test( ) b=new ClassB( ); ln ();/打?。?4.2 方法方法(method。但是他們卻只能在類中實(shí)現(xiàn)(Java s不是構(gòu)造函數(shù)的方法不返回任何值,那么它必須有一個 void 的返回類型。class Rectangle String class void test( ) b=new ClassB( ); ln ();/打?。?4.2 方法方法(method。但是他們卻只能在類中實(shí)現(xiàn)(Java s不是構(gòu)造函數(shù)的方法不返回任何值,那么它必須有一個 void 的返回類型。class Rect
13、angle void vertex for i=0; i=100; Java類或其 超 類中使 用 過,從 而 實(shí)現(xiàn)方 法 的覆蓋 (overriding) 及重載(overloadding相同的參數(shù)表(包括個數(shù)、位置及類型)的方法,必須返回相同的類型。若這樣的兩個方法有不同的返回類型,將會產(chǎn)生一個編譯錯誤。4.2.1 實(shí)例變量實(shí)例變量(instance variables)是指那些在類內(nèi),但在方法的作用域之外尚未被 sic標(biāo)記的變(參照“靜態(tài)方法,變量及初始下面是一個實(shí)例變量 j 具有初始化值的例子:class j 4.2.2 thissuperthis代表了當(dāng)前對象。例如: 一個對象可能需要把自己作為參數(shù)傳給另一個對象的class MyC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糖尿病模型討論與分析
- 物業(yè)客服部員工培訓(xùn)
- 露天礦山安全培訓(xùn)課件經(jīng)典
- 互聯(lián)網(wǎng)平臺會計(jì)勞動合同
- 城市綜合體外保溫施工合同
- 生物科技辦公樓施工承包合同
- 山東影劇院建設(shè)合同
- 墻紙施工合同幼兒園歡樂世界
- 地下商場建設(shè)鉆探施工合同
- 教育信息化項(xiàng)目招投標(biāo)攻略
- 溝通英語聽力原文Unit-2-NVC
- 客戶服務(wù)管理七大原則
- 斜井常閉式防跑車裝置設(shè)計(jì)說明書
- 心理健康教育教學(xué)中的語言藝術(shù)文檔
- 購買文件登記表.doc
- 弧長與扇形的面積教學(xué)設(shè)計(jì)范文
- [山東]建筑工程施工技術(shù)資料管理規(guī)程表格
- 《葫蘆絲演奏的入門練習(xí)》教學(xué)設(shè)計(jì)
- 噪聲傷害事故PPT課件
- 四川省農(nóng)業(yè)水價綜合改革試點(diǎn)末級渠系工程建設(shè)項(xiàng)目實(shí)施方案
- 企業(yè)如何提高員工安全意識探究
評論
0/150
提交評論