> 文章列表 > 8.数组hhhh

8.数组hhhh

8.数组hhhh

六.数组

1.一维数组的声明与应用

【1】代码(数组的声明与输出)

 package 第三章;

public class 一维数组 {

public static void main(String args[]) {

    int i;

    int aa[]=new int[5];//数组的定义数据类型 数组名[]=new 数据类型[元素个数]

for(i=0;i<5;i++)//进入循环

    System.out.print("aa["+i+"]="+aa[i]+",\\t");//循环后输出

System.out.println("\\nlength of array aa is "+aa.length); //最后输出长度

}

}

【2】知识点

(1)C语言中基础概念

数组是一组有序数据的集合,数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号;数组中的每一个元素都属于同一种数据类型,不能把不同类型的数据(如学生的成绩和学生的性别)放在一个数组中;C语言中用方括号来表示下标如S[15];

(2)声明

Java中的数组必须先声明,然后才能使用,一维数组声明语法格式如下:

type<数组名>[ ]=new type[<元素个数>];

(3)数组长度

数组元素的个数又被称为该数组的长度,在程序中可以用数组名.length的语句表达方法来获得数组的长度值

2.数组的赋值

【1】代码

package 第三章;

public class 赋值 {

public static void main(String args[]) {

    int aa[]=new int[15];

    int i;

    for(i=0;i<5;i++) {

        aa[i]=2*i+1;

        System.out.print("aa["+i+"]="+aa[i]+",\\t");

}

}

}

【2】知识点

(1)在声明时直接赋值,语法格式为

type 数组名[  ]={数值1,数值2,……,数值n}

在大括号内依次赋值给数组中的1-n个元素,另外在赋值声明时不需要给出数组长度,编译器会视所给数值个数来决定数组长度。

(2)若是对数组的元素进行有规律赋值,则可以使用循环的方式

3.一维数组程序举例

【1】代码(输出字符串数组Hello!)

package 第三章;

public class 字符串数组Hello {

public static void main(String args[]) {

    int i;

    char str[]= {'H','e','l','l','o','!'};//定义数组为字符串类型,注意此处输入字符用单引号括起来

    for(i=0;i< str.length;i++)

        System.out.print(str[i]);

}

}

对比(系统无法理解是变量相加还是输出)

对比(实现字符串拼接,如果单纯把变量用拼接符串联起来的话得到的只是数值相加的结果,如果在旁边加一个拼接符就不会出现歧义)

【2】代码(求出一维数组中的最大值和最小值)

package 第三章;

public class 求数组最值 {

    public static void main(String args[]) {

int i,max,min;

int mm[]= {65,89,42,77,62,54};

min=max=mm[0];

System.out.print("Elements in array mm are ");

for(i=0;i<mm.length;i++) {

    System.out.print(mm[i]+" ");

    if(mm[i]>max)

        max=mm[i];

    if(mm[i]<min)

        min=mm[i];

}

System.out.println("\\nMaximum is "+max);

System.out.println("Manimum is "+min);

}

}

对比(换行符)

【3】代码(8行杨辉三角形)

【4】代码(选择法排列)

【5】代码(二分法查找)

4.二维数组的声明与引用

【1】代码(二维数组的建立与输出)

package 第三章;

public class 二维数组建立 {

public static void main(String args[]) {

    int i,j,sum=0;

    int ssa[][]= {{20,25,26,22},{23,24,20,28}};//定义一个二维数组

    for(i=0;i<ssa.length;i++) {//i<ssa.length表示二维数组行数

        for(j=0;j<ssa[i].length;j++) //i<ssa[i].length表示二维数组列数

System.out.print("ssa["+i+"]["+j+"]="+ssa[i][j]+"  ");

        System.out.println();

    }

}

}

【2】代码(杨辉三角形)

【3】知识点

二维数组声明语法格式如下:

type<数组名>[ ][ ]=new type[<行元素个数>][<列元素个数>];

例如:int Myarray[ ][ ]=new int [5][6];

表示5(0-4)行6(0-5)列

在声明时直接赋值,语法格式为

type 数组名[  ][  ]={{数值1,数值2,……,数值n},{数值1,数值2,……,数值n}}

a[i].length表示第i行二维数组列数

a.length表示二维数组行数

5.数组的复制

【1】代码(数组的复制)

package 第三章;

public class 数组复制 {

    public static void main(String args[]) {

        int i;

        int arr1[]= {1,2,3,4,5,6,7,8,9,10};

        int arr2[]=new int[10];

        System.arraycopy(arr1,0,arr2,0,arr1.length);//把arr1所有的元素复制到arr2中,下标从0开始

        for(i=0;i<arr2.length;i++)

           System.out.print(arr2[i]+"  ");

        System.out.println("");

    }

}

【2】知识点

Java在System中提供了一个特殊的方法arraycopy()用于实现数组之间的复制

数组的复制不能用等号实现

王者荣耀攻略