小米 Civi 新機預熱:3200 萬高清相機,雙柔光燈,AF 自動對焦
阿新 • • 發佈:2021-09-24
import java.lang.reflect.Array; import java.sql.SQLOutput; import java.util.Arrays; public class Test4 { public static void main(String[] args) { // 1、陣列 // String a = null; // a = "123"; // String的長度是 length()方法 返回int // System.out.println(a); // int[] b = new int[10]; // 陣列的長度 是 length屬性 返回int // System.out.println(b.length); // 陣列一旦建立就不能在改變它的大小(儘管可以改變它的每一個數組元素) // String[] s = new String[3]; // for(int i=0;i<3;i++) // { // s[i] = "a"; // } // for(int i=0;i<3;i++) // { // s[i] = "b"; // } // System.out.println(s[0]); // String型別不可變的理解 /* String物件一旦建立,實體是不可以變化的,即內容不可以修改。 過程: 1、new操作 在堆記憶體中開闢一塊空間 存放“123”; 2、將空間的起始地址賦值給 棧記憶體 中的 a, a中存放的是String物件"123"的記憶體起始地址 3、對a進行重新賦值的過程,改變的是a中指向的地址。並不是對堆記憶體中的空間進行修改。 4、一段時間過後,JVM會對String“123”進行回收。 */ // String a = new String("123"); // System.out.println(a); // a = "465"; // System.out.println(a); // a = "2313"; // System.out.println(a); // 陣列的 for each 迴圈,沒有 auto // int[] a = new int[3]; // for(int i : a) // { // System.out.println(i); // } // 一個簡單的列印所有值得方法, Arrays.toString(陣列名) 工具類的靜態方法 // 返回一個包含陣列元素的字串,這些元素被放置在括號內,並用逗號分割 // int[] a = {2, 3, 5, 6, 11, 13}; // System.out.println(Arrays.toString(a)); // [2, 3, 5, 6, 11, 13] // 2、陣列拷貝 // Java中, 允許將一個數組變數拷貝給另一個數組變數。這時兩個變數將引用同一個陣列。 // 即修改一個 另一個也會發生改變。 /* 淺拷貝:淺拷貝只複製指向某個物件的指標,而不復制物件本身,新舊物件還是共享同一塊記憶體。 深拷貝:拷貝會另外創造一個一模一樣的物件,新物件跟原物件不共享記憶體,修改新物件不會改到原物件。 */ // int[] a = {1, 2, 3}; // int[] b = a; // System.out.println(Arrays.toString(b)); // [1, 2, 3] // a[0] = 100; // System.out.println(Arrays.toString(b)); // [100, 2, 3] // 深拷貝 // 新建一個數組手動複製,或者Arrays.copyOf() //如果陣列元素是數值型,那麼多餘的元素將被賦值為 0 ; 如果陣列元素是布林型,則將賦值 //為 false。相反,如果長度小於原始陣列的長度,則只拷貝最前面的資料元素。 // int[] a = {1, 2, 3}; // int[] b = Arrays.copyOf(a, a.length); // System.out.println(Arrays.toString(b)); // [1, 2, 3] // a[0] = 100; // System.out.println(Arrays.toString(b)); // [1, 2, 3] // 3、陣列排序 // int[] a = {3, 2, 1}; // Arrays.sort(a); // System.out.println(Arrays.toString(a)); // [1, 2, 3] // Math.random方法將返回一個0到1之間(包含0、不包含1)的隨機浮點數。 // 用 n 乘以這個浮點數,就可以得到從 0 到 n-1 之間的一個隨機數。 // int r = (int) (Math.random() * 10); // r 為 0 ~ 10 包括0 不包括10的隨機數。 // System.out.println(r); // 二維陣列 // int[][] a = { // {1,2,3}, // {3,4,5} // }; // // Arrays.deepToString(a) 快速遍歷二維陣列a // System.out.println(Arrays.deepToString(a)); // [[1, 2, 3], [3, 4, 5]] // 不規則陣列 /* double[][] balances = new double[10][6]; // Java 等價於 double** balances = new double*[10]; // C++ */ // Java陣列可以交換 // int[] a = {1,2,3}; // int[] b = {22,33,33}; // int[] t = a; // a = b; // b = t; // System.out.println(Arrays.toString(a)); // [22, 33, 33] // System.out.println(Arrays.toString(b)); // [1, 2, 3] // int[][] a = new int[3][]; // 初始化 二維陣列的行數 // for(int i = 0; i < 3; i++) // { // a[i] = new int[i+1]; // 對每一行初始化數量 // } // for(int i = 0; i < 3; i++) // { // for(int j = 0; j <= i; j++) // { // a[i][j] = 45; // } // } // System.out.println(Arrays.deepToString(a)); // [[45], [45, 45], [45, 45, 45]] } }
本文來自部落格園,作者:永恆&,轉載請註明原文連結:https://www.cnblogs.com/Sun-yuan/p/15359930.html