Java6 初识数组
Posted 爱书不爱输的程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java6 初识数组相关的知识,希望对你有一定的参考价值。
欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流
目前,已开了以下专栏,欢迎关注与指导
1️⃣Java基础知识系统学习(持续更文中…)
2️⃣UML的应知应会(已更完)
3️⃣MySQL的应知应会(持续更文中…)
4️⃣ 还有更多文章在主页,欢迎访问爱书不爱输的程序猿
本文收录于Java基础知识系统学习专栏,次专栏是针对初学者打造,完成从0到1的跨越
初识数组
数组对于每一门编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来存储固定大小的同类型元素。
- 数组中的每个元素具有相同的数据类型。
- 在Java中将数组看作一个对象,虽然基本数据类型不是对象,但由基本数据类型组成的数组却是对象。
- 在程序设计中引入数组可以更有效地管理和处理数据
1.一维数组
- 一维数组实质上是一组
相同类型数据
的线性集合
,当在程序中需要处理一组数据,或者传递一组数据时,可以应用这种类型的数组。
1.1创建一维数组
- 在使用数组之前,必须
首先定义
数组变量所属的类型
。 - 声明一维数组有下列两种方式:
数组元素类型 数组名字[ ];
数组元素类型[ ] 数组名字;
数组元素类型决定了数组的数据类型,它可以是Java中任意的数据类型,包括简单类型和组合类型。
数组名字为一个合法的标识符,符号"[ ]“指明该变量是一个数组类型变量。
单个”[ ]"表示要创建的数组是一个一维数组。
1.1.1 一维数组的创建方法1
- 1.先声明
int arr[];
//声明int型数组,数组中的每个元素都是int型数值
声明
数组后
,不能立即访问
它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型- 想真正使用数组,还要为它分配内存空间。
- 在为数组分配内存空间时必须指明数组的长度。
- 2.用new关键字进行内存分配
在声明时没有分配内存空间,要使用new关键字来分配内存,然后才可以访问每个元素
//为数组分配内存空间的语法格式:
数组名字 = new 数组元素的类型[数组元素的个数];
//数组名字:被连接到数组变量的名称。
//数组元素的个数:指定数组中变量的个数,即数组的长度
- 示例:
arr = new int[5];
以上代码表示要创建一个含有5个元素的整型数组,并且将创建的数组对象赋给引用变量arr,即通过引用变量arr来引用这个数组
- 使用
new
关键字为数组分配内存
时,整型数组中各个元素的初始值都为0
。
1.1.2 一维数组的创建方法2
- 声明的同时为数组分配内存
//数组的声明和内存的分配一起执行的语法:
数组元素的类型 数组名 = new数组元素的类型[数组元素的个数];
- 示例:
int month[ ] = new int[12];
//创建数组month,并指定了数组长度为12
1.2初始化一维数组
- 数组与基本数据类型一样可以进行初始化操作
- 数组的初始化可分别初始化数组中的每个元素
- 数组的初始化的两种方式:
//第一种初始化方式
int arr[] = new int[]1,2,3,5,25;
//第二种初始化方式
int arr[] = 1,2,3,5,25;
数组的初始化
就是包括在大括号之内用逗号分开的表达式列表。
用逗号(,)分割数组中的各个元素,系统自动为数组分配一定的空间。
- 第一种初始化方式,将创建5个元素的数组,其元素依次为1、2、3、5、25
- 第二种初始化方式,会创建5个元素的数组,其元素依次为1、2、3、5、25
1.3使用一维数组
1.3.1访问数组元素
- 前数组元素的下标为从0开始。
- 一旦创建了数组,就可以在数组中填入元素
int[] a = new int[100];
//使用一个循环填入元素
for(int i = 0;i < 100; i++)
a[i] = i;
★不同的初始化情况
1.创建一个数字数组时,所有元素都初始化为0
2.boolean数组的元素会初始化为false。
3.对象数组的元素则初始化为一个特殊值null,表示这些元素(还)未存放任何对象。
- 例如,
String[] names = new String[10];
会创建一个包含10个字符串的数组,所有字符串都为null。如果希望这个数组包含空串,必须为元素指定空串:for(int i = 0; i < 10; i++) names[i] = " " ;
1.3.2数组中元素个数
- 获得数组中元素的个数,使用
array.length
for(int i = 0;i < a.length; i++)
System.out.println(a[i]);
1.3.3 for-each循环
- 与java流程控制中的
for-in
是一回事 - JDK 1.5 引进了一种新的循环类型,被称为
For-Each
循环或者加强型循环,它能在不使用下标的情况下遍历数组
//语法格式
for(type element: array)
System.out.println(element);
- 示例:
public class TestArray
public static void main(String[] args)
double[] myList = 1.9, 2.9, 3.4, 3.5;
// 打印所有数组元素
for (double element: myList)
System.out.println(element);
1.3.4 实例
public class TestArray
public static void main(String[] args)
// 数组大小
int size = 10;
// 定义数组
double[] myList = new double[size];
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
myList[3] = 13.2;
myList[4] = 4.0;
myList[5] = 34.33;
myList[6] = 34.0;
myList[7] = 45.45;
myList[8] = 99.993;
myList[9] = 11123;
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < size; i++)
total += myList[i];
System.out.println("总和为: " + total);
- 先声明了一个数组变量 myList,接着创建了一个包含 10 个 double 类型元素的数组,并且把它的引用赋值给 myList 变量
- 图片描绘了数组 myList。这里 myList 数组里有 10 个 double 元素,它的下标从 0 到 9
2.二维数组
- 二维数组可以看作是特殊的一维数组
2.1创建二维数组
- 声明二维数组有下列两种方式:
数组元素的类型 数组名字[ ][ ];
数组元素的类型[ ][ ] 数组名字;
2.1.1 二维数组的创建方法1
- 1.先声明
int a[][];
- 2.第一种内存分配方式:直接为每一维分配内存空间
a = new int[2][5];
//创建了二维数组a,
//二维数组a中包括两个长度为5的一维数组
- 2.第二种内存分配方式:分别为每一维分配内存
a = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
创建了二维数组a,但是只声明了a第一维的长度,也就是“行数”
第二维的长度也就是“列数”,则是为每一行单独声明的,因此创建的数组a是“不定长数组”
从最高维开始,分别为每一维分配空间
s[0]=new String[2] 和 s[1]=new String[3] 是为
最高维分配引用空间
,也就是为最高维限制其能保存数据的最长的长度
,然后再为其每个数组元素单独分配空间 s0=new String(“Good”) 等操作
2.1.2 二维数组的创建方法2
- 声明的同时为数组分配内存
int a = new int[2][4];
2.2初始化二维数组
- 初始化语法
//初始化语法:
type arrayname[][] = value1,value2,…,valuen;
//type:数组数据类型
//arrayname:数组名称,一个合法的标识符
//value:二维数组中各元素,都代表一个一维数组
- 初始化示例:
int myarr[][] = 12,0,45,10;
//初始化二维数组后,要明确数组的下标都是从0开始
//例如,上面的代码中myarr[1][1]的值为10
- int型二维数组是以int a[ ][ ] 来定义的,所以可以直接给a[x] [y] 赋值
//给a[1]的第2个元素赋值
a[1][1] = 20;
2.3二维数组的引用
- 对二维数组中的每个元素,引用方式为
arrayName[index1][index2]
num[1][0];
Java基础学习——数组初识
Java基础学习——数组初识(1)
1什么是数组
Java中常见的一种数据结构就是数组,数组可以分为一维数组、二维数组和多维数组。
数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定。
2 数组的使用
数组的一般使用步骤:
声明数组
分配内存给该数组
下面是一维数组为例:
数据类型 数组名 [];
数组名 = new 数据类型 [数据个数];
2.1一维数组的声明与赋值
1、数组的声明
int num []; //声明一个数组
num = new int[5]; //给数组分配内存空间,其元素个数为5
数组的声明也可以采用如下的形式:
int num []= new int [5]; //声明的同时分配内存空间
2、数组的赋值
数组的赋初值如下形式:
int num []={1,2,3,4,5}; //此表示为数组的声明以及赋值,虽然看似没有
//规定数组里数据的个数,但是由于大括号里面
//给了具体数据,所以系统默认给分配了空间
3、数组中元素的表示以及获取数组的长度
数组中元素的表示:
数组名[数组中元素的下标] //数组中元素的下标是从0开始
如:找数组中第二个元素的表示方法是
num [1] //得到的是数组的第二个元素
数组长度的表示方法:
数组名.ength
即上面的数组的长度为:num . length;
2.2二维数组
1、二维数组的声明
int num [][]; //声明一个二维数组
num = new int[2][3]; //给数组分配内存空间,其元素为2行3列
数组的声明也可以采用如下的形式:
int num [][]= new int [2][3]; //声明的同时分配内存空间
2、数组的赋值
数组的赋初值如下形式:
int num []={{1,2,3},{4,5,6}}; //此表示为数组的声明以及赋值,虽然看似没有
//规定数组里数据的个数,但是由于大括号里面
//给了具体数据,所以系统默认给分配了空间
3、数组中元素的表示以及获取数组行的长度
数组中元素的表示:
数组名[行下标] [列下标] //数组中元素的下标都是是从0开始
如:找数组中第二行第二列元素的表示方法是
num [1][1] //得到的是数组的第二行第二列的元素
数组长度的表示方法:
数组名.ength //得到数组的行数
数组名[行下表].ength //得到相应行的元素个数
本文出自 “落魄小王子的残破城堡” 博客,请务必保留此出处http://wh201503.blog.51cto.com/10047381/1890807
以上是关于Java6 初识数组的主要内容,如果未能解决你的问题,请参考以下文章