难点儿的已经过去啦,现在又开始基础了哈~

之前讲变量的时候,变量是一个个的呀~,那我要搞一串变量该啷个办呢?Java给我们出了个好东西叫数组(*^▽^*)

数组呢,就是将变量一组一组的存起来,这个也是需要先声明然后初始化的。但是这个不属于八种基本类型哈,属于引用类型(Java基础5)。

数组定义

数组定义有四种方式:

1. 先声明,再初始化

声明:类型[] 名称;
初始化:名称 = new 类型[]{元素1, 元素2, 元素…, 元素n};

2. 声明初始化一起

声明&初始化:类型[] 名称 = {元素1, 元素2, 元素…, 元素n};

3. 一起的另一种语法

声明&初始化:类型[] 名称= new 类型[]{元素1, 元素2, 元素…, 元素n};

4. 只给数组长度不给数值

声明:类型[] 名称 = new 类型[数字];

5. 举个栗子

String[] today = {"hello","world","from","ahan"};

数组下标

下标,可以说是数组中元素的编号。而编号在大多数编程语言中,一般都是从0开始,所以咱们数组的下标也是从0开始。比如上面的today,第0个元素就是“hello”。

那怎么来使用它呢?

// 名称[下标]
System.out.println(today[0]);

这样就可以啦。输出的结果:。刚好就是上一段说的hello哦~

以此类推,我们要拿到from,就可以用today[2]了~

说到这里,上面第4点,【类型 名称 = new 类型[长度]】里的长度,不是说的下标哦~比如我today有四个元素,所以它的长度为4,但是它最大的下标是3哦!

数组常用的几个方法

1. 获取长度(length)

众所周知,长度的英文单词是length(不知道也可以啦,现在知道了哈哈哈)。那么获取数组的长度:

System.out.println(today.length); 

对, 名称.length 就是计算获取方法了~

2. 打印输出

直接打印数组

System.out.println(today);

会发现一些奇怪的东西:

诶?和我们想要的不太一样……emm,因为数组是一个引用类型,是对象,所以他这里输出的是对象的形式。对象是什么不重要哈哈哈,目前来说没讲到的对象的话,就把它当做一个普通名词听吧…那这里稍微解释一下输出的这个东西:

