要編寫Java程序,首先應該知道Java程序文件中必須包括什麼內容,Java程序的源程序文件結構如下:
package語句,0~1句,必須放在文件開始,作用是把當前文件放入所指向的包中。import語句,0~多句,必須放在所有類定義之前,用來引入標准類或已有類。publicclassDefinition,0~1句,文件名必須與類的類名完全相同。classDefinition,0~多句,類定義的個數不受限制。
interfaceDefinition,0~多句,介面定義的個數不受限制。Java程序的源代碼文件要求包含三個要素:
1)以package開始的包聲明語句,此句為可選。若有,且只能有一個package語句且只能是源程序文件的第一個語句,若沒有,此文件將放到默認的當前目錄下。
2)以import開始的類引入聲明語句,數量可以是任意個。
3)classDefinition和interfaceDefinition分別代表類和介面的定義。由public開始的類定義只能有一個,且要求源程序文件名必須和public類名相同,Java語言對字元的大小寫敏感,因此文件名相同意味著字母大小寫也完全相同。如果源程序文件中有主方法main(),它應放在public類中。這三個要素在程序中必須嚴格按上述順序出現。
2.類的構成
Java程序都是由類(class)所組成的,類的概念的產生是為了讓程序語言能更清楚地表達出現實事物的本性。在Java中,類就是用於創建對象的模板,包含了特定對象集合的所有特性。Java類由兩種不同的信息構成:屬性和行為。
屬性由一系列區別對象的數據組成,可用於確定屬於類的對象的外觀、狀態和其他性質。在Java程序中,屬性往往以類的成員變數形式出現。
行為指類對象對本身和其他對象所可以完成的事情,可以用於修改對象的屬性,接收來自其他對象的信息和向其他要求執行任務的對象發送信息。在Java中,行為往往以一段小程序的形式出現,Java稱這種小程序為「方法」(method)。統稱為類的成員方法。
Java中類定義的語法形式為:
修飾符class<類名>[extend<父類名>]{type類變數1;type類變數2;
成員變數修飾符type<類方法名1>(參數列表){type局
部變數;方法體
}修飾符type<類方法名2>(參數列表){type局部變數;方法體
}成員方法}
其中class是Java的關鍵字,表明其後定義的是一個類。class前面的修飾符用來限定所定義的類的使用方式。類名是用戶為該類起的名字,應該是一個合法的標識符。緊接著類定義語句的大括弧之間的內容稱為類主體。type指的是變數或方法的數據類型。類主體由成員變數和成員方法兩部分組成。
以上所有提到或未提到的概念,在後面的章節中將詳細為大家介紹。
3.注釋語句的添加
在開發Java程序的過程中,經常需要在適當的地方加上注釋語句,以便其他人閱讀
程序,一般來說,Java語言的源文件中,任何地方都可以加註釋語句,一個好的程序應該在
其需要的地方適當地加上一些注釋,以便於其他人閱讀並理解程序。
注釋語句有三種格式:
1)//注釋內容用於注釋一行語句。
2)/ˇ注釋內容ˇ/用於注釋一行或多行語句。
3)/ˇˇ注釋內容ˇˇ/用於注釋一行或多行語句且注釋語句中的內容可以通過使用Javadoc生成API文檔,實現文檔與程序同步實現的功能。
2. android應用工程文件結構有哪些
在Eclipse中,一個基抄本的Android項目的目襲錄結構如圖所示。
1. src目錄--程序文件
在裡面保存了程序員辛辛苦苦直接編寫的程序文件。和一般的Java項目一樣,src目錄下保存的是項目的所有包及源文件(.java),res目錄下包含了項目中的所有資源。例如,程序圖標(drawable)、布局文件(layout)和常量(values)等。不同的是,在Java項目中沒有gen目錄,也沒有每個Android項目都必須有的AndroidManifest.xml文件。
.java格式的文件是在建立項目時自動生成的,這個文件是只讀模式,不能更改。R.java文件是定義該項目所有資源的索引文件。
2. AndroidManifest.xml文件--設置文件
AndroidManifest.xml是一個控制文件,在裡麵包含了該項目中所使用的Activity、Service、Receiver
3. nc程序的結構包括哪些內容
一個NC程序由一系列程序段(見後續章節)構成。每個程序段說明一個加工步驟,在一個程序段中以「字」的形式寫出各個指令,在加工步驟中,最後一個程序段包含一個特殊字,表明程序段結束:M02,M30。
一個加工程序是由一系列順序執行的程序段組成,每個程序段單獨佔一行,每一個程序段執行一個加工步驟、邏輯處理或數學運算功能。
程序名以字母開頭,只能由字母、數字或下劃線組成;
1、不能使用分隔符;
2、區分大小寫;
3、不能與系統中標准循環相重名;
4、小數點作為文件的擴展名,主程序後綴名可兼容多種格式,如(txt、iso等等);
5、子程序後綴名必須為iso;
6、程序名不能超過32個字元。
4. 可執行程序的文件結構
EXE 文件比較復雜,每個EXE文件都有一個文件頭,結構如下。
EXE文件頭的信息
├偏移量┤ 意義 ┤
├00h-01h ┤MZ'EXE文件標記 ┤
├02h-03h ┤最後一頁的位元組數(每頁512B) ┤
├04h-05h ┤文件長度(位元組數)除以512的商+1 -| ┤
├06h-07h ┤重定位項的個數 ┤
├08h-09h ┤文件頭除16的商 ┤
├0ah-0bh ┤程序運行所需最小段數 ┤
├0ch-0dh ┤..............大.... ┤
├oeh-0fh ┤堆棧段的段值 (SS) ┤
├10h-11h ┤........sp ┤
├12h-13h ┤文件校驗和 ┤
├14h-15h ┤IP ┤
├16h-17h ┤CS ┤
├18h-19h ┤............ ┤
├1ah-1bh ┤............ ┤
├1ch ┤............ ┤
―――――――――――――――――――――――――
.EXE文件包含一個文件頭和一個可重定位程序映象。文件頭包含MS-DOS用於載入程序的信息,例如程序的大小和寄存器的初始值。文件頭還指向一個重定位表,該表包含指向程序映象中可重定位段地址的指針鏈表。文件頭的形式與EXEHEADER結構對應:
EXEHEADER STRUC
exSignature dw 5A4Dh ;.EXE標志
exExraBytes dw ;最後(部分)頁中的位元組數
exPages dw ;文件中的全部和部分頁數
exRelocItems dw ;重定位表中的指針數
exHeaderSize dw ;以位元組為單位的文件頭大小
exMinAlloc dw ;最小分配大小
exMaxAlloc dw ;最大分配大小
exInitSS dw ;初始SS值
exInitSP dw ;初始SP值
exChechSum dw ;補碼校驗值
exInitIP dw ;初始IP值
exInitCS dw ;初始CS值
exRelocTable dw ;重定位表的位元組偏移量
exOverlay dw ;覆蓋號
EXEHEADER ENDS程序映象
包含處理器代碼和程序的初始數據,緊接在文件頭之後。它的大小以位元組為單位,等於EXE文件的大小減去文件頭的大小,也等於exHeaderSize的域的值乘以16。MS-DOS通過把該映象直接從文件拷貝到內存載入.EXE程序然後調整定位表中說明的可重定位段地址。
定位表是一個重定位指針數組,每個指向程序映象中的可重定位段地址。文件頭中的exRelocItems域說明了數組中指針的個數,exRelocTable域說明了分配表的起始文件偏移量。每個重定位指針由兩個16位值組成:偏移量和段值。 為載入.EXE程序,MS-DOS首先讀文件頭以確定.EXE標志並計算程序映象的大小。然後它試圖申請內存。首先,它計算程序映象文件的大小加上PSP的大小再加上EXEHEADER結構中的exMinAlloc域說明的內存大小這三者之和,如果總和超過最大可用內存塊的大小。則MS-DOS停止載入程序並返回一個出錯值。如果總和沒超過最大可用內存塊的大小,它便計算程序映象的大小加上PSP的大小再加上EXEHEADER結構中exMaxAlloc域說明的內存大小之和,如果第二個總和小於最大可用內存塊的大小,則MS-DOS 分配計算得到的內存量。否則,它分配最大可用內存塊。分配完內存後,MS-DOS確定段地址,也稱為起始段地址,MS-DOS從此處載入程序映象。如果exMinAlloc域和exMaxAlloc域中的值都為零,則MS-DOS把映象盡可能地載入到內存最高端。否則,它把映象載入到緊挨著PSP域之上。接下來,MS-DOS讀取重定位表中的項目調整所有由可重定位指針說明的段地址。對於重定位表中的每個指針,MS-DOS尋找程序映象中相應的可重定位段地址,並把起始段地址加到它之上。一旦調整完畢,段地址便指向了內存中被載入程序的代碼和數據段。 MS-DOS在所分配內存的最低部分建造256位元組的PSP,把AL和AH設置為載入 .COM程序時所設置的值。MS-DOS使用文件頭中的值設置SP與SS,調整SS初始值,把起始地址加到它之上。MS-DOS還把ES和DS設置為PSP的段地址.最後,MS-DOS從程序文件頭讀取CS和IP的初始值,把起始段地址加到CS之 上,把控制轉移到位於調整後地址處的程序。