當前位置:首頁 » 編程軟體 » java編譯器使用說明書

java編譯器使用說明書

發布時間: 2022-09-24 18:27:39

java企業軟體開發設計說明書如何做

1、組織與風格(1).關鍵詞和操作符之間加適當的空格。(2).相對獨立的程序塊與塊之間加空行(3).較長的語句、表達式等要分成多行書寫。(4).劃分出的新行要進行適應的縮進,使排版整齊,語句可讀。(5).長表達式要在低優先順序操作符處劃分新行,操作符放在新行之首。(6).循環、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分。(7).若函數或過程中的參數較長,則要進行適當的劃分。(8).不允許把多個短語句寫在一行中,即一行只寫一條語句。(9).函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要採用縮進風格。註:如果大家有興趣可以到安安DIY創作室博客,有相關說明性的文章和解釋。2、註解Java 的語法與 C++ 及為相似,那麼,你知道 Java 的注釋有幾種嗎?是兩種?// 注釋一行/* ...... */ 注釋若干行不完全對,除了以上兩種之外,還有第三種,文檔注釋:/** ...... */ 注釋若干行,並寫入 javadoc 文檔注釋要簡單明了。String userName = null; //用戶名邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。在必要的地方注釋,注釋量要適中。注釋的內容要清楚、明了,含義准確,防止注釋二義性。保持注釋與其描述的代碼相鄰,即注釋的就近原則。對代碼的注釋應放在其上方相鄰位置,不可放在下面。對數據結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋應放在此域的右方;同一結構中不同域的注釋要對齊。變數、常量的注釋應放在其上方相鄰位置或右方。全局變數要有較詳細的注釋,包括對其功能、取值范圍、哪些函數或過程存取它以及存取時注意事項等的說明。在每個源文件的頭部要有必要的注釋信息,包括:文件名;版本號;作者;生成日期;模塊功能描述(如功能、主要演算法、內部各部分之間的關系、該文件與其它文件關系等);主要函數或過程清單及本文件歷史修改記錄等。/*** Copy Right Information : Neusoft IIT* Project : eTrain* JDK version used : jdk1.3.1* Comments : config path* Version : 1.01* Modification history :2003.5.1* Sr Date Modified By Why & What is modified* 1. 2003.5.2 Kevin Gao new**/在每個函數或過程的前面要有必要的注釋信息,包括:函數或過程名稱;功能描述;輸入、輸出及返回值說明;調用關系及被調用關系說明等/*** Description :checkout 提款* @param Hashtable cart info* @param OrderBean order info* @return String*/public String checkout(Hashtable htCart,OrderBean orderBean)throws Exception{}javadoc注釋標簽語法@author 對類的說明 標明開發該類模塊的作者@version 對類的說明 標明該類模塊的版本@see 對類、屬性、方法的說明 參考轉向,也就是相關主題@param 對方法的說明 對方法中某參數的說明@return 對方法的說明 對方法返回值的說明@exception 對方法的說明 對方法可能拋出的異常進行說明3、命名規范定義這個規范的目的是讓項目中所有的文檔都看起來像一個人寫的,增加可讀性,減少項目組中因為換人而帶來的損失。(這些規范並不是一定要絕對遵守,但是一定要讓程序有良好的可讀性)較短的單詞可通過去掉母音形成縮寫;要不然最後自己寫的代碼自己都看不懂了,那可不行。較長的單詞可取單詞的頭幾發符的優先順序,並用括弧明確表達式的操作順序,避免使用默認優先順序。使用匈牙利表示法Package 的命名Package 的名字應該都是由一個小寫單片語成。package com.neu.utilClass 的命名Class 的名字必須由大寫字母開頭而其他字母都小寫的單片語成,對於所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。public class ThisAClassName{}Class 變數的命名變數的名字必須用一個小寫字母開頭。後面的單詞用大寫字母開頭userName , thisAClassMethodStatic Final 變數的命名static Final 變數的名字應該都大寫,並且指出完整含義。/***DBConfig PATH**/public static final StringDB_CONFIG_FILE_PATH =com.neu.etrain.dbconfig;參數的命名參數的名字必須和變數的命名規范一致。數組的命名數組應該總是用下面的方式來命名:byte[] buffer;而不是:byte buffer[];方法的參數使用有意義的參數命名,如果可能的話,使用和要賦值的欄位一樣的名字:SetCounter(int size){this.size = size;}4、文件樣式所有的 Java(*.java) 文件都必須遵守如下的樣式規則:版權信息版權信息必須在 java 文件的開頭,比如:/** Copyright ? 2000 Shanghai XXX Co. Ltd.* All right reserved.*/其他不需要出現在 javadoc 的信息也可以包含在這里。Package/Importspackage 行要在 import 行之前,import 中標準的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個包中的不同子目錄,則應該用 * 來處理。package hotlava.net.stats;import java io.*;import java.util.Observable;import hotlava.util.Application;這里 java。io.* 使用來代替InputStream and OutputStream 的。Class接下來的是類的注釋,一般是用來解釋類的。/*** A class representing a set of packet and byte counters* It is observable to allow it to be watched, but only* reports changes when the current set is complete*/接下來是類定義,包含了在不同的行的 extends 和 implementspublic class CounterSetextends Observableimplements CloneableClass Fields接下來是類的成員變數:/*** Packet counters*/protected int[] packets;public 的成員變數必須生成文檔(JavaDoc)。proceted、private和 package 定義的成員變數如果名字含義明確的話,可以沒有注釋。存取方法接下來是類變數的存取的方法。它只是簡單的用來將類的變數賦值獲取值的話,可以簡單的寫在一行上。/*** Get the counters* @return an array containing the statistical data. This array has been* freshly allocated and can be modified by the caller.*/public int[] getPackets() { return Array(packets, offset); }public int[] getBytes() { return Array(bytes, offset); }public int[] getPackets() { return packets; }public void setPackets(int[] packets) { this.packets = packets; }其它的方法不要寫在一行上構造函數接下來是構造函數,它應該用遞增的方式寫(比如:參數多的寫在後面)。訪問類型 (public, private 等.) 和 任何 static, final 或 synchronized 應該在一行中,並且方法和參數另寫一行,這樣可以使方法和參數更易讀。publicCounterSet(int size){this.size = size;}克隆方法如果這個類是可以被克隆的,那麼下一步就是 clone 方法:publicObject clone() {try {CounterSet obj = (CounterSet)super.clone();obj.packets = (int[])packets.clone();obj.size = size;return obj;}catch(CloneNotSupportedException e) {throw new InternalError(Unexpected CloneNotSUpportedException: +e.getMessage());}}類方法下面開始寫類的方法:/*** Set the packet counters* (such as when restoring from a database)*/protected finalvoid setArray(int[] r1, int[] r2, int[] r3, int[] r4)throws IllegalArgumentException{//// Ensure the arrays are of equal size//if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length)throw new IllegalArgumentException(Arrays must be of the same size);System.array(r1, 0, r3, 0, r1.length);System.array(r2, 0, r4, 0, r1.length);}toString 方法無論如何,每一個類都應該定義 toString 方法:publicString toString() {String retval = CounterSet: ;for (int i = 0; i < data.length(); i++) {retval += data.bytes.toString();retval += data.packets.toString();}return retval;}}main 方法如果main(String[]) 方法已經定義了, 那麼它應該寫在類的底部.5、代碼可讀性避免使用不易理解的數字,用有意義的標識來替代。不要使用難懂的技巧性很高的語句。源程序中關系較為緊密的代碼應盡可能相鄰。6、代碼性能在寫代碼的時候,從頭至尾都應該考慮性能問題。這不是說時間都應該浪費在優化代碼上,而是我們時刻應該提醒自己要注意代碼的效率。比如:如果沒有時間來實現一個高效的演算法,那麼我們應該在文檔中記錄下來,以便在以後有空的時候再來實現她。不是所有的人都同意在寫代碼的時候應該優化性能這個觀點的,他們認為性能優化的問題應該在項目的後期再去考慮,也就是在程序的輪廓已經實現了以後。不必要的對象構造不要在循環中構造和釋放對象使用 StringBuffer 對象在處理 String 的時候要盡量使用 StringBuffer 類,StringBuffer 類是構成 String 類的基礎。String 類將 StringBuffer 類封裝了起來,(以花費更多時間為代價)為開發人員提供了一個安全的介面。當我們在構造字元串的時候,我們應該用 StringBuffer 來實現大部分的工作,當工作完成後將 StringBuffer 對象再轉換為需要的 String 對象。比如:如果有一個字元串必須不斷地在其後添加許多字元來完成構造,那麼我們應該使用StringBuffer 對象和她的 append() 方法。如果我們用 String 對象代替StringBuffer 對象的話,會花費許多不必要的創建和釋放對象的 CPU 時間。大家可以來安安DIY創作室一起討論。避免太多的使用 synchronized 關鍵字避免不必要的使用關鍵字 synchronized,應該在必要的時候再使用她,這是一個避免死鎖的好方法。7、編程技巧byte 數組轉換到 characters為了將 byte 數組轉換到 characters,你可以這么做:Hello world!.getBytes();Utility 類Utility 類(僅僅提供方法的類)應該被申明為抽象的來防止被繼承或被初始化。初始化下面的代碼是一種很好的初始化數組的方法:objectArguments = new Object[] { arguments };枚舉類型JAVA 對枚舉的支持不好,但是下面的代碼是一種很有用的模板:class Colour {public static final Colour BLACK = new Colour(0, 0, 0);public static final Colour RED = new Colour(0xFF, 0, 0);public static final Colour GREEN = new Colour(0, 0xFF, 0);public static final Colour BLUE = new Colour(0, 0, 0xFF);public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF);}這種技術實現了RED, GREEN, BLUE 等可以象其他語言的枚舉類型一樣使用的常量。他們可以用 '==' 操作符來比較。但是這樣使用有一個缺陷:如果一個用戶用這樣的方法來創建顏色 BLACK new Colour(0,0,0)那麼這就是另外一個對象,'=='操作符就會產生錯誤。她的 equal() 方法仍然有效。由於這個原因,這個技術的缺陷最好註明在文檔中,或者只在自己的包中使用。8、編寫格式代碼樣式代碼應該用 unix 的格式,而不是 windows 的(比如:回車變成回車+換行)文檔化必須用 javadoc 來為類生成文檔。不僅因為它是標准,這也是被各種 java 編譯器都認可的方法。使用 @author 標記是不被推薦的,因為代碼不應該是被個人擁有的。縮進縮進應該是每行2個空格. 不要在源文件中保存Tab字元. 在使用不同的源代碼管理工具時Tab字元將因為用戶設置的不同而擴展為不同的寬度.如果你使用 UltrEdit 作為你的 Java 源代碼編輯器的話,你可以通過如下操作來禁止保存Tab字元, 方法是通過 UltrEdit中先設定 Tab 使用的長度室2個空格,然後用 Format|Tabs to Spaces 菜單將 Tab 轉換為空格。頁寬頁寬應該設置為80字元. 源代碼一般不會超過這個寬度, 並導致無法完整顯示, 但這一設置也可以靈活調整. 在任何情況下, 超長的語句應該在一個逗號或者一個操作符後折行. 一條語句折行後, 應該比原來的語句再縮進2個字元.{} 對{} 中的語句應該單獨作為一行. 例如, 下面的第1行是錯誤的, 第2行是正確的:if (i>0) { i ++ }; // 錯誤, { 和 } 在同一行if (i>0) {i ++}; // 正確, { 單獨作為一行} 語句永遠單獨作為一行.如果 } 語句應該縮進到與其相對應的 { 那一行相對齊的位置。括弧左括弧和後一個字元之間不應該出現空格, 同樣, 右括弧和前一個字元之間也不應該出現空格. 下面的例子說明括弧和空格的錯誤及正確使用:CallProc( AParameter ); // 錯誤CallProc(AParameter); // 正確不要在語句中使用無意義的括弧. 括弧只應該為達到某種目的而出現在源代碼中。下面的例子說明錯誤和正確的用法:if ((I) = 42) { // 錯誤 - 括弧毫無意義if (I == 42) or (J == 42) then // 正確 - 的確需要括弧9、代碼編譯1.編寫代碼時要注意隨時保存,並定期備份,防止由於斷電、硬碟損壞等原因造成代碼丟失。2.同一項目組內,最好使用相同的編輯器,並使用相同的設置選項。3.合理地設計軟體系統目錄,方便開發人員使用。4.打開編譯器的所有告警開關對程序進行編譯。5.在同一項目組或產品組中,要統一編譯開關選項。6.使用工具軟體(如Visual SourceSafe)對代碼版本進行維護。如果大家有不明白的可以到安安DIY創作室留言。10、可移植性Borland Jbulider 不喜歡 synchronized 這個關鍵字,如果你的斷點設在這些關鍵字的作用域內的話,調試的時候你會發現的斷點會到處亂跳,讓你不知所措。除非必須,盡量不要使用。換行如果需要換行的話,盡量用 println 來代替在字元串中使用\n。你不要這樣:System.out.print(Hello,world!\n);要這樣:System.out.println(Hello,world!);或者你構造一個帶換行符的字元串,至少要象這樣:String newline = System.getProperty(line.separator);System.out.println(Hello world + newline);PrintStreamPrintStream 已經被不贊成(deprecated)使用,用 PrintWrite 來代替它。

