Java编程基础阶段笔记 day06 二维数组
二维数组
笔记Notes
二维数组
二维数组声明
二维数组静态初始化与二位初始化
二维数组元素赋值与获取
二维数组遍历
二维数组内存解析
打印杨辉三角
Arrays工具类
数组中常见的异常
二维数组
二维数组的元素是一维数组
二维数组的声明和初始化
String [][] persons;
String persons2[][];
String [] persons3[];
二维数组的初始化
//静态初始化
persons = new String[][]{{"小龙哥","110"},{"小仓","119"},{"小强","120"}};
//声明和初始化不能分开
int[][] numbers = {{1,2},{3,4},{5,6}};
//动态初始化
persons2 = new String3;
//3值得是二维数组长度,2指的是二维数组元素(一维数组)的长度
//创建一个长度为3的二维数组,二维数组的元素为null
persons3 = new String[3][];
persons3[0] = new String[2];
persons3[1] = new String[3];
获取二维数组的值,元素的值
String aString = persons3[2][2]; int a = persons3.length;
int b = persons3[0].length;
遍历二维数组的元素
//遍历二维数组
for (int i = 0; i < numbers.length; i++) { for (int j = 0; j < numbers[i].length; j++) { System.out.print(numbers[i][j] + " "); } System.out.println(); }
二维数组内存解析
打印杨辉三角
使用二维数组打印一个 10 行杨辉三角。
【提示】
- 第一行有 1 个元素, 第 n 行有 n 个元素
- 每一行的第一个元素和最后一个元素都是 1
- 从第三行开始, 对于非第一个元素和最后一个元素的元素。即:
yanghuii = yanghuii-1 + yanghuii-1;
public class YangHui {
public static void main(String[] args) { //创建二维数组 int[][] numbers = new int[10][]; //给二维数组的元素赋值 for (int i = 0; i < numbers.length; i++) { //创建二维数组的元素(一维数组) numbers[i] = new int[i + 1]; //给二维数组中的元素的第一个元素和最后一个元素赋值 numbers[i][0] = numbers[i][i] = 1; //遍历二维数组中的元素(一维数组),不包括第一个和最后一个 for (int j = 1; j < numbers[i].length - 1; j++) { numbers[i][j] = numbers[i - 1][j] + numbers[i - 1][j - 1]; } } //遍历二维数组 for (int i = 0; i < numbers.length; i++) { for (int j = 0; j < numbers[i].length; j++) { System.out.print(numbers[i][j] + " "); } System.out.println(); } }
}
Arrays工具类使用
int[] ns = {5,2,30,4,1,90};
int[] ns2 = {5,2,3,4,1}; //比较两个数组是否相等 : 比较的是内容,个数,顺序 boolean equals = Arrays.equals(ns, ns2); System.out.println(equals); //输出数组信息 String nsStr = Arrays.toString(ns); System.out.println(nsStr); //将指定的数值填充到数组中 Arrays.fill(ns, 100); System.out.println(Arrays.toString(ns)); //对数组中的内容进行排序 Arrays.sort(ns); System.out.println(Arrays.toString(ns)); //二分法查找 - 使用前必须先排序 - 如果找不到会返回负数 int index = Arrays.binarySearch(ns, 4); System.out.println(index);
数组中常见的异常
//1.数组下角标越界 :ArrayIndexOutofBoundsException
int[] numbers = new int[2]; //索引值合理范围 :0 ~ 长度-1 System.out.println(numbers[2]); //发生了异常 System.out.println(numbers[-1]); //发生了异常 //2.空指针异常 :: NullPointerException String str = "aaa"; str = null; System.out.println(str.toUpperCase());//发生了异常 String[] names = new String[2]; System.out.println(names[0].toUpperCase());//发生了异常 String[][] persons = new String[3][]; System.out.println(persons[0][0]); //发生了异常 System.out.println(persons[0].length); //发生了异常
习题:数组声明
声明:int[] x,y[]; 在给x,y变量赋值以后,以下选项允许通过编译的是:
a ) x[0] = y; //类型不符,x[0]为int类型,而y为引用类型
b) y[0] = x; //可以
c) y0 = x; //类型不否,x为引用类型,而y0为int类型
d) x0 = y; //x为一维数组
e) y0 = x[0]; //可以
f) x = y; //类型不符,一个是一维数组,一个是二维数组
提示:
一维数组:int[] x 或者int x[]
二维数组:int[][] y 或者 int[] y[] 或者 int y[][]
总结Summary
二维数组遍历
二维数组内存解析
杨辉三角
Arrays工具类
数组常见异常
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java编程基础阶段笔记 day05 数组
数组 笔记Notes 数组介绍 数组的声明 数组初始化 数组元素默认值 数组复制 数组反转 数组查找:线性查找、二分查找 数组排序:冒泡排序 数组介绍 数组名: 创建数组内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 下标(或索引):从0开始 数组是引用数据类型, 元素相当于类的成员变量, 数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化 数组中的元素可以是基本数据类型也可以是引用数据类型 数组的声明 声明:String[] names; int scores[]; 数组初始化:静态初始化、动态初始化 静态初始化:数组的初始化和赋值是同时进行的 names = new String{"12","34","56","78"}; 动态初始化:数组的初始化和赋值分开进行 String[] names2 = new String[5]; names2[0] = "123"; 下面的方式数组的声明和初始化不能分开。 int[] age = { 1, 2, 3, 4, 5, 6 }; 数组元素的默认值 byte、short、int、long -->...
- 下一篇
[Spring cloud 一步步实现广告系统] 4. 通用代码模块设计
一个大的系统,在代码的复用肯定是必不可少的,它能解决: 统一的响应处理(可以对外提供统一的响应对象包装) graph LR HTTP-->|HttpRequest|RestController RestController-->|HttpResponse -> JSON|HTTP 统一的异常处理(可以将业务异常统一收集处理) graph TB subgraph 处理过程 AdCommonException -->|RestControllerAdvice| HttpRequest end subgraph HttpResponse RestControllerAdvice -->|统一返回| JSON end 通用代码定义、配置定义(通用的配置信息放在统一的代码管理中,便于维护和更新) 创建项目 mscx-ad-common POM文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程