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