JAVA--SE基础知识四

1.数组

1.1数组的声明

                 声明数组和生成变量差不多,知识声明数组需要[],声明数组需要声明数组名和数据类型。

声明数组格式:

数据类型  [] 数组名;//第一种

//例如

int num [];

数据类型  数组名[] ;//第二种

int [] num1;

//建议使用第二种声明的方式

 数组的初始化

        数组的初始化和变量的初始化类似,数组有三种初始化,前两种在声明的时候初始化,第三种在声明后初始化。

初始化格式:数据值中间必须用逗号隔开(,)。

//第一种初始化  声明并初始化

// 数据类型  []  数组名  ={值1,值2,值3,值4};

int [] num ={10,20,30,40,.........};

//第二种

//数据类型 [] 数组名  = new 数据类型 [] {值1,值2,值3,值4,.......};

int [] num1 =new int []{10,20,30,40,50};

//第三种:先声明后初始化  通过索引值来进行初始化。

//  数据类型   []  数组名 =new 数组类型[数组元素的个数];

int [] num2 =new int [5];

num2[0]=10;

num2[1]=20;

num2[2]=30;

num2[3]=40;

num2[4]=50; 

 输出方法:

  1. 可是使用循环语句迭代输出。
  2. 可以根据索引值(下标)来进行输出。
//第一种
int [] num ={10,20,30,40,.........};
for(int i=0;i<num.length;i++){
       System.out.println(num[i]);

}
//第二种
int [] num1 =new int [] {10,20,30,40,.........};
    for(int j=0; j<num1.length;j++){
         System.out.println(num1[j]);
        
}
//第三种
int [] num2 =new int [5];

num2[0]=10;

num2[1]=20;

num2[2]=30;

num2[3]=40;

num2[4]=50; 
System.out.println(num2[0]);
System.out.println(num2[1]);
System.out.println(num2[2]);
System.out.println(num2[3]);
System.out.println(num2[4]);

注意:

  1. 数组里面存放的数据类型必须一致,否则会报异常。
  2. 声明的数组如果想要输出的话 必须初始化否则,如果没有初始化输出数组的话 不会报错也可以输出 但是数据值为null。
  3. 第三种数组初始化的话  长度必须写。

 1.2多维数组

初始化格式:和一维数组是相同的,每加一个维度则加上一个[],多维数组其实就是数组里面的数组,二维数组里面的元素其实就是一个个的一维数组。

//方式一

int [] [] arr{{值1,值2,值3....},{值1,值2,值3,....},.........};

//方式二

int []  [] arr1=new int [] []{{值1,值2,值3....},{值1,值2,值3,....},.........};

//方式三

int [] [] arr2=new [2] [1];

arr2[0][0]=10;

arr2[0][1]=20;

arr2[1][0]=30;

arr2[1][1]=40;

//方式三1

int [][] arr3=new int[2][];

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

for (int j = 0; j < arr3[i].length; j++) {

arr3[i][j]=10*1+1; System.out.println(arr3[i][j]);

}

}

2.数组排序算法

数组中有很多常见的排序算法,包括直接选择排序、冒泡排序、升序排序。

直接选择排序:

                        指每一次都从待排序的数据元素中选择出最小值(最大值)的一个元素,顺序的房子啊已排序好的数列的最末端,知道全部元素排序完为止。

冒泡排序:

                        指比较两个相邻元素的值,如果满足条件就进行交换位置,直到所有相邻元素都不满足为止。

示例:

//直接排序   从小到大
int [] arr{10,2,40,50,10,30};
int tomp=0;//定义一个临时存储器
        for (int i = 0; i < arr.length ; i++) {
            for (int j = i+1; j < i; j++) {
                if(arr[i]>arr[j]){
                        tomp=arr[i];
                        arr[i]=arr[j];
                        arr[j]=tomp;

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

            }
//冒泡排序  从小到大
int [] arr1{10,2,40,50,10,30};
int tomp1=0;//定义一个临时存储器
        for (int i = 0; i < arr1.length-1 ; i++) {
            for (int j = 0; j < arr[i].length-1-i; j++) {
                if(arr[j]>arr[j+1]){
                        tomp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=tomp;

                }
            }
        }
          for(int k=0;k<arr1.length;k++){
                    System.out.println(arr1[k]+"   ");

            }

升序排序

升序排序所使用的时Arrays,(Arrays)存在于util包中,使用的时候需要导包,(import java.util.Arrays)

示例:

import java.util.Arrays;
int [] arr{10,2,40,50,10,30};

        for (int i = 0; i < arr.length ; i++) {
            //排序前
            System.out.println(arr[i]+"   ");

        }
            Arrays.sort(arr);//数组是什么类型sort就必须使用什么类型
          for(int k=0;k<arr.length;k++){
            //排序后
                    System.out.println(arr[k]+"   ");

            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值