最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中數(shù)組的定義和使用教程(二)

 更新時間:2021年01月14日 15:33:22   作者:mrbacker  
這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的定義和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

數(shù)組與方法調(diào)用

數(shù)組是一個引用數(shù)據(jù)類型,那么所有的引用數(shù)據(jù)類型都可以為其設(shè)置多個棧內(nèi)存指向。所以在進(jìn)行數(shù)組操作的時候,也可以將其通過方法進(jìn)行處理。

范例: 方法接受數(shù)組

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = new int[] {1, 2, 3};
			printArray(data);

	}
	//定義一個專門進(jìn)行數(shù)組輸出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

在方法的參數(shù)上由于需要接受一個整型數(shù)組,所以就實現(xiàn)了一個最為基礎(chǔ)的引用傳遞操作。

范例: 方法返回數(shù)組

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = init(); //接受數(shù)組
			printArray(data);
	}
	
	//此時的方法希望可以返回一個數(shù)組類型,所以返回值類型定義為整形數(shù)組
	public static int[] init() {
		return new int[] {1, 2, 3, 4, 6};
	}

	//定義一個專門進(jìn)行數(shù)組輸出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

那么現(xiàn)在的數(shù)組上發(fā)生了引用傳遞,那么也就意味著方法接受數(shù)組之后也可以對數(shù)組進(jìn)行內(nèi)容修改。

范例: 定義一個方法,該方法可以實現(xiàn)數(shù)組的內(nèi)容的乘2

public class ArrayDemo {
	public static void main(String args[]) {
			int data[] = init();
			inc(data);
			printArray(data);
	}
	
	public static void inc(int arr[]) {
		for(int x = 0; x < arr.length; x++)
			arr[x] *= 2;
	}

	//此時的方法希望可以返回一個數(shù)組類型,所以返回值類型定義為整形數(shù)組
	public static int[] init() {
		return new int[] {1, 2, 3, 4, 6};
	}

	//定義一個專門進(jìn)行數(shù)組輸出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}		
	}
}

Java對數(shù)組的支持

在Java本身給出的類庫之中也提供有對于數(shù)組的操作的相關(guān)支持方法。

1、數(shù)組排序:java.util.Arrays.sort(數(shù)組名稱);

范例: 實現(xiàn)數(shù)組排序操作

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {5, 13, 1, 55, 77};
		char arr[] = new char[] {'D', 'C', 'F'};
		java.util.Arrays.sort(data);
		java.util.Arrays.sort(arr);
		printArray(data);
		printArray(arr);
	}

	//定義一個專門進(jìn)行數(shù)組輸出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
	public static void printArray(char temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
}

只要是基本數(shù)據(jù)類型的數(shù)組,Arrays.sort()都可以輕松地實現(xiàn)排序處理。

2、數(shù)組拷貝:指的是將一個數(shù)組的部分內(nèi)容替換掉另外一個數(shù)組的內(nèi)容

方法(加工):System.arraycopy(原數(shù)組名稱, 原數(shù)組開始點, 目標(biāo)數(shù)組名稱, 目標(biāo)數(shù)組開始點, 拷貝長度)
范例: 實現(xiàn)數(shù)組拷貝

原數(shù)組A:1、2、3、4、5、6、7、8、9;

原數(shù)組B:11、22、33、44、55、66、77、88、99;

替換后的數(shù)組A:1、55、66、77、5、6、7、8、9;

 public class ArrayDemo {
	public static void main(String args[]) {
		int dataA[] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
		int dataB[] = new int[] {11, 22, 33, 44, 55, 66, 77, 88, 99};
		System.arraycopy(dataB, 4, dataA, 1, 3);
		printArray(dataA);
	}
	//定義一個專門進(jìn)行數(shù)組輸出的方法
	public static void printArray(int temp[]) {
		for (int i = 0; i < temp.length; i++) {
			System.out.print(temp[i] + "、");
		}
		System.out.println();
	}
} 

這些基本的數(shù)組操作只能夠作為邏輯玩玩,開發(fā)用不上。

數(shù)組數(shù)據(jù)統(tǒng)計

現(xiàn)在假設(shè)給你一個數(shù)組,要求可以統(tǒng)計該數(shù)組的最大值、最小值、平均值、總和。這種操作肯定是要通過循環(huán)的操作形式完成。

范例: 基本實現(xiàn)

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {1, 2, 3, 4, 66, 5, 6, 7, 8, 9};
		int max = data[0];
		int min = data[0];
		int sum = 0;
		for(int x = 0; x < data.length; x++) {
			sum += data[x];
			if(data[x] > max) 
				max = data[x];
			if(data[x] < min)
				min = data[x];
		}
		System.out.println("最大值:" + max);
		System.out.println("最小值:" + min);
		System.out.println("數(shù)據(jù)總和:" + sum);
		System.out.println("平均值:" + (double)sum/data.length);
	}
}

此時確實實現(xiàn)了所需要的功能,但是隨之會發(fā)現(xiàn)主方法中的代碼有些多。主方法實際上就相當(dāng)于一個客戶端調(diào)用,那么既然是客戶端調(diào)用,里面的代碼應(yīng)該也越簡單越好。

