1. 程式人生 > >畢向東——JAVA基礎——工具類、API生成

畢向東——JAVA基礎——工具類、API生成

    靜態的應用:將每個類中共有的功能進行抽取,獨立封裝,以便複用。
/**
 * 這是一個對陣列進行操作的工具類,該類提供了獲取最值、排序等功能。
 * @author CongYao
 * @version V1.1
 */
public class ArrayTool {
	/**
	 * 構造方法私有化 
	 */
	private ArrayTool(){
		
	}
	
	/**
	 * 獲取一個int型陣列中的最大值
	 * @param arr 接收一個int型別的陣列
	 * @return 返回該陣列中的最大值
	 */
	public static int getMax(int[] arr){
		int maxIndex=0;
		for(int i=1;i<arr.length;i++){
			if(arr[i]>arr[maxIndex])
				maxIndex=i;//如果arr[i]>最大值,改變最大值的下標為i
		}
		return arr[maxIndex];
	}
	
	/**
	 * 獲取一個int型陣列中的最小值
	 * @param arr 接收一個int型別的陣列
	 * @return 返回該陣列中的最小值
	 */
	public static int getMin(int[] arr){
		int minIndex=0;
		for(int i=1;i<arr.length;i++){
			if(arr[i]<arr[minIndex])
				minIndex=i;//如果arr[i]<最小值,改變最小值的下標為i
		}
		return arr[minIndex];
	}
		
	/**
	 * 給int型陣列進行氣泡排序
	 * @param arr 接收一個int型別的陣列
	 */
	public static void bubbleSort(int[] arr){
		for(int i=0;i<arr.length-1;i++){
			for(int j=0;j<arr.length-1-i;j++){
				if(arr[j]>arr[j+1])
					swap(arr,j,j+1);
			}
		}
	}
	
	/**
	 * 給int型陣列進行選擇排序
	 * @param arr 接收一個int型別的陣列
	 */
	public static void selectSort(int[] arr){
		for(int i=0;i<arr.length-1;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[j]<arr[i])
					swap(arr,i,j);
			}
		}
	}
	
	/**
	 * 將陣列中兩元素進行位置替換
	 * @param arr 接收一個int型別的陣列
	 * @param i 要替換的位置
	 * @param j 要替換的位置
	 */
	private static void swap(int[] arr,int i,int j){
		int temp=arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
	}
	
	/**
	 * 列印陣列中的元素,格式[element1, element2, ...]
	 * @param arr 接收一個int型別的陣列
	 */
	public static void printArray(int[] arr){
		System.out.print("["+arr[0]);
		for(int i=1;i<arr.length;i++)
			System.out.print(", "+arr[i]);
		System.out.println("]");
	}
}
public class ArrayToolDemo {

	public static void main(String[] args) {
		int[] arr={23,45,5,34,2,57,432,89};
		syso("maxValue="+ArrayTool.getMax(arr));//列印最大值
		syso("minValue="+ArrayTool.getMin(arr));//列印最小值
		ArrayTool.printArray(arr);//列印陣列元素
		ArrayTool.selectSort(arr);//排序
		ArrayTool.printArray(arr);//列印排序後陣列元素
	}

	public static void syso(String str){
		System.out.println(str);
	}
}
ArrayTool類並未封裝特有資料,運算元組中每一個方法並未使用ArrayTool中資料,考慮不需要物件:
將方法都設定為靜態;構造方法私有化使其不能建立物件。

將ArrayTool.class檔案傳送給其它人,將該檔案放到classpath路徑下,就可以使用該工具類。
需要通過文件註釋編寫該類的說明書。幫助文件也叫API,Application Program Interface。

寫好文件註釋/** */後,通過javadoc生成API。javadoc -d myhelp -author -version ArrayTool.java
該文件以網頁形式體現,儲存至資料夾中,如果當前目錄沒有該資料夾,建一個,也可以指定目錄c:\myhelp;
如果想體現作者和版本,加-author -version;
如果想把一個類生成幫助文件,類必須用public修飾。

開啟index.html,只有public和protected註釋才會被提取。


相關推薦

