java(七)数组(二维数组) |
您所在的位置:网站首页 › java二维数组怎么输入数据格式 › java(七)数组(二维数组) |
二维数组
二维数组简单来说就是一个由行和列组成的一个表格,也就是数学中的矩阵。我们在这个矩阵中访问元素的话,是根据元素的行角标和列角标所确定的。 二维数组具体是在内存中如何存储的呢? 无论是二维数组,还是多维数组,其实它们本身就是一个一维数组;尤其对于二维数组而言,无非就是一个一维数组,只不过该一维数组中的每一个元素是另一个一维数组罢了! 二维数组:二维数组行列组成的表格,格子中内容就是二维数组的元素。 二位数组存储:依旧是在堆内存 ,二维数组就是多个一维数组组成 创建二维数组: int[][] matrix=new int[3][4]; 创建一个3行4列的二维数组,元素默认都是0 int[][] matrix=new int[][]{ {1,2,3,4} , {5,6,7,8} , {9,10,11,12} }; 创建个指定元素的二维数组 int[][] matrix={ {1,2,3,4} , {5,6,7,8} , {9,10,11,12} }; 锯齿矩阵/二维数组 int[][] matrix={ {1,2,3,4} , {5,6,7} , {8,9}, {10} }; 特别的,如果一个二维数组的行和列相等的话,也称之为是方阵 代码示例: class Test01{ public static void main(String[] args){ int[][] matrix={ {1,2,3,4}, {5,6,7,8}, {8,7,6,5}, {4,3,2,1} }; //matrix.length 表示的就是最外层那个一维数组的长度 行数 //matrix[i] 表示的是最外层那个一维数组当中角标i的那个元素 只不过这个元素也是一个一维数组 //matrix[i].length 表示的是这个一维数组元素的长度(当前行的长度) //matrix[i][j] 表示的就是这个一维数组元素中角标j的那个元素 for(int i=0;i arr [a,b,c] 人:姓名 年龄 性别 身高 体重....复合型数据 : 指的就是由多个基本数据或其他引用数据组成的一个数据。 形参变量永远不可能去改变实参中已储存的数据地址 除非return 实参且接收, 就算形参变量所存储的数据地址被改变 那也是改变形参自己 与实参无关。 无非是: 实参本身指向的是一个对象, 然后把这个对象的地址传递给了形参;形参就可以通过该地址去堆内存中找对象,可以修改对象中的数据;实参再去访问对象时,对象中的数据就已经被改变; 因为实参和形参目前使用操作的都是同一个对象 总结: 无论实参还是形参 实参就是把变量空间所存的地址给了形参而已; 他们都是变量! 所以对于变量的修改而言,主要分两种! 1.要么改变该变量空间所存储的地址 int a=3; a=7; int[] arr=new int[]{1,2,3}; arr=new int[]{3,2,1}; 2.要么改变该变量空间所存储的地址所指向的那个对象中的数据 int[] arr=new int[]{1,2,3}; arr[0]=10; 对与基本数据类型而言,不能进行第2个操作。 示例: class Test02{ public static void main(String[] args){ int a=3; int b=7; swap(a,b); System.out.printf("a=%d,b=%d\n",a,b);//结果是a=3;b=7 int[] arr={3,7}; swap(arr[0],arr[1]); System.out.printf("arr[0]=%d,arr[1]=%d\n",arr[0],arr[1]);//结果是arr[0]=3,arr[1]=7 swap(arr); System.out.printf("arr[0]=%d,arr[1]=%d\n",arr[0],arr[1]);//结果是arr[0]=3,arr[1]=7 swap2(arr); System.out.printf("arr[0]=%d,arr[1]=%d\n",arr[0],arr[1]);//结果是arr[0]=10,arr[1]=20 } public static void swap(int m,int n){ m=7; n=3; } public static void swap(int[] arr){ arr[0]=7; arr[1]=3; } public static void swap2(int[] arr){//0xabc arr=new int[]{10,20}; } } 习题练习 1. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |