如何声明数组
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;
}
}
}
}