JavaSE入门学习9:Java基础语法之数组

时间:2022-09-03 14:07:32

一数组的定义

数组能够理解为是一个巨大的"盒子",里面能够按顺序存放多个类型同样的数据。比方能够定义int型的数组

scores存储4名学生的成绩。

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

数组中的元素都能够通过下标来訪问。下标从0開始。比如,能够通过scores[0]获取数组中的第一个元素76。

scores[2]就能够取到第三个元素92。

二操作数组仅仅须要四个步骤:

1声明数组

语法:数据类型[ ] 数组名;或者 数据类型 数组名[ ];

当中,数组名能够是随意合法的变量名,如:

JavaSE入门学习9:Java基础语法之数组

2分配空间

简单地说。就是指定数组中最多可存储多少个元素。

语法:  数组名 = new  数据类型[数组长度];

当中。数组长度就是数组中能存放元素的个数,如:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

我们也能够将上面的两个步骤合并。在声明数组的同一时候为它分配空间。如:

JavaSE入门学习9:Java基础语法之数组

3赋值

分配空间后就能够向数组中放数据了,数组中元素都是通过下标来訪问的,比如向scores数组中存放学生成绩:

JavaSE入门学习9:Java基础语法之数组

4处理数组中数据

我们能够对赋值后的数组进行操作和处理,如获取并输出数组中元素的值:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在Java中还提供了第二种直接创建数组的方式,它将声明数组、分配空间和赋值合并完毕,如:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

它等价于:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

三使用循环操作Java中的数组

实际开发中我们常常使用循环控制数组成员的操作。如:

JavaSE入门学习9:Java基础语法之数组

执行结果:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

当中,  数组名.length用于获取数组的长度

须要注意的事项有:

1数组下标从0開始。

因此scores[3] ,表示数组中的第4个元素。而并不是第3个元素;

2数组下标的范围是0至数组长度-1 。假设越界訪问。就会报错。如:

JavaSE入门学习9:Java基础语法之数组

上面错误信息的意思是数组下标超过范围。即数组訪问越界。在上面的代码中创建一个长度为2的数组,因此数

组下标范围是0到1,而程序中下标出现了2,即scores[2],超过了范围,造成数组訪问越界。

四使用Arrays类操作数组

Arrays类是Java中提供的一个工具类,在java.util包中。

该类中包括了一些方法用来直接操作数组。比方可直接实

现数组的排序、搜索等。

Arrays中经常使用的方法:

1排序

语法:Arrays.sort(数组名);

能够使用sort( )方法实现对数组的排序。仅仅要将数组名放在sort( )方法的括号里。就能够完毕对该数组的排序(按

升序排列),如:

       JavaSE入门学习9:Java基础语法之数组

执行结果:

JavaSE入门学习9:Java基础语法之数组

2将数组转换为字符串

语法:Arrays.toString(数组名);

能够使用toString( )方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用

逗号和空格隔开,如:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

执行结果为:输出数组nums中的元素:[25。7,126,53,14,86]

Arrays类还提供了更多方法来操作数组此处就不一一列举。

五使用foreach操作数组

foreach并非Java中的keyword,是for语句的特殊简化版本号。在遍历数组、集合时。foreach 更简单便捷。从英文

字面意思理解foreach也就是“ for 每个”的意思,那么究竟怎么使foreach 语句呢?

语法:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

我们分别使用 for 和 foreach 语句来遍历数组:

JavaSE入门学习9:Java基础语法之数组

执行结果:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

六Java中的二维数组

所谓二维数组,能够简单的理解为是一种“特殊”的一维数组,它的每一个数组空间中保存的是一个一维数组。

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

1声明数组并分配空间

JavaSE入门学习9:Java基础语法之数组

或者

JavaSE入门学习9:Java基础语法之数组

如:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2赋值

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

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

JavaSE入门学习9:Java基础语法之数组

如:

JavaSE入门学习9:Java基础语法之数组

3处理数组

二维数组的訪问和输出同一维数组一样。仅仅是多了一个下标而已。

在循环输出时,须要里面再内嵌一个循环。即

使用二重循环来输出二维数组中的每个元素。如:

JavaSE入门学习9:Java基础语法之数组

执行结果:

JavaSE入门学习9:Java基础语法之数组

须要了解的:在定义二维数组时也能够仅仅指定行的个数,然后再为每一行分别指定列的个数。假设每行的列数不

同。则创建的是不规则的二维数组。例如以下所看到的:

JavaSE入门学习9:Java基础语法之数组

执行结果为:

JavaSE入门学习9:Java基础语法之数组

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

JavaSE入门学习9:Java基础语法之数组的更多相关文章

  1. Java基础语法(7)-数组

    title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...

  2. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  3. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  4. java学习笔记 --- java基础语法

    一.java标识符,关键字,保留字 1.标识符 用来增强程序阅读性自定义的名字.类名,变量名,方法名等都可以被称为标识符 标识符的组成: 1.由数字(0-9),字母(a-z,A-Z),下划线(_),美 ...

  5. Java基础语法:数组

    一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...

  6. Java基础语法(三)---数组

    一.概念         同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...

  7. Java基础语法<六> 数组 Arrays

    笔记整理 来源于<Java核心技术卷 I > <Java编程思想>   允许数组长度为0 new element[0] 数组长度为0与null不同   1. 数组拷贝 允许将一 ...

  8. Java基础语法&lpar;9&rpar;-面向对象之类的成员

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

  9. Java基础语法&lpar;10&rpar;-面向对象之三大特征

    title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...

随机推荐

  1. VPS&sol;云主机 如何试用远程连接登录主机服务器&lowbar;

    1.windows主机如何远程登录 点本地电脑开始>运行(或者按"window+R")>输入mstsc点确定 弹出远程连接的框输入IP连接,  如果是VPS,直接输入I ...

  2. 如何让图片在垂直方向与 div的底部对齐 水平居中

    需要图片的绝对定位postion: absolute. 一般定位时, 是用div去定位. 一般不直接用 非div去"绝对/相对"定位. 如不直接用 等去定位. 因为这些好像不好定位 ...

  3. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

  4. js string to int

    一.js中string转int有两种方式 Number() 和 parseInt() <script>     var   str='1250' ;  alert( Number(str) ...

  5. 《精通移动app测试实战:技术、工具和案例》图书目录

    图书相关链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https ...

  6. dede图片横向滚动

    <div id=demo style="overflow:hidden; width:960px;" > <table border=0 align=" ...

  7. Android 它们的定义ContentProvider和ContentObserver充分利用

    在他们的定义ContentProvider结合ContentObserver一起使用时,自己写的ContentProvider,在运行完insert.delete和update后,要手动地调用getC ...

  8. java继承属性相关介绍

    这个只需要记住一点,父类的任何属性(变量可以看做属性),子类均可继承并覆盖,allType(father)-->changeAnyType(son)-->AnyType 这是父类的所有代表 ...

  9. &quot&semi;做中学&quot&semi;之&OpenCurlyDoubleQuote;极客时间”课程学习指导

    目录 "做中学"之"极客时间"课程学习指导 所有课程都可以选的课程 Java程序设计 移动平台开发 网络攻防实践 信息安全系统设计基础 信息安全专业导论 极客时 ...

  10. Codeforces519 E&period; A and B and Lecture Rooms

    传送门:>Here< 题意:询问给出一棵无根树上任意两点$a,b$,求关于所有点$i$,$dist(a,i) = dist(b,i)$的点的数量.要求每一次询问在$O(log n)$的时间 ...