Java入门 第一季第六章 数组
2024-08-28 17:38:28
这是我学习慕课网Java课程的笔记,原视频链接为:http://www.imooc.com/learn/85
6-1什么是数组
6-1什么是数组
数组中的元素都能够通过下标来訪问。下标从 0 開始。比如,能够通过 scores[0] 获取数组中元素 76
6-2 怎样使用Java中的数组
Java 中操作数组仅仅须要四个步骤:
①声明数组
语法:数据类型[] 数组名;
或者 数据类型 数组名[];
当中,数组名能够是随意合法的变量名,如:
②分配空间
简单地说。就是制定数组中最多可存储多少个元素
语法:数组名 = new 数据类型 [数组长度];
当中,数组长度就是数组中能存放元素的个数,如:
我们也能够将上面的两个步骤合并,在声明数组的同一时候为它分配空间,如:
③赋值
分配空间后就能够向数组中放数据了,数组中元素都是通过下标来訪问的,如:
④处理数组中数据
我们能够对赋值后的数组进行操作和处理。如获取并输出数组中元素的值
在Java中还提供了第二种直接创建数组的方式,它将声明数组、分配空间和赋值合并完毕,如:
它等价于:
练习题:
解析
选项 A 须要指定数组的长度;
选项 C 在声明数组的同一时候赋值时不能指定数组长度。
选项 D 声明数组的语法错误。应为int[ ] score={ 78, 23, 44, 78 };
因此选择 B
6-3 使用循环操作 Java 中的数组
执行结果:
当中, 数组名.length 用于获取数组的长度
须要注意的“小毛病”:
1、 数组下标从 0 開始。
因此 scores[3] 。表示数组中的第 4 个元素。而并不是第 3 个元素
2、 数组下标的范围是 0 至 数组长度-1 。假设越界訪问,就会报错。如:
执行时会报例如以下错误:
上面错误信息的意思是数组下标超过范围,即数组訪问越界。在上面的代码中创建一个长度为 2 的数组,因此数组下标范围是 0 到 1 。而程序中下标出现了 2 ,即 scores[2] 。超过了范围,造成数组訪问越界。
6-4 使用 Arrays类 操作 Java 中的数组
Arrays 类 是 Java中提供的一个工具类,在 java.util包中。
该类中包括了一些方法用来直接操作数组,比方可直接实现数组的排序、搜索等。
Arrays 中经常使用的方法:
1.排序
语法:Arrays.sort(数组名);
能够使用 sort( ) 方法实现对数组的排序,仅仅要将数组名放在 sort( ) 方法的括号里。就能够完毕对该数组的排序(按升序排序)。如:
2、 将数组转换为字符串
语法:Arrays.toString(数组名);
能够使用 toString( )方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如:
执行结果:
输出数组nums中的元素:[25。7,126,53。14,86]
Arrays 类还提供了更多方法来操作数组。
6-5 使用 foreach 操作 Java 中的数组
foreach 并非 Java 中的keyword,是 for 语句的特殊简化版本号,在遍历数组、集合时,foreach更简单便捷。从英文字面意思理解 foreach
也就是“for 每个”的意思,那么究竟怎么使用 foreach语句呢?
也就是“for 每个”的意思,那么究竟怎么使用 foreach语句呢?
语法:
我们分别使用 for 和 foreach 语句来遍历数组
6-5 Java 中的二维数组
怎样使用二维数组呢,过程例如以下:
1.声明数组并分配空间
或者
如:
2.赋值
二维数组的赋值,和一维数组类似,能够通过下标来逐个赋值,注意索引从0開始
也能够在声明数组的同一时候为其赋值
如:
3.处理数组
二维数组的訪问和输出同一维数组一样,仅仅是多了一个下标而已。在循环输出时。须要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每个元素。
如:
执行结果:
须要了解的:在定义二维数组时也能够仅仅指定行的个数。然后再为每一行分别指定列的个数。假设每行的列数不同,则创建的是不规则的二维数组,例如以下所看到的:
执行结果为:
最新文章
- POJ1915Knight Moves(单向BFS + 双向BFS)
- HTML5 重要标签以及属性学习
- bzoj1005 [HNOI2008]明明的烦恼
- Android应用的核心基础
- 【Linux/Ubuntu学习3】解决ubuntu解压windows生成的zip文件时乱码问题
- 【CSS3】---曲线阴影翘边阴影
- 动态规划(DP计数):HDU 5116 Everlasting L
- Dollars
- Xcode之Alcatraz
- 大数据算法设计模式(1) - topN spark实现
- 学习flex布局(弹性布局)
- luogu 3582 线段树
- alertjs Documentation
- 【Android】Intent解读
- django源码解析之BigIntegerField (一)
- Android studio中出现Couldn't resolve resource @dimen/...
- ngx_lua配置及应用
- CentOS 6.5网络配置静态IP地址
- week 4 Vocabulary in paper
- 常用sql commands以及mysql问题解决日志
热门文章
- python3带参数的装饰器 函数参数类型检查
- 学习-短信的上行(MO)和下行(MT)详解
- oracle 使用REGEXP_SUBSTR正则表达式拆分字符串
- NYOJ 10 skiing (深搜和动归)
- 3.3v转5v开关电源芯片LM2731
- [git]git命令行自动补齐
- Secure Spring REST API using Basic Authentication
- 动态webservice调用接口
- 0047 Spring的AOP入门基础--切面组件--通知--切入点
- tail 命令详解