最近寫健康評估功能,遇到數組數據的處理,發現不少未知的東西,故對用到的東西作一個總結。java
int[] a = new int[] {1,2,3,4}; //方式一 int b[] = new int[] {1,2,3,4}; //方式二 與方式一效果同樣,只是寫法不同 int[] c = new int[5]; //方式三 肯定數組的長度,數組元素的值用動態賦值 c[0] = 1; c[1] = 2; int d = 6; String[] str = new String[d]; //方式四 數組的個數動態肯定,在數組長度不肯定,可是又有一個標準的時候使用
2.數組的分類。數組
只要是基本數據類型均可以建立對應數組,只是數組中只能存放對應類型的數據。code
byte[] by = new byte[1024]; //字節類型,主要用於文件和圖片輸入輸出流 int[] in = new int[5]; //整型數組 float[] fl = new float[5]; //單精度類型 double[] dou = new double[5]; //雙精度類型 long[] lon = new long[5]; //長整型 String[] string = new String[10]; //字符串類型
3.數據使用。blog
(1)數組遍歷。排序
int sums = 0; for(int i = 0;i < in.length;i ++) { sums += in[i]; //對數組中的元素求和 }
(2)查找和搜索。 (來自百度)圖片
//選擇排序對數據進行升序排序(int) public static void selectSortAscendingArray(int[] arr){ for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最後一個不用比較 for(int j = i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } //冒泡排序對數據進行降序排序(int) public static void bubbleSortDescendingArray(int[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]<arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //冒泡排序對數據進行升序排序(int) public static void bubbleSortAscendingArray(int[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //二分查找(int) public static int binarySearch(int[] arr,int key){ int min,mid,max; min = 0; max = arr.length-1; while(arr[min]<arr[max]){ mid = (min+max)/2; if(key>arr[mid]){ min = mid+1; }else if(key<arr[mid]){ max = mid-1; }else { return mid; } } return -1; }
4.數據類型的轉換字符串
(1)double類型轉int類型get
double e = 3.9; double i = 3.1; int f = (int) e; //強制轉換,小數部分所有捨去。 結果是3 int g = (int) Math.floor(e); //向下取整,再強制轉換。-把小數部分取整了再去掉強制轉換。結果是3 int h = (int) Math.round(e); //先對小數四捨五入,再取整。結果是4 int j = (int) Math.ceil(i); //向上取整,只要有小數就加一。結果是4
(2)類型轉換精度損失問題string
(3)String類型的數組轉double類型it
String score = records.getString("scores"); String[] sc = score.split("##"); double[] sco = new double[sc.length]; if(sc.length > 0) { for(int i = 0;i< sc.length;i++) { sco[i] = Double.parseDouble(sc[i]); } }