Ⅱ 簡述JAVA程序的編輯編譯和運行過程

第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。

如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。

第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。

特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法<clinit>都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。

(2)java編譯器使用說明書擴展閱讀:

Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。

Java代碼編譯:是由Java源碼編譯器來完成;

Java位元組碼的執行:是由JVM執行引擎來完成

Java程序從源文件創建到程序運行要經過兩大步驟:

1、源文件由編譯器編譯成位元組碼(ByteCode)

2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( "semi-interpreted" language)。

Ⅲ java編譯器的功能是什麼編譯過程中主要完成哪些操作

主要是把.java文件編譯成.class文件,在編譯的過程中,初始化static成員,

Ⅳ JAVA的編譯器怎麼用

首先,Java編譯之後不是生成.exe文件,編譯之後只有.class文件,也就是位元組碼文件,所以你運行它只是用Java虛擬機去解釋執行,而不是操作系統直接執行,換句話說,它不是DOS程序,所以沒辦法直接像C語言編譯之後的那樣。
其次如果你把JDK的安裝目錄下的bin文件夾的路徑添加到Path環境變數的話,那麼進入命令提示符(運行對話框里輸入cmd就可以進入命令提示符),輸入:「java【空格】 類名」就可以看到類似C語言運行的效果,當然,那個類要有main方法,還有就是你輸入:「java【空格】 類名」之前,還需要在命令提示符里先進入到.class文件所在的路徑,進入的方法是輸入「cd 路徑」
再次,NetBean是個集成開發工具,不是編譯器,但是NetBean里有編譯器,它有個窗口類似於DOS窗口的,在裡面可以看到輸出,也以自己輸入命令、參數。
最後,如果學習Java的話,還是建議你系統地學習,很多入門書籍、入門視頻都有教編譯器怎麼用,怎麼運行Java程序等等各種知識的。

