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,不会判断条件二,但是单&号会继续判 ...
随机推荐
- python之爬虫(二)爬虫的原理
在上文中我们说了:爬虫就是请求网站并提取数据的自动化程序.其中请求,提取,自动化是爬虫的关键!下面我们分析爬虫的基本流程 爬虫的基本流程 发起请求通过HTTP库向目标站点发起请求,也就是发送一个Req ...
- JQuery的基本用法总结
1.jquery概念 是js的一个类库 (对js中某些功能的封装) 用jq实现的功能一定能用js实现 反过来 不一定 ,js实现的功能jq不一定能实现 2.jquery好处 1.代码简洁 2. ...
- NOI2014起床困难综合症
Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...
- Python+selenium 模拟wap端页面操作
from selenium.webdriver.chrome.options import OptionsmobileEmulation = {'deviceName': 'iPhone X'}opt ...
- P2540 斗地主增强版
P2540斗地主增强版 参考大佬题解 思路:顺子暴力搜,剩下的牌我不会贪心所以用记忆化搜索(或者dp): 注意:双王不能当对,二不算顺子 代码 #include <cstdio> #inc ...
- P4175 [CTSC2008]网络管理 树剖+树套树
$ \color{#0066ff}{ 题目描述 }$ M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通 ...
- [原创]Heroku简单部署指南
目录 1. 设置 1.1 环境依赖 1.2 Heroku 客户端安装 1.3 登录 2. 应用 2.1 创建 2.2 查看日志 2.3 附加组件 2.4 交互式 Shell 2.5 定义 配置变量 2 ...
- CoreText 图文混排
基本原理 https://www.cnblogs.com/purple-sweet-pottoes/p/5109413.html CoreText(一):基本用法 https://blog.csdn ...
- Rstudio常用快捷键 “原版+中文” 整理
- 限制USB延迟启动
阻止用户从未经授权的位置安装设备驱动程序. 组策略 ...too long too see directly. what determins when a drivers i s load. spe ...