Java基础学习笔记

Java基础学习笔记—–>2

Java基础学习笔记-----2

递归

引入:阶乘

public class Demo_01 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    public static  int f(int n){
        if(n==1)
            return 1;
        return n*f(n-1);
    }
}
//递归思想

image-20210423093504289

数组

定义:相同数据类型的有序结合

声明: 定义: int[] nums; nums=new int[10] 存放10个int类型的数字

image-20210423094824137

冒泡排序
 public static void main(String[] args) {

    }
    /**
     * 冒泡排序
     */
    public  static void bubbleSort( int[] a) {
        int temp = 0;
        boolean flag = false;   //
        for (int j = 0; j < a.length - 1; j++) {
            for (int i = 0; i < a.length - 1 - j; i++) {
                if (a[i + 1] < a[i]) {
                    temp = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = temp;
                    flag = true;
                }
            }
            if (flag = false)
                break;
        }
        System.out.println(Arrays.toString(a));
    }
稀疏数组

棋盘的普通二维数组

public class Demo_03 {
    public static void main(String[] args) {
        //创建一个二维数组  11*11  0:没有棋子  1:白旗  2:黑
        int [][] array=new int[11][11];
    array[1][2]=2;
    array[1][3]=1;
        System.out.println("输出原始数组");
        for (int[] ints : array) {
            for (int anInt : ints) {
                System.out.print(anInt+"\t");
            }
            System.out.println();
        }

        //获取稀疏数组元素个数
        int nums=0;
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                if(array[i][j]!=0)
                    nums++;
            }
        }
        System.out.println("元素个数"+nums );
        //创建稀疏数组
        int [][] array1=new int[nums+1][3];
        array1[0][0]=11;
        array1[0][1]=11;
        array1[0][2]=nums;
        //遍历二维数组,将非零的值放入稀疏数组
        int count=0;
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if(array[i][j]!=0){
                    count++;
                    array1[count][0]=i;
                    array1[count][1]=j;
                    array1[count][2]=array[i][j];
                }
            }
        }
        //输出稀疏数组
        System.out.println("稀疏数组"+"\t");
        for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i][0]+"\t"
                    +array1[i][1]+"\t"
                    +array1[i][2]+"\t");
        }
        }

}

image-20210423153644890

留言