范例: 改進(jìn)代碼

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = new int[] {1, 2, 3, 4, 66, 5, 6, 7, 8, 9};
		double result[] = stat(data);
		System.out.println("最大值:" + result[0]);
		System.out.println("最小值:" + result[1]);
		System.out.println("數(shù)據(jù)總和:" + result[2]);
		System.out.println("平均值:" + result[3]);
	}

	//此時需要返回的數(shù)據(jù)一共有四個,那么一個方法只能夠返回一種數(shù)據(jù)類型,所以應(yīng)該使用數(shù)組返回
	//數(shù)組[0]為最大值、數(shù)組[1]為最小值、數(shù)組[2]為數(shù)據(jù)總和、數(shù)組[3]為平均值
	public static double[] stat(int data[]) {
		double reData[] = new double[4];
		reData[0] = data[0];
		reData[1] = data[0];
		reData[2] = data[0];
		for(int x = 1; x < data.length; x++) {
			reData[2] += data[x];
		if(data[x] > reData[0]) 
			reData[0] = data[x];
		if(data[x] < reData[1])
			reData[1] = data[x];
		}
		reData[3] = reData[2] / data.length;
		return reData;
	}
}

在整個進(jìn)行程序開發(fā)的時候,主方法不要涉及到過于復(fù)雜的邏輯程序,只需要關(guān)注結(jié)果。

總結(jié)

到此這篇關(guān)于Java中數(shù)組的定義和使用的文章就介紹到這了,更多相關(guān)Java數(shù)組的定義和使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Hibernate框架數(shù)據(jù)分頁技術(shù)實例分析

    Hibernate框架數(shù)據(jù)分頁技術(shù)實例分析

    這篇文章主要介紹了Hibernate框架數(shù)據(jù)分頁技術(shù),結(jié)合實例形式分析了Hibernate框架實現(xiàn)數(shù)據(jù)分頁的原理,步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • 關(guān)于struts返回對象json格式數(shù)據(jù)的方法

    關(guān)于struts返回對象json格式數(shù)據(jù)的方法

    以下為大家介紹,關(guān)于struts返回對象json格式數(shù)據(jù)的方法,希望對有需要的朋友有所幫助。
    2013-04-04
  • Java生成UUID的常用方式示例代碼

    Java生成UUID的常用方式示例代碼

    UUID保證對在同一時空中的所有機(jī)器都是唯一的,通常平臺會提供生成的API,按照開放軟件基金會(OSF)制定的標(biāo)準(zhǔn)計算,用到了以太網(wǎng)卡地址、納秒級時間、芯片ID碼和許多可能的數(shù)字,下面這篇文章主要給大家介紹了關(guān)于Java生成UUID的常用方式,需要的朋友可以參考下
    2023-05-05
  • Spring中的循環(huán)依賴詳解

    Spring中的循環(huán)依賴詳解

    這篇文章主要介紹了Spring中的循環(huán)依賴詳解,  Spring 框架是一個流行的Java應(yīng)用程序框架,它提供了許多強(qiáng)大的功能,如依賴注入和面向切面編程,然而在使用 Spring 框架時,我們可能會遇到循環(huán)依賴的問題,需要的朋友可以參考下
    2023-09-09
  • Java集合中的Collection接口總結(jié)

    Java集合中的Collection接口總結(jié)

    這篇文章主要介紹了Java集合中的Collection接口總結(jié),Collection 接口是 List和Set接口的父接口,該接口里定義的方法既可用于操作 Set 集合,也可用于操作 List 集合,需要的朋友可以參考下
    2023-11-11
  • GC算法實現(xiàn)垃圾優(yōu)先算法

    GC算法實現(xiàn)垃圾優(yōu)先算法

    為什么會存在那么多的垃圾回收算法呢?我想這個問題的答案可能是沒有任何一種內(nèi)存回收算法是完美的,所以在針對不同的情景需求下,不同的內(nèi)存回收算法有其獨特的優(yōu)勢,所以最后就延續(xù)了多種回收算法
    2022-01-01
  • 實例分析java對象的序列化和反序列化

    實例分析java對象的序列化和反序列化

    序列化 (Serialization)是將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或傳輸?shù)男问降倪^程。一般將一個對象存儲至一個儲存媒介,例如檔案或是記億體緩沖等。在網(wǎng)絡(luò)傳輸過程中,可以是字節(jié)或是XML等格式。而字節(jié)的或XML編碼格式可以還原完全相等的對象。這個相反的過程又稱為反序列化
    2018-09-09
  • java實現(xiàn)上傳文件到服務(wù)器和客戶端

    java實現(xiàn)上傳文件到服務(wù)器和客戶端

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)上傳文件到服務(wù)器和客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • idea引入外部jar包的方法實現(xiàn)

    idea引入外部jar包的方法實現(xiàn)

    本文主要介紹了idea引入外部jar包的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • MyBatis中#{}和${}有哪些區(qū)別

    MyBatis中#{}和${}有哪些區(qū)別

    大家好,本篇文章主要講的是MyBatis中#{}和${}區(qū)別,感興趣的同學(xué)趕快來看一看,對你有幫助的話記得收藏一下,方向下次瀏覽
    2021-12-12

最新評論

贵州省| 闽清县| 海兴县| 东兰县| 开封县| 麻栗坡县| 神木县| 洪洞县| 咸宁市| 历史| 勃利县| 七台河市| 诸城市| 凤山县| 恭城| 峨眉山市| 怀宁县| 珠海市| 沁水县| 海淀区| 金塔县| 山阳县| 昆山市| 柘荣县| 日喀则市| 尖扎县| 界首市| 康定县| 阿城市| 潮州市| 琼结县| 拜城县| 洛隆县| 普宁市| 镶黄旗| 水城县| 东乡族自治县| 怀仁县| 东丰县| 轮台县| 育儿|