第5章 Java数组
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数组的更多相关文章
- 第3章 Java数组(上): 一维数组和二维数组
3.数组及排序算法(2天) 3.1 数组的概述 2课时 3.2 一维数组的使用 3课时 3.3 多维数组的使用 3课时 3.4 数组中涉及到的常见算法 3课时 3.5 Arrays工具类的使用 3课时 ...
- Java语言程序设计(基础篇) 第七章 一维数组
第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...
- “全栈2019”Java第二十九章:数组详解(中篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 第23章 java线程通信——生产者/消费者模型案例
第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...
- 第8章-Java集合 --- 概述
第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...
- 《深入理解Java虚拟机》-----第2章 Java内存区域与内存溢出异常
2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任 ...
- Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记
第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常
第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域
随机推荐
- 《Pro ASP.NET MVC 4》异常整理
最近在和同学一起研究毕业设计,准备模仿<Pro ASP.NET MVC 4>里面的SportsStore设计模式和测试驱动开发. 由于和书中VS版本不同,发现不少问题,在此总结. 用户代码 ...
- SpringMVC的工作原理
1.首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于一定的原则选择合适的控制器进行处理并把请求委托给它. 2.页面控制器接收到请求 ...
- postgreSQL时间、日期函数
一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select currnt_date: 1.3.获 ...
- 初识UML类图--类之间关系
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...
- WPF 数据绑定 1_1 基础知识&绑定到元素属性
A.数据绑定基础: 数据源对象:WPF将从该对象中提取信息,交由目标对象进行显示. 目标对象:从数据源中提取信息,并赋给该对象的属性. B.绑定到元素属性 最简单的绑定情形则是将一个源对象指定为一个W ...
- jQuery弹出窗口浏览图片
效果预览:http://keleyi.com/keleyi/phtml/jqtexiao/3.htm HTML文件代码: <!DOCTYPE HTML> <html> < ...
- if语句,case语句
1.句式:if...then.判断赋值 例: if RadioButton1.Checked then sex:='男' else if RadioButton2.Checked then sex:= ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- 用C#缩小照片上传到各种空间
中秋到了,首先祝各位猿友节日快乐!!! 本博文的原名称是“跟我一起用C#压缩照片上传到各种空间”,评论上有人开骂,没办法我这人就是自信霸气,但是既然有人提出来我还是改掉吧,如果文章写得不好的地方欢迎大 ...
- web开发技术-过滤器
纪录自己的学习过程,帮助记忆 1.简介 过滤器是服务器端的一个组件,可以接收用户端的请求和响应信息,并且对这些信息进行过滤 过滤器不处理结果,只做一些辅助性操作 2.过滤器的工作原理 3.过滤器的生命 ...