Java学习-数组的定义及其基本方法语法(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34614756/article/details/52863593

一维数组

所谓一维数组,是一组相同类型的数值的集合。数组定义一般有两种方式:int[ ] a; 或者 int a[ ] ;一般用第一种方式。 一维数组的初始化也有两种方式。

一种是先声明再赋值

int[] arrray = new int[5];
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

另一种是直接声明赋值

int[] array = {1,2,3,4,5};

数组的长度用“数组名.length”获取。

数组填充用“Arrays.fill(数组名.值)”填充,如:

import java.util.Arrays;

public class ArrayFill {
    public static void main(String[] args) {
        int[] a = new int[5];
        int[] b = new int[5];

        Arrays.fill(a, 1);
        Arrays.fill(b, 2, 4, 20);       //给b[2],b[3],赋值20

        System.out.print("数组a为:");
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();

        System.out.print("数组b为:");
        for(int i = 0; i < b.length; i++){
            System.out.print(b[i]+" ");
        }

    }
}

数组赋值用“Arraycopy(数组a,开始复制下标,复制到数组b,开始复制下标,复制长度)”,如:

public class ArrayCopy {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5};
        int[] b = {45,78,12,30,96};

        System.arraycopy(b, 1, a, 0, 3); //将数组b从下标1开始的值赋给a,赋值从a的下标0开始,长度为3
        System.out.println("复制后的数组a为:");
        for(int i = 0; i < a.length; i++){
            System.out.println(a[i]);
        }
    }
}

数组排序语法为:“Arrays.equals(数组1,数组2);“

数组排序主要包括sort函数排序和冒泡排序。
sort函数排序是升序排序,语法如下:

import java.util.Arrays;

public class ArraySort {
    public static void main(String[] args) {
        int[] a = {78,56,14,45,23};
        int[] b = {15,74,62,31,12};

        Arrays.sort(a);         //对a进行排序,sort函数默认为升序
        Arrays.sort(b, 3, 5);   //对b[3],b[4]进行排序

        /*Comparator<Integer> c =  new Comparator<Integer>() {//这个是将sort函数转换为倒序排序的对象

            @Override
            public int compare(Integer o1, Integer o2) {
                // TODO Auto-generated method stub
                return o2-o1;
            }


        };
        Arrays.sort(a,c);*/

        System.out.print("排序后的数组a为:");
        for(int i = 0; i < a.length; i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
        System.out.print("排序后的数组b为:");
        for(int i = 0; i < b.length; i++){
            System.out.print(b[i]+" ");
        }
    }
}

冒泡排序法,代码如下:

public class BubbleSort {
public static void main(String[] args) {
    int[] a = {4,25,14,23,78};
    int temp;
    for(int i = 0; i < a.length; i++){
        for(int j = i; j < a.length; j++){
            if(a[j]<a[i]){
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
    System.out.print("数组a排序后为:");
    for(int i = 0; i < a.length; i++){
        System.out.print(a[i]+" ");
    }
}
}

猜你喜欢

转载自blog.csdn.net/qq_34614756/article/details/52863593