Java二维数组的声明和初始化
1.二维数组可以看成以数组为元素的数组;
2.Java中二维数组的声明和初始化应按照从高维到低维的顺序进行.
实例:
静态初始化:
Array2.java:
程序代码
public class Array2 { public static void main(String args[]) { int a[][] = {{1,2},{3,4,5,6},{7,8,9}} ; for(int i=0 ; i <a.length ; i++) { for(int j=0 ; j<a[i].length ; j++) { System.out.println("a[" + i + "][" + j + "]=" + a[i][j]) ; } } } }
动态初始化:
程序代码
public class Array2D { public static void main(String args[]) { int i , j ; String s[][] ; s = new String[3][] ; s[0] = new String[2] ; s[1] = new String[3] ; s[2] = new String[2] ; for(i=0 ; i<s.length ; i++) { for(j=0 ; j <s[i].length ; j++) { s[i][j] = new String("我的位置是:" + i + "," + j) ; } } for(i=0 ; i<s.length ; i++) { for(j=0 ; j<s[i].length ; j++) { System.out.println(s[i][j]) ; } } } }
关于Java中的二维数组操作[实例]:
public class Lesson{ public static void main(String [] args){ //二维数组的声明方式: //数据类型 [][] 数组名称 = new 数据类型 [长度][长度] ; //数据类型 [][] 数组名称 = {{123},{456}} ; /* int [][] arr = {{123},{456}}; //定义了两行三列的二维数组并赋值 for(int x = 0; x<arr.length; x++){ //定位行 for(int y = 0; y<arr[x].length; y++){ //定位每行的元素个数 System.out.print(arr[x][y]); } System.out.println("/n"); } */ int [][] num = new int [3][3]; //定义了三行三列的二维数组 num[0][0] = 1; //给第一行第一个元素赋值 num[0][1] = 2; //给第一行第二个元素赋值 num[0][2] = 3; //给第一行第三个元素赋值 num[1][0] = 4; //给第二行第一个元素赋值 num[1][1] = 5; //给第二行第二个元素赋值 num[1][2] = 6; //给第二行第三个元素赋值 num[2][0] = 7; //给第三行第一个元素赋值 num[2][1] = 8; //给第三行第二个元素赋值 num[2][2] = 9; //给第三行第三个元素赋值 for(int x = 0; x<num.length; x++){ //定位行 for(int y = 0; y<num[x].length; y++){ //定位每行的元素个数 System.out.print(num[x][y]); } System.out.println("/n"); } } } //数组值arr[x][y]表示指定的是第x行第y列的值。 //在使用二维数组对象时,注意length所代表的长度, //数组名后直接加上length(如arr.length),所指的是有几行(Row); //指定索引后加上length(如arr[0].length),指的是该行所拥有的元素,也就是列(Column)数目。
再来看一个例子:两个二维数组,将它们整合为一个新的二维数组,元素为两数组对应元素的和。输入两数组: {{1,5},{2,3},{6,5}}, {{4,2},{2,6},{5,7}}
输出打印: {{5,7},{4,9},{11,12}}
代码: class arraysCtrl{ static void arraysAdd(int[][] a,int[][] b) { StringBuffer sbResult = new StringBuffer("{"); int[][] result = new int[a.length][b.length]; for(int i=0;i<a.length;++i) { sbResult.append("{"); for(int j=0;j<a[i].length;++j) { result[i][j] = a[i][j]+b[i][j]; sbResult.append(result[i][j]); if(j == a[i].length-1) { if(i == a.length-1) { sbResult.append("}"); }else{ sbResult.append("},"); } break; } sbResult.append(","); } if(i == a.length-1) { sbResult.append("}"); break; } } System.out.println(sbResult); } public static void main(String[] args) { int[][] aTst1 = {{1,5},{2,3},{6,5}}, aTst2 = {{4,2},{2,6},{5,7}}; arraysAdd(aTst1,aTst2); } }
本文向大家介绍Python Numpy 数组的初始化和基本操作,包括了Python Numpy 数组的初始化和基本操作的使用技巧和注意事项,需要的朋友参考一下 Python 是一种高级的,动态的,多泛型的编程语言。Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法。 一.基础: Numpy的主要数据类型是ndarray,即多维数组。它有
初始化一个给定行数和列数,及值的二维数组。 使用 Array.map() 生成 h 行,其中每个行都是一个长度为 w 的新数组。 如果未提供值 val ,则默认为 null。 const initialize2DArray = (w, h, val = null) => Array.from({ length: h }).map(() => Array.from({ length: w }).
问题内容: 声明多维数组并为其分配值的正确方法是什么? 这就是我所拥有的: 问题答案: 尝试将适当的行替换为: 您的代码不正确,因为子数组的长度为y,索引从0开始。因此,设置为或将失败,因为索引和超出范围。 ;是初始化矩形多维数组的正确方法。如果希望将其锯齿状(每个子数组的长度可能不同),则可以使用类似于此答案的代码。但是请注意,如果您想要一个完美的矩形多维数组,John关于必须手动创建子数组的主
问题内容: 我开始使用python,并尝试使用一个二维列表,最初我在每个地方都填充了相同的变量。我想出了这个: 它提供了所需的结果,但感觉像是一种解决方法。有没有更简单/更短/更优雅的方式来做到这一点? 问题答案: Python中经常出现的一种模式是 这有助于激励列表理解的引入,从而将代码段转换为 它更短,有时更清晰。通常,你养成识别这些习惯的习惯,并经常用理解代替循环。 你的代码两次遵循此模式
我有一个静态矩阵结果和静态矩阵添加方法以及一个静态矩阵显示(用于打印结果),我在主函数中编写了一个测试示例。 我的目标是:我想用这两种静态方法乘和加两个矩阵。 我得到这些错误"变量C和d可能没有被初始化"。有人能告诉我,问题是什么吗?
问题内容: 我知道当我初始化一个char数组时: 要么 为什么不喜欢 初始化数组: 为什么它们不同?它是Java哲学的本质之一还是其背后的某些原因? 问题答案: 如果您曾经使用过 C ,那么答案就非常简单。在 C语言中 ,创建数组的方式是在堆栈上分配一个足以容纳元素数量的静态内存长度,并使用指针指向第一个元素-或堆上动态内存长度,然后用指针指向第一个元素。 在 C ++中 ,第二个版本已更改为