java閱讀入門經(jīng)典概述_第1頁
java閱讀入門經(jīng)典概述_第2頁
java閱讀入門經(jīng)典概述_第3頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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 虛機器碼?2. 詞法問題在編譯的過程中,Java 源程序代碼中的字符被劃分為一系列的標記(token)。Java 編譯器可以識別五種標記: 標識符、關(guān)鍵字、字面量、運算符以及特殊分隔符。注釋以及諸如空格、制表符、換行符等字符 ,都不屬于標識之列,但他們卻常被用來分隔標記。JavaUnicode在編譯前轉(zhuǎn)換成 Unicode。2.1/text/*text*/從/*到*/* text *2.2 標識符標識符的首字符必須是一個字母,下劃線(_符號($0-9Java*大寫字母小寫字母泛代碼(Unicode)中所有字符編碼在十六進制數(shù)

3、 00C0 之前的字符。標識符中,首字母后的字符可以是任意的。當然,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ù)可有三種表示形式: 十進制,八進制和十六進制。0(有時式。以 0 開頭的整型字面量,意味著它是一

4、個十六進制的。十六進制整數(shù)可以包括數(shù)字 0-9 以及字母 a-f 及 A-F。八進制整數(shù)中則只能是出現(xiàn)數(shù)字 0-7。在超32long一個整型字面量可通過加后綴 Lllong2.3abstract default goto*null synchronized fsicvoidclassfloat nativesuperwhileconst * fornew 2.4 字面量字面量(literal)是某些類型值的基本表述,這些類型包括整型2.4.1 整型字面量整數(shù)可有三種表示形式: 十進制,八進制和十六進制。0(有時式。以 0 開頭的整型字面量,意味著它是一個十六進制的。十六進制整數(shù)可以包括數(shù)字 0

5、-9 以及字母 a-f 及 A-F。八進制整數(shù)中則只能是出現(xiàn)數(shù)字 0-7。在超32long一個整型字面量可通過加后綴 Lllong22L07772.4.2外加或者一個小數(shù)點或者一個 e(或 E),下面舉一些浮點字面量的例子: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 十六進制數(shù) xdd 泛代碼字符

6、 0 xddddudddd2.4.5 串字面量雙引號引起的零個或多個字符的序列。每個串字面量被看作是一個串對象,而并非是一個字符的數(shù)組,例如“ac”創(chuàng)建了一個新的串類的實例。下面的都是合法的串字面量: is a stringis a two-line + %&*/ ; +- +=-3. 類型任何一個變量或表達式都有一個類型,類型決定變量可能的取值范圍,決定對這些值允許的操作,以及這些操作的意義是什么。Java 語言中提供復(fù)合類型建立在簡單類型的基礎(chǔ)上。Java+ %&*/ ; +- +=-3. 類型任何一個變量或表達式都有一個類型,類型決定變量可能的取值范圍,決定對這些值允許的操作,以及這些操

7、作的意義是什么。Java 語言中提供復(fù)合類型建立在簡單類型的基礎(chǔ)上。Java CC+中相似,但有兩點區(qū)別: 其一,所有的整數(shù)類型均是獨立于機器的;其二,對某些傳統(tǒng)的定義作出改變,C81632及 64 位的寬度, 并且均是有符號的(signed) 。如下所示:寬度類型名64long 型僅僅決定變量的算術(shù)性質(zhì)以及合法的取值范圍。如果把一個超出合法范圍的值賦給一變量,那么這個值將是對合法值域取模后的值。浮點類型關(guān)鍵字 float 表示單精度(32 位),而 double 則表示雙精度 (64floatfloatdouble型,則結(jié)果為 double 型。浮點運算及數(shù)據(jù)格式按 IEEE754 中的定義

8、,細節(jié)問題請參閱 “附錄 A: 浮點”中有關(guān)浮點實現(xiàn)的細節(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-運行時一個ArrayIndexOutOfBoundsException(數(shù)組下標越界)異常 a10=2; /運行時引發(fā)一個 ArrayIndexOutOfBoundsException(數(shù)組下標越界)異常float arr =new

9、 數(shù)組的長度可通過.lengtha(a.length)3.3.1所定義的數(shù)組都是 ObjectArray的子類,它有一個實例變量“l(fā)ength一個基本類型,都有一個相應(yīng)的 Array 的子類。同理,每一個類也都有一個相應(yīng)ArraynewThreadn 創(chuàng)建一個 Threadiarray iarray;byte f(byte a=new a1=a0+a2;a-運行時一個ArrayIndexOutOfBoundsException(數(shù)組下標越界)異常 a10=2; /運行時引發(fā)一個 ArrayIndexOutOfBoundsException(數(shù)組下標越界)異常float arr =new 數(shù)組的

10、長度可通過.lengtha(a.length)3.3.1所定義的數(shù)組都是 ObjectArray的子類,它有一個實例變量“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 語言僅支持單繼承,通過一個被稱作“界面”的機制,來支持某些在4.1JavaaB 是ABAAB (narrowing)的強制。從一個類到其子類的強制轉(zhuǎn)換在運行時要作例行的檢查以確保這個對象就是其子類的ame) 其中。name = cla

12、ss ClassA/ClassB 是ClassAString class void test( ) b=new ClassB( ); ln ();/打印: 4.2 方法方法(method。但是他們卻只能在類中實現(xiàn)(Java s不是構(gòu)造函數(shù)的方法不返回任何值,那么它必須有一個 void 的返回類型。class Rectangle String class void test( ) b=new ClassB( ); ln ();/打?。?4.2 方法方法(method。但是他們卻只能在類中實現(xiàn)(Java s不是構(gòu)造函數(shù)的方法不返回任何值,那么它必須有一個 void 的返回類型。class Rect

13、angle void vertex for i=0; i=100; Java類或其 超 類中使 用 過,從 而 實現(xiàn)方 法 的覆蓋 (overriding) 及重載(overloadding相同的參數(shù)表(包括個數(shù)、位置及類型)的方法,必須返回相同的類型。若這樣的兩個方法有不同的返回類型,將會產(chǎn)生一個編譯錯誤。4.2.1 實例變量實例變量(instance variables)是指那些在類內(nèi),但在方法的作用域之外尚未被 sic標記的變(參照“靜態(tài)方法,變量及初始下面是一個實例變量 j 具有初始化值的例子:class j 4.2.2 thissuperthis代表了當前對象。例如: 一個對象可能需要把自己作為參數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論