——JAVA基礎——工具API生成

    靜態的應用:將每個類中共有的功能進行抽取,獨立封裝,以便複用。/** * 這是一個對陣列進行操作的工具類,該類提供了獲取最值、排序等功能。 * @author CongYao * @ver

Java基礎知識總結(超級經典)

Java基礎知識總結(超級經典)   寫程式碼:     1,明確需求。我要做什麼?     2,分析思路。我要怎麼做?1,2,3。     3,確定步驟。每一個思路部分用到哪些語句,方法,和物件。     4,程式碼實現。用具體的java語言程式碼把思路體現出來。 &nbs

——JAVA基礎——異常

1、電腦丟擲問題,老師來處理,處理不了再丟擲/* 畢老師用電腦上課。 上課中可能出現的問題:電腦藍屏、電腦冒煙。 對問題進行描述,封裝成物件。 冒煙發生後,出現講課無法繼續, 出現了講師問題:課時計

Java基礎視訊教程(含課件和原始碼)

本套視訊是傳智播客畢向東老師Java基礎班的25天全程實錄視訊教程,適合零基礎同學學習的Java基礎視訊教程。 內容涉及到的知識點: 1、計算機基本原理,Java語言發展簡史,Java開發環境的搭建,體驗Java程式的開發,環境變數path和classpath的設定,Java程式的執行過程,Java反編譯工具

——JAVA基礎——繼承和抽象

1、繼承和抽象應用/* 假如我們在開發一個系統時需要對員工進行建模,員工包含 3 個屬性: 姓名、工號以及工資。經理也是員工,除了含有員工的屬性外,另為還有一個 獎金屬性。請使用繼承的思想設計出員工類和

Java基礎知識__Java基礎視頻教程筆記(5-10)

efi color 逗號 ret 語句 簡單的 靜態成員 throws 解決 06天-05-面向對象(幫助文檔的制作javadoc):java文檔生成命令:javadoc -d filepatn demo.java -author -version(可選)一個類中默認會

Java基礎知識__Java基礎視頻教程筆記(13)

書寫 線程 定位 obi binarys hexstring 替換 ringbuf 3.5 13天-01-String  String類適用於描述字符串事物。  常見的操作:1.獲取:   1.1字符串中包含的字符數,也就是字符串的長度。 int length():獲取長度

Java視訊學習筆記【Day11 異常+object

Java_Day11 異常+object 異常 異常:是在執行時期發生的不正常情況。。 在java中用類的形式對不正常情況進行了描述和封裝物件。 描述不正常的情況的類,就稱為異常類。 以前正常流程程式碼和問題處理程式碼相結合, 現在將正常流程程式碼和問題處理程式碼分離

黑馬程式設計師:java視訊之基礎

一、學習java預備工作: 1、dos命令列 dir:列出當前目錄下的檔案和資料夾 md:建立目錄 rd:刪除目錄 del:刪除檔案 exit::推出dos命令列 2、java特性:與平臺無關 原理:在執行java應用程

致敬java視頻

目錄 傳智播客 編程思想 容易 區別 裏的 編譯 系統 elisp 大一: 轉專業之前在網易雲公開課看過麻省理工的線代收益頗多, 大二上學期: 在網易雲上看了阿發的c,反復看了五六遍,感覺不難又總感覺少點什麽,後來看了好斌(優秀的專科老師)豁然開朗,看了兩遍。好斌的數據結構

Java基礎--->抽象介面內部類異常等

/* 畢老師用電腦上課。 開始思考上課中出現的問題。 比如問題是 電腦藍屏。 電腦冒煙。 要對問題進行描述,封裝成物件。 可是當冒煙發生後,出現講課進度無法繼續。 出現了講師的問題:課時計劃無法完成。 */ class LanPingException extends Exceptio

Java視訊D102

JVM(Java vitural machine),即Java虛擬機器,由JVM來負責Java程式在該系統中的執行。 JRE(java runtime environment,java執行環境): 包括JVM和Java程式所需的核心類庫等,如果想要執行一個已經開

Java基礎工具(1)_常用——用戶和程序交互

size 數據 輸入 方法 main方法 main scanner類 style 輸入數據 2018-05-12 用戶和程序交互 程序接受用戶的輸入數據,有以下三種方式 一、main方法接受參數 二、Console 三、Scanner類 三、Java基

Java基礎工具(1)_常用——數學相關

ref .com 工具 www 小數 spa -- 指數 target 2018-05-13 數學相關類 一、Math類    Java 的 Math 包含了用於執行基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函數。   Math 的方法都被定義為 s

Java基礎工具(1)_常用——日期

for 我們 size CA calendar 大量 col -- bsp 2018-05-14 日期類 一、Date類   講java.util.Date,類 Date 表示特定的瞬間,精確到毫秒。   Date類中大量方法讀已經過時,過時不代表不存在,依然可以

java基礎 第十二章(異常處理工具集合)

重寫 trac com int 出現異常 sta 順序存儲 空指針異常 處理 一、異常處理 1.兩種異常: (1)程序員自身問題(運行時異常) (2)外界問題(可控異常) 2.兩種異常的詳細說明 (1)運行時異常

java基礎day8

1. Throwalbe有兩個子類:Error和Exception 一般的異常類裡面有三個得到異常資訊的方法: getMessage() :獲取異常資訊; toString():獲取異常類名和異常資訊; printStackTrace():獲取異常類名和異常資訊,以及異常出

java基礎-day6-8

1.只有類才存在靜態的變數 方法只能對靜態變數的操作 不能在方法內試圖定義靜態變數否則的話會丟擲編譯錯誤。     靜態變數的本意是為了讓所有的物件共享這個變數,如果在方法裡面定義靜態變數的話就存在邏輯錯誤了,也達不到你想要目的. 因為在方法定義靜態變數根本沒有他的任何

java基礎學習——9抽象

res 學生類 pub 抽象方法 學習 java study 都是 不同的 一、抽象類的概念和定義 在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。 抽象