这是我学习慕课网Java课程的笔记,原视频链接为:http://www.imooc.com/learn/85



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 语句来遍历数组


6-5 Java 中的二维数组

怎样使用二维数组呢,过程例如以下:

1.声明数组并分配空间

或者


如:


2.赋值

二维数组的赋值,和一维数组类似,能够通过下标来逐个赋值,注意索引从0開始

也能够在声明数组的同一时候为其赋值


如:


3.处理数组

二维数组的訪问和输出同一维数组一样,仅仅是多了一个下标而已。在循环输出时。须要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每个元素。

如:


执行结果:


须要了解的:在定义二维数组时也能够仅仅指定行的个数。然后再为每一行分别指定列的个数。假设每行的列数不同,则创建的是不规则的二维数组,例如以下所看到的:


执行结果为:

Java入门 第一季第六章 数组的更多相关文章

  1. 《java入门第一季》二维数组三个案例详解

    案例一:遍历二维数组 /* 需求:二维数组遍历 外循环控制的是二维数组的长度,其实就是一维数组的个数行数. 内循环控制的是一维数组的长度,每一行,一维数组元素分别的个数. */ class Array ...

  2. Java入门 第一季第五章 编程练习解析

    这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 5-1 基本写法 自己主动补全快捷键:alt + / 5-2 输入输出 使用Scanner ...

  3. JAVA入门第一季(mooc-笔记)

    笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...

  4. Java入门第一季——从此投身Java??

    找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简 ...

  5. Java入门第一季学习总结

    一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...

  6. Java入门第一季

    慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...

  7. 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)

    根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...

  8. 《java入门第一季》之面向对象(谈谈接口)

    软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的 ...

  9. 慕课网-Java入门第一季-6-8 使用 foreach 操作数组

    来源:http://www.imooc.com/code/1864 foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组.集合时, foreach 更简单便捷.从英 ...

随机推荐

  1. python中,== 与 is 之间区别

    在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制. 扯淡的话不多说,下面马 ...

  2. 关于comet

    Comet是彗星的意思,这一技术之所以借用这个名字,是因为这里的每一次请求都有一个长长的“尾巴”.这个长尾巴就是我们感兴趣的长连接. 因为长连接的实现,Comet可以不需要安装浏览器插件就可以向客户端 ...

  3. PyPy与VirtualEnv的安装问题

    PyPy与VirtualEnv的安装问题 说明:本博客由bitpeach原创撰写,请勿商用.转载免费,请注明出处,谢谢. (零)背景 VirtualEnv工具的详细内容是什么,请自行百度.这里大概简介 ...

  4. js实现页面元素随着内容的滚动而滚动

      CreateTime--2017年9月4日16:55:06 Author:Marydon js实现页面元素随着内容的滚动而滚动 分析: CSS样式,使用绝对定位确定好页面元素在屏幕的位置(如:正中 ...

  5. Name与x:Name的关系

    小序:   如果想用Google搜包含冒号的内容怎么办?比如我想搜x:Name这个字符串…… 原来,应该是这样——x::Name 这世道,连搜索也要加转义,全民程序员,要不要人活了?   正文:   ...

  6. 《转》oracle—flashback

    FLASHBACK介绍 在介绍flashback之前先介绍下undo_retention相关参数 undo_retention:表示undo数据的过期时间.系统默认这个时间设置为900即15分钟.但要 ...

  7. sql getdate()生成单据号

    select replace( replace( replace( replace(convert(varchar(23),getdate(),121),'-',''),':',''),' ','') ...

  8. core文件无堆栈信息定位的思路

    首先需要介绍一下,阅读此文需要有基本的汇编知识. 1.rbp(基址寄存器),rsp(堆栈寄存器),rip(指令寄存器). 2.程序执行时,没有遇到函数调用时,IP自增长,遇到函数调用时, 需要保存bp ...

  9. 设置iptables允许ssh、http、ftp服务

    系统环境:centos-6.5 服务器:thinkserver 知识扫盲: NEW:这个包是我们看到的第一个包 ESTABLISHED:一个连接要从NEW变 为ESTABLISHED,只需要接到应答包 ...

  10. 多线程-wait/notify/notifyAll

    引言 在Java中,可以通过配合调用Object对象的wait,notify和notifyAll来实现线程间的通信. 在线程中调用wait方法,将阻塞带带其他线程的通知(其他线程调用notify或no ...