1.什么是数组

数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据

例如:int[] scores = {78,68,94,93};

2.如何使用Java中的数组

2.1申明数组

使用前先声明,声明方式是:
数据类型[] 数组名;

数据类型 数组名[];

例:int[] scores;等价int scores;

2.2分配空间

第二步需要为数组分配可以用的空间是多少。
分配方式是:
数组名 = new 数据类型[数组长度]

例:scores = new int[5]

说明:第一步中我们先使用int[] scores定义了一个数组,第二步中,我们给了scores数组分配了5个长度。
上面两步可以合在一起:

int[] scores = new int[5];

2.3赋值

利用上两步,我们创建了一个数组,第三步就需要往数组里面填充数据了。方式如下:

scores[0]=89;
scores[1]=78;

2.4另外一种创建数组的方式

上面使用了三个步骤来创建了一个数组,但是我们还有另外一种方式来创建一个数组,这个方式将数组的声明,分配空间,赋值都合并在一起了,方法如下:

int[] scores = {78,89,78,98};

这个完全等价于:

int[] scores = new int[]{78,89,78,98};

注意:这个右边的int[]里面是什么都不填的

3.遍历数组

遍历java数组一般都是用for,跟其他语言是一样的,特点有两个:
1.数组的小标是从0开始
2.数组最后一个数的下标是:数组长度-1
遍历如下:

 public class HelloWorld {
public static void main(String[] args) {
String[] hobbys = { "sports", "game", "movie" };
System.out.println("循环输出数组中元素的值:");
for(int i=0; i<hobbys.length; i++){
System.out.println(hobbys[i]);
}

4.使用Arrays类操作数组

java中对数组的一些操作方法都在Arrays中,这里举两个例子,其他的方法可以查询java.util.Arrays类
Arrays类是在java.util.Arrays,用的时候要先导入

4.1数组排序

使用方法:Arrays.sort(数组名);

4.2将数组转化为字符串

使用方法:Arrays.toString(数组名);
一个例子如下;

 //导入Arrays类
import java.util.Arrays; public class HelloWorld {
public static void main(String[] args) { // 定义一个字符串数组
String[] hobbys = { "sports", "game", "movie" }; // 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbys); // 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println( Arrays.toString(hobbys) );
}
}

5.使用foreach操作数组

foreach方法其实是for方法的一个简化,是不需要下表而对数组遍历的一种方法,使用语法如下:
for(元素类型 元素变量 : 遍历对象){
执行的代码
}
举个例子:

 import java.util.Arrays;

 public class HelloWorld {

     public static void main(String[] args) {

         // 定义一个整型数组,保存成绩信息
int[] scores = { 89, 72, 64, 58, 93 }; // 对Arrays类对数组进行排序
Arrays.sort(scores); // 使用foreach遍历输出数组中的元素
for ( int score :scores ) {
System.out.println(score);
}
}
}

6.Java中的二维数组

一维数组时,数组中每个位置保存的都是一个数据,二维数组中,数组中每个位置保存的都是一个数组,二维数组是一张表

6.1声明并分配空间

数据类型[][] 数组名=new 数据类型[行的个数][列的个数]
或者
数据类型[][] 数组名;
数组名 = new 数据类型[行的个数][列的个数]
例如:

int[][] num = new int[2][3]

6.2赋值

赋值是通过坐标赋值,坐标从0开始
数组名[行的索引][列的索引]=值;

例:num[0][0]=12;

6.3处理数据

二维数组处理数据是通过两个下坐标来的,通常遍历一个二维数组的时候是需要在一个for循环中再嵌套一个for循环

第5章 Java数组的更多相关文章

  1. 第3章 Java数组(上): 一维数组和二维数组

    3.数组及排序算法(2天) 3.1 数组的概述 2课时 3.2 一维数组的使用 3课时 3.3 多维数组的使用 3课时 3.4 数组中涉及到的常见算法 3课时 3.5 Arrays工具类的使用 3课时 ...

  2. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  3. “全栈2019”Java第二十九章:数组详解(中篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. 第23章 java线程通信——生产者/消费者模型案例

    第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...

  5. 第8章-Java集合 --- 概述

    第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...

  6. 《深入理解Java虚拟机》-----第2章 Java内存区域与内存溢出异常

    2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任 ...

  7. Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记

    第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...

  8. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  9. 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常

    第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  

随机推荐

  1. 《Pro ASP.NET MVC 4》异常整理

    最近在和同学一起研究毕业设计,准备模仿<Pro ASP.NET MVC 4>里面的SportsStore设计模式和测试驱动开发. 由于和书中VS版本不同,发现不少问题,在此总结. 用户代码 ...

  2. SpringMVC的工作原理

    1.首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于一定的原则选择合适的控制器进行处理并把请求委托给它. 2.页面控制器接收到请求 ...

  3. postgreSQL时间、日期函数

    一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select currnt_date: 1.3.获 ...

  4. 初识UML类图--类之间关系

    前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...

  5. WPF 数据绑定 1_1 基础知识&绑定到元素属性

    A.数据绑定基础: 数据源对象:WPF将从该对象中提取信息,交由目标对象进行显示. 目标对象:从数据源中提取信息,并赋给该对象的属性. B.绑定到元素属性 最简单的绑定情形则是将一个源对象指定为一个W ...

  6. jQuery弹出窗口浏览图片

    效果预览:http://keleyi.com/keleyi/phtml/jqtexiao/3.htm HTML文件代码: <!DOCTYPE HTML> <html> < ...

  7. if语句,case语句

    1.句式:if...then.判断赋值 例: if RadioButton1.Checked then sex:='男' else if RadioButton2.Checked then sex:= ...

  8. Python开发:环境搭建(python3、PyCharm)

    Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))

  9. 用C#缩小照片上传到各种空间

    中秋到了,首先祝各位猿友节日快乐!!! 本博文的原名称是“跟我一起用C#压缩照片上传到各种空间”,评论上有人开骂,没办法我这人就是自信霸气,但是既然有人提出来我还是改掉吧,如果文章写得不好的地方欢迎大 ...

  10. web开发技术-过滤器

    纪录自己的学习过程,帮助记忆 1.简介 过滤器是服务器端的一个组件,可以接收用户端的请求和响应信息,并且对这些信息进行过滤 过滤器不处理结果,只做一些辅助性操作 2.过滤器的工作原理 3.过滤器的生命 ...