JAVA数组及数组的应用
生活随笔
收集整理的這篇文章主要介紹了
JAVA数组及数组的应用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、數(shù)組
- 一組數(shù)的容器。
- 數(shù)組對(duì)每一個(gè)存入的數(shù)字都會(huì)自動(dòng)編號(hào),編號(hào)從0開始。——下標(biāo)
二、數(shù)組的定義格式
數(shù)組的大小一旦被定義,不可改變。
在程序中第一次給變量賦值—–變量的初始化。
直接打印數(shù)組,打印出的是數(shù)組的地址。
打印的內(nèi)容:[ I @ df6d9f8
[ 表示對(duì)象的類型是數(shù)組
I 如果這個(gè)對(duì)象是一個(gè)數(shù)組或者集合,那么這意味表示數(shù)組或集合中元素的類型
@ 表后邊是地址
454f5gf5g 表示對(duì)象咋內(nèi)存中地址對(duì)應(yīng)hash碼的十六進(jìn)制的表現(xiàn)形式。
new 用于創(chuàng)建一個(gè)新的對(duì)象
int arr[] = {1,2} — 在創(chuàng)建 的時(shí)候動(dòng)態(tài)的獲取數(shù)組的大小,然后才能分配內(nèi)存空間
int arr[]; arr[] = {1,2} 不可行,系統(tǒng)不知道數(shù)組的大小。
三、數(shù)組的應(yīng)用
注意:增強(qiáng)for不能改變?cè)瓉?lái)數(shù)組中的元素。
對(duì)于基本類型而言,傳值傳的實(shí)際的數(shù)據(jù),;對(duì)于引用類型數(shù)據(jù)傳值傳的是地址。
對(duì)數(shù)組進(jìn)行排序
* 冒泡排序:
思路:相鄰兩個(gè)數(shù)兩兩比較,交換位置。
一共比較length-1輪
第i輪比較j次,i+j=length
j還要控制每次開始比較的下標(biāo)
選擇排序
public static void main(String[] args) { int arr[]={1,5,8,6,4,3,2}; for(int i=0;i<arr.length;i++){for( int j= i;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}} } for(int i : arr){System.out.println(i); } }
思路:第一位依次和后面的元素進(jìn)行比較交換
一共比較length-1輪
第i輪比較j次,i+j=lengthjava.util.Arrays
Arrays.sort(數(shù)組);//只能升序排序,從小到大。
String s = Arrays.toString(arr); //將數(shù)組中的元素依次拿出來(lái)拼接成一個(gè)字符串。
快速排序、希爾排序、堆排序。。。
查找數(shù)組中的元素
針對(duì)無(wú)序數(shù)組,for循環(huán)遍歷
針對(duì)有序數(shù)組,用折半查找。
(1)利用新的數(shù)組
(2)數(shù)組元素首尾交換
思路:利用兩個(gè)變量同時(shí)控制數(shù)組的兩端,進(jìn)行交換。
System.arrayCopy(要復(fù)制哪個(gè)數(shù)組,要復(fù)制數(shù)組的起始位置,被復(fù)制到的數(shù)組,新數(shù)組中放置的起始位置,要復(fù)制元素的個(gè)數(shù));
擴(kuò)/縮容的本質(zhì)還是數(shù)組的復(fù)制
數(shù)組 = Arrays.copyOf(數(shù)組,長(zhǎng)度);
表面上看起來(lái)只對(duì)數(shù)組的長(zhǎng)度做了改變,實(shí)際上已經(jīng)不是原來(lái)的數(shù)組了。
數(shù)據(jù)類型在java底層通過泛型動(dòng)態(tài)獲取。
四、二維數(shù)組
- int[][] name = new int[3][5]
這是一個(gè)包含3個(gè)一維數(shù)組的二維數(shù)組,每個(gè)一維數(shù)組有5個(gè)元素。
arr[0][0]—- 獲取具體的元素 - 數(shù)據(jù)類型[][] name = new 數(shù)據(jù)類型[二維數(shù)組大小][];
二維數(shù)組中包含的一維數(shù)組可以動(dòng)態(tài)設(shè)置,而不再二維數(shù)組定義時(shí)統(tǒng)一指定。 - 數(shù)據(jù)類型[][] name = {
{元素1},
{元素1,元素2},
}
1. 對(duì)于數(shù)組int[] x, y[]均以初始化,下列正確的是:B,C
A y = x; B y[0] = x; C y[0][0] = x[0]; D y[0] = x[0] E y = x[0]
注意:[] 在變量名之前是緊跟數(shù)據(jù)類型的,那么后面跟的每個(gè)變量只少是一個(gè)一維數(shù)組;[]在變量名之后是僅屬于變量的。
總結(jié)
以上是生活随笔為你收集整理的JAVA数组及数组的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA运算符\操作符
- 下一篇: JAVA中函数