[Ljava.lang.String;@7b1d7fff
[ 一维数组
[[ 二维数组
L 对象类型
java.lang.String;对象的标准类名
7b1d7fff 内部的hashcode

所以正题来了,怎么打印数组内容呢?

a. 循环打印

for (int i = 0; i < today.length; i++) {
System.out.println(today[i]);
}

emm,打印输出的东西:

b. Arrays打印

import java.util.Arrays;
...
System.out.println(Arrays.toString(today));

这个打印的就舒服一点:

#二维数组

1. 定义

声明:类型[][] 名称;

2. 元素

二维数组的意思就是在一维数组里面存入另一个数组,就是

int[][] tomorrow = {{1,2,3},{4,5,6}};
类型[][] 名称 = {数组1, 数组2, 数组…,数组n}

像这样,有没有很酷呢?

但是由于每个二维数组中有多个一维数组,而每个数组都是一个对象,所以对于二维数组,我们又不能用Arrays来进行打印操作了,我们只能使用双重循环来进行打印输出这个二维数组。

// 以tomorrow的长度为终止条件
for (int i = 0; i < tomorrow.length; i++) {
// 以第i个数组的长度为终止条件
for (int j = 0; j < tomorrow[i].length; j++) {
// 输出每个值
System.out.print(tomorrow[i][j]);
}
// 换行
System.out.println();
}

#多维数组

在一维数组里放一维数组,就变成二维数组了,在二维数组放二维数组就是三维数组了||ヽ(* ̄▽ ̄*)ノミ|Ю

多维数组大家都知道咋办了吧ε=(´ο`*)))

int[][][] three = {{{1,2,3},{4,5,6}},{{7,8,9},{0,1,2}}};

打印也是和二维数组一样:

for (int i = 0; i < three.length; i++) {
for (int j = 0; j < three[i].length; j++) {
for (int j2 = 0; j2 < three[i][j].length; j2++) {
System.out.print(three[i][j][j2]);
}
System.out.println();
}
}
------------------------------------------------------------

以上,阿里嘎多,20190417 from ahanwhite。

Java基础(9)——数组的更多相关文章

  1. Java基础-反转数组

    /** java基础,如何将一个数组反转,思考方法采用使用临时变量的情况下,将第一个元素与第二个元素进行反转,需要定义两个索引,一个记录数组的第一个元素与最后一个元素,将其两两交换* */public ...

  2. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  3. java基础(十) 数组类型

    1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...

  4. java 基础概念 -- 数组与内存控制

    问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. ...

  5. Java基础:数组的声明,循环,赋值,拷贝。

    数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...

  6. Java基础总结--数组

    ---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...

  7. java 基础知识-数组的7种算法(排序、求和、最值、遍历...)

    遍历 遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如 double[] score = new double[5]; Scanner in ...

  8. Java基础之数组类型

    对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...

  9. 黑马程序员——JAVA基础之数组

    ------- android培训.java培训.期待与您交流! ---------- 数组: 数组的定义: 数组是相同类型数据的集合, 描述的是相同类型的若干个数据按照一定的先后顺序排列组合而成,其 ...

  10. Java基础从数组到集合之间关键字的区别!!!!

    1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...

随机推荐

  1. 2个list取交集

    list操作 element in a list and element in other list,元素在一个list,且在另一个list 在数据量大的时候使用set,把list转为集合,此方法适合 ...

  2. RDLC报表的相关技巧四(报表内依照分组重置页码)

    报表中不同的组重置页数,如采购订单每一个PO显示的页数都是针对这个PO的,而不是总的页数. 步骤: 1.在各组实例中启用分页符2.用高级模式将组的属性中的ResetPageNumber设置为True3 ...

  3. Java面向对象之异常(throw与throws)

    一.基础概念 1.throw和throws的区别: 位置不同:throws用在函数上,后面跟的是异常类,可以跟多个. throw用在函数内,后面跟的是异常对象. 功能不同:throws用来声明异常,让 ...

  4. python3的enumerate函数

    enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.

  5. PHP中SimpleXMLElement对象字符编码

    最近在使用SimpleXMLElement来生成和解析XML. 由于我们使用PHP开发的这边使用UTF-8编码,而对方使用GBK编码,因此就遇到了中文字符编码问题. 后来发现,XML内部的编码与其头 ...

  6. 使用bootstrap-table等自动使用ajax地址载入数据的插件的数据设计建议

    提出问题: bootstrap-table 可以根据ajax地址load的json数据.这个json数据一般就是数据库中查询的结果,而数据库中存放的数据一般不是用户友好的,比如数据表示一般使用简洁id ...

  7. 集合之四:List接口

    查阅API,看List的介绍.有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的 ...

  8. 编写高质量代码:Web前端开发修炼之道(三)

    第五章:高质量的Javascript 这章的内容我看的最久,这是跟我js基础没打好有着莫大的关系,但是还是耐着性子看完了, 不懂的东西都是百度上搜索,理解后再继续.下面是记录下来的笔记. 1)如何避免 ...

  9. java设计模式:简单实现生产者和消费者模式

    *博客搬家:初版发布于 2016/04/15 20:31    原博客地址:https://my.oschina.net/sunqinwen/blog/660881 本实例中单独为生产者和消费者各开辟 ...

  10. [转] Jenkins pipeline 中获取 exit code, stdout and stderr 返回值和输出

    [From] https://issues.jenkins-ci.org/browse/JENKINS-44930 其做法是,把stdout定向到一个文件,sh 配置 returnStatus: tr ...