Ⅳ 編譯java程序需要使用什麼命令

編譯命令是 javac

  1. 首先使用記事本編輯一段簡單的Java代碼

    Ⅵ java編譯器怎麼使用

    運行-cmd
    然後進到你的源代碼所存的目錄下用下面的命令:
    javac 文件名 進行編譯,
    生成.class文件
    讓後用java 文件名就可以運行,
    記住,javac 後的文件名要有.java的後綴, java命令後面的 文件名沒有後綴

    Ⅶ JAVA編譯器API有什麼用

    編譯器就是電飯鍋,把米放進鍋里,鍋幫你蒸熟,然後才能吃!
    API就是電飯鍋的說明書,告訴你怎麼使用!
    這么說夠不夠通俗?
    你寫好的字母代碼,會被java編譯器編譯成位元組碼文件,jvm只認這玩意!
    api就是,java放在那裡工具說明書,你照著用就行了!

    Ⅷ 如何編譯java

    用命令提示符編譯java程序的步驟:


    1.先新建文本文檔,輸入自己的java程序。

    這里我寫一個簡單的java程序,來做示範。

    import java.util.*;

    public class HelloDate{

    public static void main(String[] args)

    {

    System.out.println("Hello,it's:");

    System.out.println(new Date());

    }

    }

    經驗總結:運行一個java程序的大概的流程是:

    書寫源代碼------>編譯------->運行---->結束。




    注意事項:

    1.在輸入的時候一定要注意區分大小寫。

    2.操作之前要保證自己的電腦配置了java的運行環境。

    Ⅸ Java編譯器、解釋器分別是什麼命令,舉例說明如何使用。

    javac 編譯器 用於將java源代碼文件編譯成位元組碼.
    語法: javac [option] source
    java 解釋器 用於執行java位元組碼
    語法: java [option] classname

    使用實例如下:

    Ⅹ 如何使用java編譯器

    能告訴我你用的是什麼工具嗎?
    如果是eclipse,在工具欄找名為「project」工具名,將其下拉中build automatically打上對勾,每次修改完程序,它會自動幫你編譯。
    也可以手動點,在工具欄找名為「project」工具名,將其下拉中Clean,它會根據你選的內容編譯,默認情況下是整個項目編譯。

熱點內容
安卓70能用什麼軟體 發布:2025-05-16 01:45:09 瀏覽:480
編程發展史 發布:2025-05-16 01:38:52 瀏覽:528
android圖片氣泡 發布:2025-05-16 01:38:40 瀏覽:885
文件加密編輯器下載 發布:2025-05-16 01:30:41 瀏覽:343
linuxapacheyum安裝 發布:2025-05-16 01:30:31 瀏覽:476
大連賓利浴池wifi密碼是多少 發布:2025-05-16 01:25:36 瀏覽:172
緩存數據生產服務 發布:2025-05-16 01:08:58 瀏覽:584
普通電腦伺服器圖片 發布:2025-05-16 01:04:02 瀏覽:971
伺服器地址和埠如何區分 發布:2025-05-16 01:03:17 瀏覽:834
重新編目資料庫 發布:2025-05-16 00:54:34 瀏覽:514