Java数组使用方法

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。

声明数组变量

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:

dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法

创建数组

Java语言使用new操作符来创建数组,语法如下:

arrayRefVar = new dataType[arraySize];

上面的语法语句做了两件事:

  • 一、使用 dataType[arraySize] 创建了一个数组。
  • 二、把新创建的数组的引用赋值给变量 arrayRefVar。
  • 实例

    下面的语句首先声明了一个数组变量 myList,接着创建了一个包含 10 个 double 类型元素的数组,并且把它的引用赋值给 myList 变量。

     数组中元素的表示方法

      想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素

      一直向下,最后一个为score[9]

      取得数组的长度

      在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,

      数组名称.length--返回一个int类型的数据

      package com.qn.array;

      public class Test {

      public staTIc void main(String[] args) {

      int score[]=null;//声明数组

      score=new int[3];//开辟空间,大小为3

      System.out.println(score.length);

      }

      }

      结果

      数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现

      静态初始化是指在数组声明后直接为数组指定s体的内容

      如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,

      数据类型 数组名 []={初始值0,初始值1,初始值3,。。.。初始值n};

      package com.qn.array;

      public class Test {

      public static void main(String[] args) {

      int score[]={1,2,3,4,5,6};//使用静态初始化声明数组

      System.out.println(score.length);

      }

      }

      结果

      范例求出数组中的最大值和最小值

      package com.qn.array;

      public class Test {

      public static void main(String[] args) {

      int score[]={45,12,8,23,89,56};//使用静态初始化声明数组

      int max=0;

      int min=0;

      max=min=score[0];

      for (int i = 0; i 《 score.length; i++) {

      if(score[i]》max){

      max=score[i];

      }

      if(score[i]

      min=score[i];

      }

      }

      System.out.println(“最大值:”+max);

      System.out.println(“最小值:”+min);

      }

      }

      结果

      范例排序,在操作中排序是比较常用的

      从大到小

      package com.qn.array;

      public class Test {

      public static void main(String[] args) {

      int score[]={45,12,8,23,89,56};//使用静态初始化声明数组

      int temp=0;

      for (int i = 0; i 《 score.length; i++) {

      for (int j = 0; j 《 score.length-1; j++) {

      if(score[i]》score[j]){

      temp=score[i];

      score[i]=score[j];

      score[j]=temp;

      }

      }

      }

      for (int i = 0; i 《 score.length; i++) {

      System.out.print(score[i]+“ ”);

      }

      }

      }

      结果

      这个时候不要被i值所迷惑 if(score[i]》score[j]){

      这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的

      二维数组

      如果可以把一维数组当做几何中的一条线图形,那么二维数组就相当于一个表格

      A B

      1 姓名 年龄

      2 齐宁 21

      3 齐燕 23

      4 齐威 26

      二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字

      其实声明与分配内存的格式如下

      动态初始化

      数据类型 数组名[][];

      数组名=new 数据类型[行的个数][列的个数];

      声明并初始化数组

      数据类型 数组名[][]=new 数据类型[行的个数][列的个数];

      静态初始化

      二维数组的存储

      声明二维数组score 同时开辟一段内存空间

      int score[][]=new int[4][3];

      整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节

      事例

      package com.qn.array;

      public class test1 {

      public static void main(String[] args) {

      int score[][] = new int[4][3];

      score[0][1] = 30;

      score[1][0] = 31;

      score[2][1] = 32;

      score[2][2] = 33;

      score[3][1] = 34;

      score[1][1] = 35;

      for (int i = 0; i 《 score.length; i++) {

      for (int j = 0; j 《 score[i].length; j++) {

      System.out.print(score[i][j]+“ ”);

      }

      System.out.println(“”);

      }

      }

      }

      结果

      二维数组静态初始化

      用到的时候才会开辟空间,不用的(红色部分)则不开辟空间

      多维数组

      一般只是用到二维数组

      三维数组简单了解

      package com.qn.array;

      public class test1 {

      public static void main(String[] args) {

      int score[][][]={

      {

      {5,1},{6,7}

      },

      {

      {9,4},{8,3}

      }

      };

      System.out.print(score[0][0][0]+“ ”);

      System.out.print(score[0][0][1]+“ ”);

      System.out.print(score[0][0][0]+“ ”);

      System.out.print(score[0][0][1]+“ ”);

      System.out.print(score[1][0][0]+“ ”);

      System.out.print(score[1][0][1]+“ ”);

      System.out.print(score[1][1][0]+“ ”);

      System.out.print(score[1][1][1]+“ ”);

      }

      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值