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. 《c# 从入门经典》 (第6版) - c# 简介

    1,.NET Framework:是开发平台,包含两大部分: ①庞大的代码库(类库),可以在客户语言(C#,VB)中来使用这些代码 ②Common Language Runtime,负责管理应用程序的 ...

  2. java数据类型

    对String来说,”==“是用来判断两个字符串(对象)的地址是否相同,即判断是否是同一个字符串的应用.”equals()“则是判断两个字符串(对象)的值是否相等,如果相等则返回true.一般情况下, ...

  3. 微软Microsoft开源历程与相关资源

    2001 Open source is bad for business, saysMicrosoft Linux is a cancer 2005 Enterprise Library 1.0 re ...

  4. javascript组合继承

    javascript继承有几种继承方式,现在来说说其中的组合继承. 组合继承是结合了原型链和借用构造函数这两种技术的继承方式,分别利用它们的长处,避免了短处.那就先说说这两种技术吧. 原型链  原型链 ...

  5. 调用百度地图API

    http://lbsyun.baidu.com/index.php?title=jspopular

  6. javascript中的this和e.target的深入研究

    this 是javascript的一个关键字,当函数运行时在内部自动生成.this是会变化的,在不同的场合,代表的东西就不一样.简单点来说,this指调用这个函数的对象.当你使用this代表的当前ht ...

  7. iOS 事件传递响应链

    iOS中加载的时候会先执行main函数 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain( ...

  8. collection view 开发笔记

    使用collectionView 注册的cell 不会调用 init 方法 会调用 initwith fram 方法.

  9. jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解

    jQuery操纵DOM元素属性 attr()和removeAtrr()方法使用详解 jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的 ...

  10. select、poll、epoll区别总结

    1 本质上都是同步I/O 三者都是I/O复用,本质上都属于同步I/O.因为三者只是负责通知应用程序什么时候数据准备好了,实际的I/O操作还是在由应用程序处理:如果是异步I/O的话,实际I/O由内核处理 ...