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. TensorFlow知识总结

    学习资料: 英文官方网站 Tensorflow 将要写的博客目录: 1.使用Spring AOP对异常进行统一处理 2.动态代理模式理解  aop中的动态代理模式 3.工厂模式三种的理解.logger ...

  2. BaseAdapter的抽取

    为了更方便高效的使用BaseAdapter,特意抽取了一下,下面是简单的结构图: 需要4个类: [MyBaseAdapter3]: public abstract class MyBaseAdapte ...

  3. socket.io,io=Manager(source, opts)

    原文:http://www.cnblogs.com/xiezhengcai/p/3968067.html 当我们在使用 var socket = io("ws://103.31.201.15 ...

  4. js 假值

    function demo(a){ if(a){ console.log(111); }else{ console.log(222); } } demo(0) html_dom.html:27 222 ...

  5. 实现UITextView的placeholder

    我们知道在iOS开发时,控件UITextField有个placeholder属性,UITextField和UITextView使用方法基本类似,有两个小区别:1.UITextField单行输入,而UI ...

  6. iOS笔记之NSSet

     一.简介 NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合: NSSet  , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的, ...

  7. SharePoint 2013 激活标题字段外的Menu菜单

    前言 SharePoint 有个很特别的字段,就是标题(Title)字段,无论想要链接到项目,还是弹出操作项目的菜单,都是通过标题字段,一直以来需要的时候,都是通过将标题字段改名进行的. 其实,Sha ...

  8. Android—android与js交互以及相互传参

    Android中可以通过WebView来实现与js的交互,让用户可以在android客户端看到js写的页面,接下来为大家介绍的就是怎样实现此功能: 首先android项目目录下有“assets”文件夹 ...

  9. 清理mac本内存

    如果你很久没有删除xcode的缓存文件,由于你每天要运行新的xcode文件,那么你的硬盘空间会越来越小,位于/Users/*home名称*/Library/Developer/Xcode/Derive ...

  10. Xcode8开发iOS10推送通知过程

    iOS10发布后,简书优先开发增加了iOS10的新通知.本文分享整个feature的开发过程遇到的问题. 1.工程配置 Xcode8发生了很大的变化,直接打开原来的工程编译运行,这个时候是获取不到Pu ...