Java初学心得(二)

数组概述

一,数组基本操作

①一维数组的创建:数组元素类型[] 数组名字=new 数组类型[数组元素个数]  例:int []arr=new int[5];数组长度为5

②初始化一维数组:第一种:int []arr=new int[]{1,2,3,5,25}  第二种:int []arr={34,2,1,3};

③二维数组的创建:数组元素类型 [][]数组名字=new 数组元素类型[第一维长度][第二维长度]

④二维数组初始化:类型 arr[][]={v1,v2,v3....};创建成功后每个元素初值为0

⑤填充替换数组:fill(int []a,int value),将value的值赋值给数组每个元素;fill(int []a,int begin,int end,int v)区段赋值,从begin到end赋值给v

⑥数组排序:Arrays.sort(数组名称)

⑦复制数组:copyOf(数组名,int 长度)返回新数组,复制指定区间数组:copyOfRange(数组名,begin,end)从begin下标开始到end-1下标复制到新数组,返回新数组。

⑧数组查询:在查询之前需对数组进行sort排序,之后用Arrays.binarySearch(数组名,搜索值)返回数组下标,在指定范围内搜索:Arrays.binarySearch(数组名,begin,end,搜索值)   从begin开始到end-1进行搜索,返回下标位置

二,数组排序算法

①冒泡排序:双层循环+比较+交换

②直接选择排序:

package com.输入;
import java.util.*;
public class imput {
    public static void main(String[] args) {
        int arr[]=new int[] {1,8,9,4,5};
        for(int i=1;i<arr.length;i++)
        {
            int index=0;
            for(int j=1;j<=arr.length-i;j++)
            {
                if(arr[j]>arr[index])
                    index=j;
            }
            int temp=arr[arr.length-i];
            arr[arr.length-i]=arr[index];
            arr[index]=temp;
        }
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+" ");
        
    }
}

反转排序:

package com.输入;
import java.util.*;
public class imput {
    public static void main(String[] args) {
        int arr[]=new int[] {1,8,9,4,5};
        System.out.println("原数组为:");
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+" ");
        System.out.println();
        System.out.println("反转后数组为:");
        for(int i=0;i<arr.length/2;i++)
        {
            int temp=arr[i];
            arr[i]=arr[arr.length-1-i];
            arr[arr.length-1-i]=temp;
        }
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+" ");
    }
}
原文地址:https://www.cnblogs.com/xiaofengzai/p/11370803.html