Java基础(9)——数组
难点儿的已经过去啦,现在又开始基础了哈~
之前讲变量的时候,变量是一个个的呀~,那我要搞一串变量该啷个办呢?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)——数组的更多相关文章
- Java基础-反转数组
/** java基础,如何将一个数组反转,思考方法采用使用临时变量的情况下,将第一个元素与第二个元素进行反转,需要定义两个索引,一个记录数组的第一个元素与最后一个元素,将其两两交换* */public ...
- Java基础之 数组详解
前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...
- java基础(十) 数组类型
1. 数组类简介 在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...
- java 基础概念 -- 数组与内存控制
问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. ...
- Java基础:数组的声明,循环,赋值,拷贝。
数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...
- Java基础总结--数组
---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...
- java 基础知识-数组的7种算法(排序、求和、最值、遍历...)
遍历 遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如 double[] score = new double[5]; Scanner in ...
- Java基础之数组类型
对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...
- 黑马程序员——JAVA基础之数组
------- android培训.java培训.期待与您交流! ---------- 数组: 数组的定义: 数组是相同类型数据的集合, 描述的是相同类型的若干个数据按照一定的先后顺序排列组合而成,其 ...
- Java基础从数组到集合之间关键字的区别!!!!
1.&& 和 &区别和联系: 相同点 : 结果是一样的. 不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判 ...
随机推荐
- 查看Xcode配置文件
终端命令 open ~/Library/MobileDevice/Provisioning\ Profiles/ 除去多余的配置文件 Xcode -> Build Settings -> ...
- hive join的三种优化方式
原网址:https://blog.csdn.net/liyaohhh/article/details/50697519 hive在实际的应用过程中,大部份分情况都会涉及到不同的表格的连接, 例如在进行 ...
- [inside hotspot] 汇编模板解释器(Template Interpreter)和字节码执行
[inside hotspot] 汇编模板解释器(Template Interpreter)和字节码执行 1.模板解释器 hotspot解释器模块(hotspot\src\share\vm\inter ...
- 矩阵快速幂--51nod-1242斐波那契数列的第N项
斐波那契额数列的第N项 斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, ...
- Linux云服务器下Tomcat部署
基于阿里云Centos 7服务器的Tomcat 项目部署 工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位) Putty ssh远程连接云服务器的软件 FileZillaCli ...
- 学习总结 —— python
1.了解python 学习python 3 入门知识 python 库 .包 .模块 2.了解pycharm Pycharm 导入 Python 包.模块 pycharm 快捷键 3.了解djan ...
- grunt 实例构建(四)
相关插件的引用: grunt-usemin 对页面的操作 grunt-contrib-cssmin 压缩css load-grunt-tasks 瘦身gruntfile grunt-rev给md5 ...
- Dijkstra实现最短路径
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; const ...
- Java 网络通信相关
http://m.blog.csdn.net/xiaojin21cen/article/details/78587541 越下面越底层 , 最后面的都是框架 , 下面的是 编程语言提供的库的 NIO ...
- DB2 移动数据总结一
数据移动参考的连接 IMPORT http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cm ...