JavaSE入门学习9:Java基础语法之数组
一数组的定义
数组能够理解为是一个巨大的"盒子",里面能够按顺序存放多个类型同样的数据。比方能够定义int型的数组
scores存储4名学生的成绩。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
数组中的元素都能够通过下标来訪问。下标从0開始。比如,能够通过scores[0]获取数组中的第一个元素76。
scores[2]就能够取到第三个元素92。
二操作数组仅仅须要四个步骤:
1声明数组
语法:数据类型[ ] 数组名;或者 数据类型 数组名[ ];
当中,数组名能够是随意合法的变量名,如:
2分配空间
简单地说。就是指定数组中最多可存储多少个元素。
语法: 数组名 = new 数据类型[数组长度];
当中。数组长度就是数组中能存放元素的个数,如:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
我们也能够将上面的两个步骤合并。在声明数组的同一时候为它分配空间。如:
3赋值
分配空间后就能够向数组中放数据了,数组中元素都是通过下标来訪问的,比如向scores数组中存放学生成绩:
4处理数组中数据
我们能够对赋值后的数组进行操作和处理,如获取并输出数组中元素的值:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在Java中还提供了第二种直接创建数组的方式,它将声明数组、分配空间和赋值合并完毕,如:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
它等价于:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
三使用循环操作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 。假设越界訪问。就会报错。如:
上面错误信息的意思是数组下标超过范围。即数组訪问越界。在上面的代码中创建一个长度为2的数组,因此数
组下标范围是0到1,而程序中下标出现了2,即scores[2],超过了范围,造成数组訪问越界。
四使用Arrays类操作数组
Arrays类是Java中提供的一个工具类,在java.util包中。
该类中包括了一些方法用来直接操作数组。比方可直接实
现数组的排序、搜索等。
Arrays中经常使用的方法:
1排序
语法:Arrays.sort(数组名);
能够使用sort( )方法实现对数组的排序。仅仅要将数组名放在sort( )方法的括号里。就能够完毕对该数组的排序(按
升序排列),如:
执行结果:
2将数组转换为字符串
语法:Arrays.toString(数组名);
能够使用toString( )方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用
逗号和空格隔开,如:
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 语句呢?
语法:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
我们分别使用 for 和 foreach 语句来遍历数组:
执行结果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
六Java中的二维数组
所谓二维数组,能够简单的理解为是一种“特殊”的一维数组,它的每一个数组空间中保存的是一个一维数组。
那么怎样使用二维数组呢,过程例如以下:
1声明数组并分配空间
或者
如:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2赋值
二维数组的赋值,和一维数组类似,能够通过下标来逐个赋值,注意索引从0開始:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
也能够在声明数组的同一时候为其赋值
如:
3处理数组
二维数组的訪问和输出同一维数组一样。仅仅是多了一个下标而已。
在循环输出时,须要里面再内嵌一个循环。即
使用二重循环来输出二维数组中的每个元素。如:
执行结果:
须要了解的:在定义二维数组时也能够仅仅指定行的个数,然后再为每一行分别指定列的个数。假设每行的列数不
同。则创建的是不规则的二维数组。例如以下所看到的:
执行结果为:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
JavaSE入门学习9:Java基础语法之数组的更多相关文章
- Java基础语法(7)-数组
title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...
- Java基础语法(8)-数组中的常见排序算法
title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...
- Java基础语法(数组)
第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...
- java学习笔记 --- java基础语法
一.java标识符,关键字,保留字 1.标识符 用来增强程序阅读性自定义的名字.类名,变量名,方法名等都可以被称为标识符 标识符的组成: 1.由数字(0-9),字母(a-z,A-Z),下划线(_),美 ...
- Java基础语法:数组
一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...
- Java基础语法(三)---数组
一.概念 同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...
- Java基础语法<六> 数组 Arrays
笔记整理 来源于<Java核心技术卷 I > <Java编程思想> 允许数组长度为0 new element[0] 数组长度为0与null不同 1. 数组拷贝 允许将一 ...
- Java基础语法(9)-面向对象之类的成员
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
- Java基础语法(10)-面向对象之三大特征
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
随机推荐
- JavaEE-05 分页与文件上传
学习要点 新闻分页显示数据 新闻图片上传 JSP分页显示数据 分页 数据信息较多的的时候一般采用列表显示,方便展示信息: 数据量较大的时候一般采用列表加分页的方式显示,便于阅读. 分页方式:集合或者s ...
- HTML基础(四)表格
定义和用法 <table> 标签定义 HTML 表格. 简单的 HTML 表格由 table 元素以及一个或多个 tr.th 或 td 元素组成. tr 元素定义表格行,th 元素定义表头 ...
- js模块化入门与commonjs解析与应用
JS模块化的基本原理 commonjs规范 commonjs在前端模块化中的基本使用 AMD与CMD规范剖析博客链接 一.JS模块化基本原理 在JS没有提出来模块化的时候,开发JS项目比较简单,同时也 ...
- node程序的部署神器pm2的基本使用
pm2是从nodejs衍生出来的服务器进程管理工具,可以做到开机就启动nodejs.当然了,也可以用nohup来做这件事情的. 前言 众所周知,Node.js运行在Chrome的JavaScript运 ...
- mysql查询速度慢的原因[整理版]
在以前的博客中陆续记录了有关查询效率方面的文章.今天在整理一下,写上自己的一些心得记录如下:常见查询慢的原因常见的话会有如下几种:1.没有索引或没有用到索引.PS:索引用来快速地寻找那些具有特定值的记 ...
- Docker安装Oracle12C,导入dmp文件出现ORA-12170错误
oracle版本为 sath89/oracle-12c oracle基本信息 hostname: localhost port: 1521 sid: xe username: system passw ...
- poj1681 Painter's Problem
题目描述: 和那道关灯差不多,求最少涂几次. 题解: 高消,然后深搜枚举自由元更新答案. 貌似这道题没卡贪心但是其他题基本都卡了. 比如$Usaco09Nov$的$lights$ 代码: #inclu ...
- Oracle 11G RAC 修改IP
实验环境 类别 修改前 修改后 PUBLIC 172.18.4.182 rac1 192.168.56.10 rac1 172.18.4.184 rac2 192.168.56.20 rac2 PRI ...
- 算法导论 第八章 线性时间排序(python)
比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比 ...
- JQuery,CSS的小理解
*一个按钮可以在css里面设计样式(定义长宽高,位置),在jsp里面也有部分,通过jQuery定义function()及点击后的动作 *jQuery就是封装好javascript(js代码)的一系列动 ...