第十、Java的二维数组
来源:互联网 发布:下载12360软件下载 编辑:程序博客网 时间:2024/06/01 09:31
数组的特点:
1. 数组只能存储同一种 数据类型的数据。2. 数组是会给存储到数组中 的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
3. 数组一旦初始化,长度固定。
4. 数组中的元素与元素之间的内存地址是连续的。
二维数组: 二维数组就是数组中的数组。
烟
一根 变量
一盒 20根 一维数组一条 10包 20根 二维数组
二维数组 的定义格式:
数据类型[ ][ ] 变量名 = new 数据类型[一维数组的个数][每一个一维数组中元素的个数];长度1:一条烟有多少盒。
长度2: 一盒烟有多少根。
二维数组 的初始化方式:
动态初始化:数据类型[][] 变量名 = new 数据类型[长度1][长度2];
静态初始化:
数据类型[][] 变量名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...} ..}
public static void main(String[] args) {//定义了一个二维数组int[][] arr = new int[3][4];arr[1][1] = 100;/*System.out.println("二维数组的长度:"+ arr.length); // 3System.out.println("二维数组的长度:"+ arr[1].length); //4*/System.out.println("数组的元素:"+ arr[1][1]);}
疑问: 为什么 arr.length = 3, arr[1].length = 4 ?
二维数组常见的操作:
1. 遍历二维数组
2. 对二维数组求和
class myArr { // 定义一个遍历二维数组的功能函数public static void printArr2( int [][] a ){ // 1. 拆开二维数组 for ( int i = 0 ; i < a.length ; i++ ) { // 2. 拆开一维数组获取数据 for ( int j = 0 ; j < a[i].length ; j++ ) {System.out.print( a[i][j]+" ," ); } }} // 定义一个函数计算二维数组中的元素的累加和public static long getSum( int [][] a ){ // 0. 定义一个结果变量 long sum = 0L; // 1. 拆开二维数组 for ( int i = 0 ; i < a.length ; i++ ) { // 2. 拆开一维数组获取数据 for ( int j = 0 ; j < a[i].length ; j++ ) {sum+=a[i][j]; } } return sum;} // 统计二维数组中元素的个数public static int getDataCount( int [][] a ){ // 0. 记录元素个数 int count = 0; // 1. 拆开二维数组 for ( int i = 0 ; i < a.length ; i++ ) { // 2. 拆开一维数组获取数据 for ( int j = 0 ; j < a[i].length ; j++ ) {count++; } } return count;} public static void main(String[] args) {int [][] a = new int[][]{ {23,4,5},{2},{4,5,78,56,90} };printArr2( a ); System.out.println();System.out.println("累加和是: "+getSum( a ) );System.out.println("统计元素个数: "+getDataCount( a ) );System.out.println("Hello World!");}}
0 0
- 第十、Java的二维数组
- java的二维数组
- 第十四周 项目1 二维数组的应用
- Java二维数组的例子
- java 二维数组的写法
- java 二维数组的输出
- java 二维数组的应用
- java二维数组的初始化
- Java 二维数组的初始化
- java--二维数组的遍历
- Java 二维数组的使用
- Java数组-二维数组
- 【Java】数组--二维数组
- java-数组/二维数组
- 第十四周项目1-折腾二维数组
- 第十四周项目一 折腾二维数组
- 第十四周项目一 折腾二维数组
- 第十四周项目一:折腾二维数组
- LeetCode : Path Sum III
- EF 与 sql server 转到mysql
- Node.js的安装和配置
- 射频识别技术漫谈(20)——RC系列射频接口芯片
- 手机端调用相机上传图片
- 第十、Java的二维数组
- PTA 阶乘升级版
- 实现基于内存的HPA
- ACM习题O-15
- phpmailer实现简单的邮件发送(以网易邮箱smtp服务器为例)
- Android开发人员不得不收集的代码(持续更新中)
- java线程池
- ios plist文件存储数据
- ubuntu16.04 安装 eclipse