java定义二维数组的几种写法(转)

//定义二维数组写法1  

class numthree
{
public static void main(String[] args)
{
float[][]numthree;            //定义一个float类型的2维数组
numthree=newfloat[5][5];      //为它分配5行5列的空间大小
numthree[0][0]=1.1f;           //通过下标索引去访问    1行1列=1.1
numthree[1][0]=1.2f;                                 // 2行1列=1.2
numthree[2][0]=1.3f;                                 // 3行1列=1.3
numthree[3][0]=1.4f;                                 // 4行1列=1.4
numthree[4][0]=1.5f;                                 // 5行1列=1.5
System.out.println(numthree[0][0]); //打印换行输出喽
System.out.println(numthree[1][0]);
System.out.println(numthree[2][0]);
System.out.println(numthree[3][0]);
System.out.println(numthree[4][0]);
}
}

//定义二维数组写法2  定义的同时分配空间大小
class numfour
{
public static void main(String[] args)
{
   short[][] numfour=newshort[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小
   numfour[0][7]=10;
   numfour[1][6]=20;
   numfour[2][5]=30;
   numfour[3][4]=40;
   numfour[4][3]=50;
  System.out.println(numfour[0][7]);
  System.out.println(numfour[1][6]);
  System.out.println(numfour[2][5]);
  System.out.println(numfour[3][4]);
  System.out.println(numfour[4][3]);
}
}


//定义二维数组写法3       不规则数组
class numfive
{
public static void main(String[] args)
{
long[][] numfive=newlong[5][];    //定义一个long类型的不规则数组
numfive[0]=newlong[5];            //为第1行分配5列
numfive[1]=newlong[6];            //为第2行分配6列
numfive[2]=newlong[7];            //为第3行分配7列
numfive[3]=newlong[8];            //为第4行分配8列
numfive[4]=newlong[9];            //为第5行分配9列

numfive[0][4]=10000000000L;        //1行5列=10000000000
numfive[1][5]=20000000000L;        //2行6列=20000000000
numfive[2][6]=30000000000L;        //3行7列=30000000000
numfive[3][7]=40000000000L;        //4行8列=40000000000
numfive[4][8]=50000000000L;        //5行9列=50000000000

System.out.println(numfive[0][4]);//打印换行输出喽
System.out.println(numfive[1][5]);
System.out.println(numfive[2][6]);
System.out.println(numfive[3][7]);
System.out.println(numfive[4][8]);
System.out.println(numfive[4][7]); //打印输出一个没有定义数组元素的数组java会自动将他初始化值为0
}
}


//定义2维数组写法4   定义的同时赋初始值
class numsix
{
public static void main(String[] args)
{
double[][]numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};//定义double型的数组分配2行3列的空间同时赋值
System.out.println(numsix[0][0]); //打印换行输出1行1列=1.111
System.out.println(numsix[1][1]); //打印换行输出2行2列=5.555
}
}


//定义2维数组写法5  定义不规则的2维数组同时赋初始值
class numseven
{
public static void main(String[] args)
{
int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};//没什么好说的如果你在看不懂 那就别学了!
System.out.println(numseven[0][2]);
System.out.println(numseven[1][1]);
System.out.println(numseven[0][0]);
}
}

//定义2维数组写法6 定义不规则的2维数组同时赋初始值;
class numeight
{
public static void main(String[] args)
{
int[][]numeight={{100,200,300,400},{500,600,700,800},{900,1000,1100,1200,1300}};
System.out.println(numeight[0][2]);
System.out.println(numeight[1][2]);
System.out.println(numeight[2][1]);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主要内容: 1. 数组的定义 2. 数组的分类[按维数] 3. 数组的用法 4. 数组的常见操作 java中的foreach实现方式 一维数组 1. 定义:省略 2. 用法: 声明并赋值: //方法一:先声明,再赋值 int [] arr=new int[5]; arr[0]=10; arr[4]=100; arr[5]=10;//语法无误,编译时报错:java.lang.ArrayIndexOutOfBoundsException System.out.println(arr[5]);//语法无误,编译时报错:错误同上 //方法二:使用for循环动态赋值 //导入java.util.*;包 Scanner input=new Scanner(System.in); int [] arr=new int[5]; for(int i=0;i<arr.length;i++) { System.out.println("请输入第"+(i+1)+"个值"); arr[i]=input.nextInt(); } //方法三:声明时赋值 int [] arr=new int[]{23,45,56,67}; int [] arr1={23,45,56,67}; int [] arr2= new int[5]{23,45,56,67};//错误,此时不能给确定的长度 输出: int [] arr=new int[]{23,45,56,67}; //方法一:使用for循环输出 for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } //方法二:使用foreach输出:此为JDK5.0 新特性 for(int item : arr) { System.out.println(item); } 常见算法: 1. 求一维数组中的最大[小]值 2. 求一维数组中的总和,平均值 3. 添加,删除,修改,搜索等 具体请参考本人FTP\\5.0S1\\JAVA\\数组完整操作范例。[重复让人如此崩溃!] 二维数组 1. 定义:省略 2. 用法: 声明并赋值: //声明时赋值 int [][]arr={ {1,2,3}, {4,5,6}, {7,8,9} }; 输出: //方法一:使用嵌套for循环输出二维数组 for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { System.out.print(arr[i][j]+" "); } System.out.println(); } //方法二:使用嵌套foreach输出二维数组 for(int row[] :arr) //此时不难看出,二维数组可以看作是每个元素都是一个一维数组的一维数组 { for(int item: row) { System.out.print(item+ " "); } System.out.println(); } 补充: //动态创建规则二维数组 int R=10;//行 int N=5;//列 int [][]arr=new int ­[N]; //动态创建不规则二维数组 int arr[][]; arr=new int[2][]; arr[0]=new int[10]; arr[1]=new int[5]; 赋值都一样:此处省略! 算法体验:杨辉三角 int i,j; int a[][]=new int[10][10]; //给每行的第一列,及对角线处均赋值为1 for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } //从arr[2][1]=a[1][0]+a[1][1]; //推出:a[i][j]=a[i-1][j-1]+a[i-1][j]; //即元素等于两肩之和 for(i=2;i<10;i++) { for(j=1;j<i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<10;i++) { for(j=0;j<=i;j++) { System.out.print(a[i][j]+" "); } System.out.println(); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值