JavaSE第五章、数组&排序&查找

2022/4/5 9:19:26

本文主要是介绍JavaSE第五章、数组&排序&查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JavaSE第五章、数组&排序&查找

一、数组

1.数组的定义

(1)动态初始化

第一种: int[] a=new int[5];

第二种: int a[]=new int[5];

第三种: int a[];或int[] a; //先定义

​ a=new int[5]; //再初始化

(2)静态初始化
int a[]={1,2,3,4,5};

注意事项

  • 数组中的元素可以是任何数据类型,但不能混用。

  • 数组创建后,若没有赋值,则有默认值:

​ int\short\byte\long为0;

​ float\double为0.0;

​ char为\u0000;

​ boolean为false;

​ String为null。

  • ⚠️数组的下标从0开始。

  • 数组是引用类型,数组型数据是对象(object)。

2.数组赋值机制

  • 基本数据类型赋值方式为值传递。

  • 数组在默认情况下是引用传递,赋的是地址。

3.数组的扩容

Scanner myScanner = new Scanner(System.in);
int[] arr={1,2,3};
do{
int[] arrNew = new int[arr.length+1];
    for(int i=0;i<arr.length;i++)
    {
        arrNew[i]=arr[i];
    }
    System.out.println("请输入添加的元素");
    int addNum=myScanner.nextInt();
    arrNew[arrNew.length-1]=addNum;
    arr=arrNew;
    System.out.println("是否继续添加?(y/n)");
    char key=myScanner.next().charAt(0);
    if(key=='n')	break;
}while(true);

for(int i=0;i<(arr.length);i++)	
{
    System.out.print(arr[i]+" ");
}

二、二维数组

1.二维数组的定义

//静态初始化
int[][] arr={
    {0,0,0},
    {0,0,1},
    {1,2,0},
}

//动态初始化一
int arr[][];
arr = new int [5][5];

//动态初始化二
int a[][] = new int [5][5];

//动态初始化三——列数不确定
/*Java二维数组允许每个一维数组的个数不同,即列数不确定。*/
int[][] arr = new int[3][];
for(int i=0;i<arr.length;i++){
    //给每个一维数组开空间。否则arr[i]为null。
    arr[i]=new int[i+1];
    //给每个一维数组的每个元素赋值
    for(int j=0;j<arr[i].length;j++){
        arr[i][j]=i+1;
    }
}

注意事项

  • 二维数组的每个元素是一维数组。
  • 访问第(i+1)个一维数组的第(j+1)个值:arr [i][j]。
  • 二维数组的声明方式还可以为:int[] y[]

2.杨辉三角

int[][] arr=new int[10][];
        for(int i=0;i<arr.length;i++){
            arr[i]=new int[i+1];

            for(int j=0;j<arr[i].length;j++) {
                if(i>1 && j!=0 && j!=arr[i].length-1) 
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                else 
                    arr[i][j]=1;
            }
        }

        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++) 
                System.out.print(arr[i][j]+" ");
            System.out.println();


这篇关于JavaSE第五章、数组&排序&查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程