二維數組的定義和分類

    最近寫健康評估功能,遇到數組數據的處理,發現不少未知的東西,故對用到的東西作一個總結。java

  1. 數組的定義。
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]);
			}
		}
相關文章
相關標籤/搜索