递归算法

定义

image.png

递归结构

image.png
注意:
1、在程序中能不使用就不使用,使用递归回加大资源消耗,如果使用递归的层次太深,容易造成栈溢出
2、如果不使用递归就无法解决问题的话,那就必须使用递归,比如:输出某个磁盘目录下的所有文件名称

总结

image.png

数组

概述

image.png

定义

数组是相同类型数据的有序集合
.相同类型的若干个数据,按照一定先后次序排列组合而成
.其中,每一个数据称作一个数组元素
.每个数组元素可以通过一个下标来访问他们

特点

.其长度是确定的。数组一旦被创建,他的大小就是不可以改变的。
.其元素必须是相同类型,不允许出现混合类型
.数组中的元素可以是任何数据类型,包括基本类型和引用类型

数组属于引用类型

.length,elements of the array

一维数组

image.png
image.png

使用

image.png

声明数组:
image.png

分配空间:
image.png

数组赋值:
image.png
image.png
image.png

数据处理:
![上传中...]()

public static void main(String[] args) {
    //声明
    int[] array;
    //创建内存空间
    array = new int[5];
    //数组赋值
    array[0] = 1;
    array[1] = 2;
    array[2] = 3;
    array[3] = 4;
    array[4] = 5;
    System.out.println(array[0]);
    
    //素组的几种创建方式
    //1、声明并申请空间
    int[] arr = new int[5];
    int [] arr3 = new int[5];
    int arr4[] = new int[5];
    //2、声明数组并赋值
    int[] arr2 = new int[]{1,2,3,4,5};
    int[] arr5 = {1,2,3};
}

二维数组

![上传中...]()
image.png

package com.msbline.basic;
public class TwoArray {
    public static void main(String[] args) {
        int[][] arr = new int[3][];
        arr[0] = new int[5];
        arr[1] = new int[3];
        arr[2] = new int[4];
        //赋值
 arr[0][0] = 1;
        arr[0][1] = 2;
        arr[0][2] = 3;
        arr[0][3] = 4;
        arr[0][4] = 5;
        arr[1][0] = 6;
        arr[1][1] = 7;
        arr[1][2] = 8;
        arr[2][0] = 9;
        arr[2][1] = 10;
        arr[2][2] = 11;
        arr[2][3] = 12;
        for(int i = 0; i<arr.length; i++){
            for(int j = 0; j<arr[i].length; j++){
                System.out.print(arr[i][j] + "t");
            }
            System.out.println();
        }
    }
}

排序算法(针对数组的练习)

package com.msbline.basic;
public class ArraySort {
    public static void main(String[] args) {
        int[] array = new int[]{4,1,7,2,9,3,5,8,6};
        //冒泡排序
//        for(int i = 0; i< array.length; i++){
//            for(int j = 0; j < array.length-1-i; j++){
//                if (array[j] > array[j+1]){
//                    int temp = array[j];
//                    array[j] = array[j+1];
//                    array[j+1] = temp;
//                }
//            }
//        }
//        print(array);
 //选择排序
 for(int i = 0; i< array.length; i++){
            for(int j = i+1; j < array.length; j++){
                if (array[i] > array[j]){
                    int temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }
        print(array);
    }
    public static void print(int[] array){
        for(int i = 0; i< array.length; i++){
            System.out.print(array[i]+"t");
        }
    }
}

总结:

java Arrays API的使用


萌妹子_liu
28 声望43 粉丝

萌萌哒,程序猿