第06章:数组

来源:互联网 发布:虚拟机网络nat模式 编辑:程序博客网 时间:2024/04/27 14:27

数组

数组:是一组相关变量的集合。
数组定义: int i【100】, 只是一个伪代码,只是表示含义的。

一维数组

要使用java的数组,必须经过两个步骤:

  1. 声明数组 :
    int score[] = null;
  2. 为数组开辟空间:
    score = new int[3];

当然也可以使用一个步骤来完成:
int score[] = new int[10];

java的数据类型分为两大部分:

  • 基本数据类型: int 、long,操作的时候本身就是一个具体的内容
  • 引用数据类型:数组、类、接口。引用传递的就是一个内存的使用权。一块存储空间,可能有多个人同时使用。

数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型、浮点型与字符型等。

“数组名”是用来同意这组相同数据类型的元素的名称,其命名规则和变量的相同、变量的命名规则:第一个单词的首字母小写,之后的每个单词的首字母大写 如:studentName

数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,而“new”则是命令编译器根据括号里的长度。

基本数据类型都有其默认值: int 0;只要是引用数据类型默认值就是“null”

public class Arrydemo1 {    public static void main(String[] args)    {        int score[] = null;        score = new int [3];        System.out.println("score[0]="+score[0]);        System.out.println("score[1]="+score[1]);        System.out.println("score[2]="+score[2]);    }}

数组元素通过“数组名称【下标】”的形式保存
数组的访问也可以通过循环的方式进行操作,循环操作的时候只需改变其索引下标即可。

取得数组的长度

数组名称.length

public class Arrydemo2 {    public static void main(String args[])    {        int score[] = new int[3];        for (int x =0;x<3;x++)        {            score[x]=x*2+1;        }        for(int x = 0;x<3;x++)        {            System.out.println("score["+x+"]="+score[x]);        }        System.out.println("数组的长度为:"+score.length);    }}

数组的静态初始化问题

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

静态初始化就是指在数组定义之后,直接指明其内容。

public class Arraydemo4 {    public static void main(String[] args)    {        int score[] = {91,92,93,94,95,96};        for (int x = 0;x<score.length;x++)        {            System.out.println("score["+x+"]="+score[x]);        }    }}

冒泡排序

public class Arraydemo3 {    public static void main(String[] args)    {        int score[]= {12,45,874,69,374,1580};        for(int i=0;i<score.length;i++)        {            for(int j = 0;j<score.length;j++)            {                if(score[i]<score[j])                {                    int temp = score[i];                    score[i] = score[j];                    score[j] = temp;                }            }            System.out.println("第"+i+"次的输出结果为:\t");            for(int j = 0;j<score.length;j++)            {                System.out.print(score[j]+"\t");            }            System.out.println();        }        for(int i = 0;i<score.length;i++)        {            System.out.print(score[i]+"\t");        }    }}

二维数组

二维数组声明的方式和一维数组类似,内存的分配也一样是用new这个关键字,其声明与分配内存的格式如下所示:

  • 数组类型 数组名【】;
  • 数组名 = new 数据类型 【行的个数】【列的个数】

  • 数据类型 数组名【】【】 = new 数据类型【行的个数】【列的个数】

二维数组也是支持静态初始化操作的。静态操作的时候需要使用数组的数组。

总结

  1. 数组的使用分为两个步骤

    1. 声明数组,是在栈内存中声明的
    2. 为数组开辟空间,是使用关键字new在堆内存中完成
      当然也可以一起完成:数据类型 数组名称【】=new数据类型【长度】
  2. 过数组名称 .length的形式求出数组的长度

  3. 有很多的常见算法及题目,只要控制好其下标就可以完成
  4. 标不能越界,越界之后就会出现错误。如果开辟了3个空间,则下标:0——2
  5. 组的开发中基本上就是用到二维,就相当于是一个表格的
  6. 因为其比较复杂,所以不建议使用过多。
0 0
原创粉丝点击