如何声明数组
double [] array;声明一维数组
double [] [] array;声明二维数组
数据类型+[]+.....此处代表n(n>=0)个[]....+数组名;
实例化数组的两种方法
申请内存空间时指定数组长度:array = new double [10];数组名 = new 数据类型 [ 数组最大容纳数据个数 ]
穷举法 array = new double [] {1,2,3,4,5} ; 数组名 = new 数据类型 [] {穷举元素}
声明时就用穷举法
double [] array = {1,2,3}; 不可 array={1,2,3};
double [] array = new double []{1,3,4,5}; array = new double [] {1,2,3,4};
两种遍历方式:
第一种:
for (int i = 0; i < array.length; i++) { System.out.print(array[i]+"\t"); }第二种:
for (double a : array) { System.out.print(a+"\t"); }两种排序方法:
冒泡排序:
package paixu; public class paixu_1 { public static void main(String[] args) { int [] array= {9,7,8,3,4}; for(int time=1;time<array.length;time++) { for(int i=0;i<array.length-time;i++) { int numberb=array[i]; int numbera=array[i+1]; if(numberb>numbera) { array[i]=numbera; array[i+1]=numberb; } } } for (int i : array) { System.out.println(i); } //冒泡排序 } }插入排序:
package paixu; public class paixu_2 { public static void main(String[] args) { int [] array = {5,5,4,4,3,2,1}; for (int i = 1; i < array.length; i++) { int data=array[i]; int j=0; for(;j<i;j++) { if(array[i]<array[j]) break; } if(i==j) { continue; } for(int k=i;k>j;k--) { array[k]=array[k-1]; } array[j]=data; } for (int i : array) { System.out.print(i+"\t"); } } }折半查找法
package paixu; public class erfenfa { public static void main(String[] args) { int [] array = {1,2,3,4,5}; int data=2; int low=0; int high=array.length-1; while(low<=high) { int middle=(low+high)/2; if(data<array[middle]) { high=middle-1; }else if(data>array[middle]) { low=middle+1; }else { System.out.println(middle); break; } } } }