Java 之数组(4)
什么是数组:
问:编写代码保存 4 名学生的考试成绩。
答:简单啊,定义 4 个变量呗
问:那“计算全年级 400 名学生的考试成绩”,肿么办
答: 。。。。。。。
数组,就可以帮助你妥妥的解决问题啦!!
数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩

数组中的元素都可以通过下标来访问,下标从 0 开始。例如,可以通过 scores[0] 获取数组中的第一个元素 76 ,scores[2] 就可以取到第三个元素 92 啦!
例如:
public class HelloWorld {
public static void main(String[] args) {
// 定义一个数组,保存五名学生的成绩
int[] scores = { 78, 93, 97, 84, 63 };
// 输出数组中的第二个成绩
System.out.println("数组中的第2个成绩为:" + scores[1] );
}
}
如何使用Java中的数组:
Java 中操作数组只需要四个步骤:
1、 声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ];
其中,数组名可以是任意合法的变量名,如:

2、 分配空间
简单地说,就是指定数组中最多可存储多少个元素
语法: 数组名 = new 数据类型 [ 数组长度 ];
其中,数组长度就是数组中能存放元素的个数,如:

话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:

3、 赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩

4、 处理数组中数据
我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值

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

它等价于:

使用 Arrays 类操作 Java 中的数组:
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等
Arrays 中常用的方法:
1、 排序
语法: Arrays.sort(数组名);
可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列),如:
import java.util.Arrays;
public class HelloWorld{
public static void main(String[] args){
// 定义一个整形数组
int [] scores = {78, 93, 97, 84, 63};
// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(scores);
System.out.println("排序后数组中元素的值:");
// 循环遍历输出数组中的元素
for (int i = 0; i < scores.length; i ++){
System.out.println(scores[i]);
}
}
}
运行结果:

2、 将数组转换为字符串
语法: Arrays.toString(数组名);
可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如:

运行结果为:
输出数组nums中的元素:[25,7,126,53,14,86]
使用 foreach 操作数组:
foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思,那么到底怎么使用 foreach 语句呢?
语法:

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

运行结果:

看到 foreach 的方便了吧!!
Java 中的二维数组:
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
那么如何使用二维数组呢,步骤如下:
1、 声明数组并分配空间

或者

如:

2、 赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始

也可以在声明数组的同时为其赋值

如:

3、 处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:

运行结果:

需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:

运行结果为:

Java 之数组(4)的更多相关文章
- java中数组的相关知识
1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[ ...
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- java将数组中的零放到末尾
package com.shb.java; /** * 将数组中的0放到数组的后边,然后原来的非零数的顺序不改变 * @author BIN * */ public class Demo2{ publ ...
- Java中数组的特性
转载:http://blog.csdn.net/zhangjg_blog/article/details/16116613 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具 ...
- 在java 中,数组与 List<T> 类型的相互转换
在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 ...
- Java RGB数组图像合成 ImageCombining (整理)
/** * Java RGB数组图像合成 ImageCombinning (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 * * 注意事项: * 1.本程序为java程序,同时感谢您花费 ...
- java对象数组
问题描述: java 对象数组的使用 问题解决: 数组元素可以是任何类型(只要所有元素具有相同的类型) 数组元素可以是基本数据类型 数组元素也可以是类对象,称这样的数组为对象数组.在这种情况下 ...
- Java中数组的初始化方式
Java中数组的初始化方式 初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...
- Java动态数组
其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList. ...
随机推荐
- c++primer 学习笔记
1.1 编写简单的c++程序 函数4元素:函数类型.函数名.形参表.函数体 调用GNU(UNIX) g++ prog1.cc -o prog1 //生成可执行文件prog1,UNIX下默认a.out ...
- 基于iTop4412的FM收音机系统设计(一)
说明:第一版架构为:APP+JNI(NDK)+Driver(linux),优点是开发简单,周期短,也作为自己的毕业设计 现在更新第二版,FM服务完全植入Android系统中,成为系统服务,架构为:AP ...
- eAccelerator 配置参数详解
eAccelerator配置参数如下: [eaccelerator]extension=eaccelerator.soeaccelerator.shm_size="64"eacce ...
- UML-6.3-用例-详述示例
用例标示:摘要(主成功场景).非正式(几乎所有场景).详述. 下边主要说下详述.其模板: 例子: 用例UC1:处理销售 范围 NextGen POS应用 级别 用户目标 主要参与者 收银员 涉众及关注 ...
- Monkey基本使用(转载)
什么是 Monkey Monkey 是一个 Android 自动化测试小工具.主要用于Android 的压力测试, 主要目的就是为了测试app 是否会Crash. Monkey 特点 顾名思义,Mon ...
- c# 小票打印
c# 在进行小票打印时大致有三种方法. 1. 使用水晶报表进行打印.可以参考:https://www.cnblogs.com/aitong/p/10717786.html 2. 在 PrintDocu ...
- 基础selenium+Python(定位、等待、打印)
1.第一个脚本 # coding = utf-8 from selenium import webdriver browser = webdriver.Firefox() browser.get(&q ...
- ES6数组新加 Buff
欢迎关注本人公众号<迈向大前端>,里面有15本前端相关的电子书,送给在前端路上迷茫的同学们! 本章篇幅很长,分开来发,这一小篇主要讲ES6数组的Array.of()和Array.from( ...
- MySQL 主重复 时时
MySQL .7开启Enhanced Multi-Threaded Slave配置: #slave slave-parallel-type=LOGICAL_CLOCK slave master_inf ...
- ExtJs6内嵌iframe,nginx部署本地前台文件
/** * Created by Wwei on 2016/9/1. */ Ext.define('Admin.view.photo.CADMultiUploadForm', { extend: 'E ...