java学习——24.一维数组

之前的基本数据类型变量一次只能存储一个不可分解的简单数据,比如int i;一次只能存储一个整数。但是在实际的应用当中,可能会需要一次存储很多个整数,比如之前有一个例题,Fibonicci数列,之前做时只是单纯地列出所有的项,并没有将每一项存储下来,所以如果要输出某一项,就要重新写代码,很不方便。采用数组,这样的问题就会迎刃而解。

数组(array)是具有相同数据类型的元素的有序集合。

数组的元素个数称为数组长度

元素在数组中的具体位置称为元素的下标

采用一个下标唯一确定一个数组称为一维数组。

采用两个下标确定一个数组称为二维数组。

今天介绍的是一维数组。

1、声明

数据类型【】数组名

数据类型数组名【】

两组均可声明一个数组。

其中,数据类型是数组中元素的数据类型。

数组名是自己定义的合法的标识符。

例:inta[];或int[]a;

两种声明大部分情况下是相同的。

但在同一行要声明其他变量时例外。

如:inta[],b;//整数数组,b为一个整数变量

Int[] a,b;//b均为整数数组

2、为数组分配空间

使用new关键字为数组分配内存空间。

数组在内存中是按顺序存储的。

数组变量=new 数据类型【长度】

其中,数据类型与数组声明时的数据类型一致;长度必须是正整数。

例:a=newint[5];//为数组a分配空间,长度为5

通常将上两条放在一条语句里,如下:

int a[]=new int[5];

也可以用整数变量为其指定长度。如:

inta=5;

intb[]=newint[a];

3、数组长度length

Java为每个数组都提供length属性来表示数组占用的存储单元的个数。使用.运算符可获得数组长度:

数组名.length

4、下标

一个数组元素由一个下标唯一确定,语法如下:

数组名【下标】

下标从0开始,到数组名.length-1结束。

在写代码时要注意下标不能越界,否则就会出错。

5、数组可以进行的运算

数组可以进行的运算跟数组的数据类型有关系。如果在声明时,数组的数据类型为int,那就可以完成int类型的所有运算。依此类推。

6、数组元素初始化

数组变量可以在声明时初始化。

例:inta[]={1,2,3,4,5}。

此条语句相当于:

int a[]=newint[5];

for(inti=0;i<=4;i++)

a[i]=i+1;//对数组元素a[i]赋值

7、数组元素的默认值

Java对所有使用new运算符分配的存储单元都进行初始化,根据数据类型不同,默认值不同

如是int类型,默认值为0;

如是float类型,默认值为0.0f;

如是char类型,默认值为’\u0000’;

如是boolean类型,默认值为false;

如是引用类型,默认值为null。

例:用一维数组存储Fibonacci序列前十项。

public class shuzu {

public static void main(String args[]){

int a[]=new int[10];

a[0]=0;

a[1]=1;

for(int i=2;i<a.length;i++){

a[i]=a[i-1]+a[i-2];

}

for(int j=1;j<a.length;j++){

System.out.print(String.format("%4d",a[j]));

}

}

}

其运行结果如下:

1  1   2   3  5   8  13 21  34

如果,将Fibonacci序列前十项均保存在数组a中,便可以取任意一项,代码及运行结果如下:

(0)

相关推荐

  • 【链表3】动态内存分配

    文/Edward 这一小节是为了讲述第2小节链表而做的只是铺垫.在9.2节中,我们通过一种非常朴素的方式来为大家展示了"链式"数据结构的基本方法,即,我们先定义好一个结构体存储类型 ...

  • 【连载】(操作一维数组)——乐创DIY C语言讲义——5.2节

    5.2 一维数组的操作 一维数组在被定义好之后,就可以在程序中去使用它了,一般一个数组的使用有元素读取,元素赋值,元素遍历等操作.说到底无非就是数组定义及初始化,元素的读写,和数组的读写这几种方式.接 ...

  • 【C语言更新】指向数组的指针

    文/Edward 前面我们在讲述数组的时候曾经说过,对于数组内部元素的引用方式主要有两种,一种就是使用方括号"[ ]"的下标索引,另一种就是之前提到过,但是没有细致讲述的指针引用. ...

  • 【连载】(初识一维数组)——乐创DIY C语言讲义——5.1节

    5.1初识一维数组 前面章节中,我们一起学习了一些简单的数据类型,它们包括浮点类型和整数类型两大类.通过使用关键词可以分别定义不同含义的单个变量.比如,小明这次考试的数学成绩是30分,那么我们可以定义 ...

  • java学习——25.二维数组

    如果数组元素又是数组,则称为多维数组,常用的是二维数组. 二维数组可以看成由两个一维数组组成,所以很多东西与一维数组类似,如其声明的方法.可进行的运算等等. 1.声明二维数组 数组类型数组名[][]: ...

  • 256 欧楷基本笔法学习24—撇提的写法。

    256 欧楷基本笔法学习24—撇提的写法。

  • 学习理解Excel数组公式的2种方法

    对于初学者来说,数组公式也是够难理解的了,尤其是那些大型公式,看着头都大了!然而,如果我们能够在学习数组公式时,看到其计算过程,无疑会很有帮助. 方法1:使用F9键,查看数组公式的中间值 例如下图所示 ...

  • Java学习-注解和反射

    注解 java.Annotation Annotation的作用:可以呗其他程序读取 Annotation的格式 注解是:@注释名 在代码中存在,还可以添加一些参数 ​@SuppressWarning ...

  • Java学习-多线程

    多线程 任务(Task).进程(Process).线程(Thread) 进程的创建 1.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用sta ...

  • Java学习-Mybatis

    Mybatis Maven依赖: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependenc ...

  • Java 学习笔记

    您对计算机(电脑)有了解吗? 计算机组成 系统软件 直接和硬件交互的软件叫系统软件,例如 win7.win8.Linux.mac等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • Java学习-126.2048代码

    本篇帖的是按钮的代码. 因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码. //本类是Game_2048类的内部类,用来实现上.下.左.右四个按钮,以及重新开始和退出游戏 ...

  • Java学习—125.2048代码

    本篇帖的是部分动作代码. 每个方法前都有注释说明本方法的功能. //随机选取一个位置,并填入数字2.如果此位置中已有数字,那么换一个位置. public void rule(){ x=ran.next ...