(1) 二维数组静态初始化
package javase.jingjie.二维数组;
public class ErShuZu01 {
public static void main(String[] args) {
int [] [] a= {
{1,2,3},
{45,34},
{0},
{10,23,85,99},
};
System.out.println(a.length+"个一维数组");
int [] a0=a[0];
int a00=a0[0];
System.out.println(a00);
System.out.println(a[0][0]);
System.out.println(a[3][3]);
System.out.println(a[a.length-1][a[a.length-1].length-1]);
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.println(a[i][j]+"");
}
System.out.println();
}
}
}
(2) 二维数组的动态初始化
package javase.jingjie.二维数组;
public class ErShuZu02 {
public static void main(String[] args) {
int[][] a=new int[3][4];
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
(3)方法传递数组
package javase.jingjie.二维数组;
public class ErShuZu03 {
public static void main(String[] args) {
m1(new int[][] {{1,23,4},{5,6,7,8},{10,9}});
}
public static void m1(int[][] a) {
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.println(a[i][j]+"");
}
System.out.println();
}
}
}
(4) 案例
package javase.jingjie.二维数组;
public class ErShuZu04 {
String no;
String type;
boolean isUse;
}
class Hotel{
ErShuZu04[][] rooms;
Hotel(){
this(5,10);
}
public Hotel(int rows,int cols) {
rooms=new ErShuZu04[rows][cols];
}
}
(5)二分法
package javase.jingjie.二维数组;
public class 二分法 {
public static void main(String[] args) {
int [] a= {1,3,4,5,7,8,9,10,23,25,29};
int destElement=10;
int index=A(a,destElement);
System.out.println((destElement==-1)?destElement+"元素不存在":destElement+"在数组中的下标是:"+index);
}
public static int A(int[] a,int destElement) {
int begin =0;
int end=a.length-1;
while (begin<=end) {
int mid=(begin+end)/2;
if(a[mid]==destElement) {
return mid;
}else if(a[mid]>destElement) {
end=mid-1;
}else if(a[mid]<destElement) {
begin= mid+1;
}
}
return -1;
}
}
(6) 冒泡
package javase.jingjie.二维数组;
public class 冒泡 {
public static void main(String[] args) {
int [] a= {3,1,6,2,5};
for(int i=a.length-1;i>0;i--) {
for(int j=0;j<i;j++) {
if(a[j]>a[j+1]) {
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
(7) 选择排序
package javase.jingjie.二维数组;
public class 选择排序 {
public static void main(String[] args) {
int [] a= {3,1,6,2,5};
for (int i=0;i<a.length-1;i++) {
int min=i;
for(int j=i;j<a.length;j++) {
if (a[min]>a[j+1]) {
min=j+1;
}
}
if(min !=i) {
int temp;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}