您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java中數組怎么定義使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java中數組怎么定義使用”這篇文章吧。
數組:存儲一組相同數據類型的數據的集合。
int[] :int類型數組
double[] :double類型數組
通過類型就可以定義變量,比如:
int[] array,array就是這個類型的變量,這個變量是存儲一組相同數據的變量。
三種數組定義的方式:
第一種:
int[] array = {1,2,3,4,5,6};
定義一個數組且初始化
雖然沒寫new,但實際上也是一個對象
注意事項:
int[10] array = {1,2,3,4,5,6};
寫法錯誤,int[] 屬于類型,中括號里面不能加任何的數字,相當于在這里破壞了它的類型。
第二種:
int[] array2 = new int[3];
定義數組未初始化
第三種:
int[] array3 = new int[]{1,2,3,4,5,6};
定義且初始化
三種當中用的最多的就是第一種
獲取數組長度:
Java里面可以直接通過數組名array.length 求出當前數組的長度
訪問數組元素:
訪問數組下標為4的元素
越界訪問數組元素:
Java語言越界直接報錯
更改數組元素:
通過數組名中括號的方式,不僅僅可以訪問下標的內容,也可以往下標里面寫一些數據
第一種:(for循環)
第二種:(增強for循環,for each循環)
for循環和for each循環的區別:
for循環是可以拿到下標的,
for each循環是拿不到下標的,更多的是用于集合中
第三種:借助Java的操作數組工具類 Arrays
JVM簡單介紹
局部變量在內存中的儲存:
引用不指向對象寫法:
這個引用不指向任何的對象
一個引用能不能同時指向多個對象嗎?
對于這個代碼來說只能指向一個對象,存一個對象的地址。最終只保存了最后一個對象的地址
數組作為方法的參數傳遞的過程:
求解打印結果:
前兩種求解:
fun2打印結果:
分析例子:下圖代表什么
代表array2這個引用,指向了array1這個引用指向的對象。
下圖就代表了上面例子的意思:
注意事項:
引用指向引用這句話 是錯誤的,引用只能指向對象
引用一定在棧上嗎?
不一定,一個變量在不在棧上,是你變量的性質決定的,如果你就是一個局部變量,一定是在棧上的。如果不是,例如,實例成員變量那就不一定就是在棧上的。
public class TestDemo { public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) { int[] array = {10,20}; System.out.println("交換前: "+array[0]+" "+array[1]); swap(array); System.out.println("交換后: "+array[0]+" "+array[1]); }
打印結果:
/** * 在原來的數組上擴大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length ; i++) { array[i] = array[i]*2; } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; enlarge(array); System.out.println(Arrays.toString(array)); }
打印結果:
把原來數組擴大2倍的值放在一個新的數組中
/** * 把原來數組擴大2倍的值放在一個新的數組中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i < array.length; i++) { ret[i] = array[i] * 2; } return ret; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; int[] ret = func(array); System.out.println(Arrays.toString(ret)); }
public static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length ; i++) { str = str+array[i]; if(i != array.length-1){ str+= ","; } } str= str + "]"; return str; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; String str = myToString(array); System.out.println(str); }
打印結果:
public static int maxNum(int[] array){ if(array == null) return -1; if (array.length == 0) return -1; int max = array[0]; for (int i = 1; i <array.length ; i++) { if(max < array[i]){ max = array[i]; } } return max; } public static void main(String[] args) { int[] array = {12,8,14,26,5,7,8}; int max = maxNum(array); System.out.println(max); }
打印結果:
public static int findNum(int[] array,int key){ for (int i = 0; i <array.length ; i++) { if(array[i] == key){ return i; } } return -1; } public static void main(String[] args) { int[] array = {2,4,5,6,11,7,8,9}; System.out.println(findNum(array, 7)); }
打印結果:
二分查找的必要條件是必須有序的數列 public static int binarySearch(int[] array,int key){ int left = 0; int right = array.length-1; while(left <= right){ int mid = (left+right)/2; if(array[mid] > key){ right = mid - 1; }else if(array[mid] < key){ left = left + 1; }else{ return mid; } } return -1; } public static void main(String[] args) { int[] array = {12,14,15,16,18,23}; System.out.println(binarySearch(array, 15)); }
打印結果:
以上是“Java中數組怎么定義使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。