javaSE基础04(数组,冒泡排序,选择排序)

  • 数组
  1. 数组基本格式:dataType[ ]  arrayRefVar = new dataType[arraySize];(动态初始化)
 public static void main(String[] args) {cd
        int[] var = new int[10];

    }
  1. 获取数组长度: arrays.length
  2. 数组的静态初始化:int[ ] a = {1,2,3.....}
  3. int[] arr1= {1,3,5,7,8};//这种方式只有在声明并赋值时才可以使用

  4. int[] arr2=new int[] {1,2,3,4,5};

  5. int[] arr3=new int[8];//长度 这个数值中可以存放8个数组
  6. 声明并初始化 不管什么类型的变量,都必须进行初始化;
  7. 变量的第一次赋值叫做变量的初始化
  8. 未初始化的变量,不能进行操作使用;只能赋值;
  • 数组的基本特点
  1. 其长度是确定的,数组一旦被创建,它的大小就不允许被修改;
  2. 其元素必须是相同类型,不允许出现混合型;
  3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
  4. int[ ]是一个数组的标准格式,代表一个数组,和int代表整型一样;
  5. 对于在构造的方法中有int double int[ ]等不是void的类型,在main方法中调用时要初始化一个新值;
    //例如
    int[ ] 变量 = 构造的方法名称(代入的参数)
  6. 对于viod类型直接调用方法输入值也能输出结果;
  7. 数组不能被直接打印出来,会形成乱码,所以先要定义一个for循环遍历的方法,再调用该方法;
  • 多维数组
  1. 多维数组表现形式int[ ][ ][ ]...array={{{..{1,.,.,},{2...}....}}};
  2. 打印多维数组要用到for循环,例如:
    public static void main(String[] args) {
            int[][] array={{1,2},{3,4},{5,6}};
            for (int i = 0; i < array.length; i++) {
                for (int j = 0; j < array[i].length; j++) {
                    System.out.print(array[i][j]);
                }
            }
        }
  • Arrays类
  1. 可以直接用Arrays类的方法,
    int[] arr={1,2,3,4,5};
    System.out.println(Arrays.toString(arr));
  2. 常用的Arrays类,Arrays.sort( ),把数组从小到大排序;
    int[] arr={1,2,6,8,4,5};
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr));//sort不能直接输出调用
  • 冒泡排序(面试)
        int[] arr1={1,2,6,8,4,5};
        int temp = 0;
        //外层循环,决定要走多少次
        for (int i = 0; i <arr1.length-1 ; i++) {
            //内层循环,比较两个数的大小i
            for (int j = 0; j < arr1.length-i-1; j++) {//比较次数减少
                if(arr1[j+1]<arr1[j]){
                    temp = arr1[j];
                    arr1[j]=arr1[j+1];
                    arr1[j+1]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr1));
  1. [0]表示有几行,有几列,有几个有效值;
  2. [1]表示该有效值的第几行(从0开始),该有效值的第几列(从0开始),该有效值;
  • 选择排序
        int temp;
        for (int i = 0; i < arr.length - 1; i++) { //交换排序的主体
            int min = i;//把第i个数当作最小值
            for (int j = i; j < arr.length; j++) {
                if (arr[min] > arr[j]) {
                    min = j;//找出每一遍最小的一个值
                }
                }if (min != i) {//如果min不等于i交换min和i的位置
                    temp=arr[i];
                    arr[i]=arr[min];
                    arr[min]=temp;
            }  

 

posted @ 2023-09-27 17:27  卡皮巴拉  阅读(32)  评论(0)    收藏  举报