• java数组基础


    IDEA使用

    IDEA是通过项目来管理java源码的,对我飘了,我嫌麻烦直接换IDEA了

    快捷键

    1. ctrl + / 注释
    2. ctrl + alt + ↓ 复制当前行到下一行
    3. ctrl + alt + L 自动格式化
    4. alt + R 运行程序
    5. alt + insert 生成构造器
    6. ctrl + h 查看类的继承关系
    7. ctrl + b或者ctrl + 鼠标左键
    8. .var 自动分配变量名
    9. ctrl + d 删除当前行

    模板

    1. main
    2. sout
    3. fori
    4. 自定义模板

    数组

    1. 定义

    > + 静态赋值  ```int[] hens = {1,3,5,3,2,4,6,3}; ```
    > + 动态赋值  ```int[] a = new int[5]; ```
    
    • 1
    • 2

    2. 细节

    > 1. 数组是多个类型相同的数据的集合,包括基本类型和引用类型,但是不能混用。
    > 	2. 数组创建后如果没有赋值则会自动赋初始值。
    > 	3. 使用数组要先定义,再赋值,然后使用。
    > 	4. 数组的下标从0开始,且只能在范围内使用,不能越界。
    > 	5. 数组是引用数据类型,属于对象。
    > 6. 数组在赋值的时候默认赋的是地址。(类似于js的深浅拷贝)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3. 属性

    length可以获取到数组的长度

    4. 方法

    数组拷贝(深拷贝,数据空间独立)

    对数组进行遍历,逐元素拷贝。

    		int[] a = {1,2,3};
            int[] b = new int[3];
            for (int i = 0; i < a.length; i++) {
                b[i] = a[i];
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    数组翻转

    逆序赋值

    		int[] arr = {11,22,33,44,55,66};
            int temp = 0;
            int[] arr2 = new int[arr.length];
            for (int i = 0; i < arr.length; i++) {
                arr2[i] = arr[arr.length - 1 - i];
            }
            arr = arr2;//让原来的数组销毁
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    找规律

            int[] arr = {11,22,33,44,55,66};
            int temp = 0;
            for (int i = 0; i < arr.length/2; i++) {
                temp = arr[i];
                arr[i] = arr[arr.length - i - 1];
                arr[arr.length - i - 1] = temp;
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    数组扩容

    创建一个新数组,将之前的数组拷贝进去,然后将新加入的值存进去,最后将以前的数组指向新的数组。

    		int[] arr = {1,2,3};
            int[] arr2 = new int[arr.length + 1];
            for (int i = 0; i < arr.length; i++) {
                arr2[i] = arr[i];
            }
            arr2[arr.length] = 4;
            arr = arr2;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    数组缩减

    创建一个新数组,将除了被删减的元素存入,然后将以前的数组指向新的数组。

            int[] arr = {1,2,3,4};
            int[] arr2 = new int[arr.length - 1];
            for (int i = 0,j = 0; i < arr.length; i++) {
                if(i != 0){
                    arr2[j] = arr[i];
                    j++;
                }
            }
            arr = arr2;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    冒泡排序

            int[] arr = {12,56,34,78,32,45};
            int temp = 0;
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr.length - i - 1; j++) {
                    if(arr[j] > arr[j + 1]){
                        temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    顺序查找

    		String[] names = {"砂糖","清流","刻晴","蜜莓"};
            boolean flag = true;
            for (int i = 0; i < names.length; i++) {
                if(names[i] == "蜜莓"){
                    System.out.println(i + "," + names[i]);
                    flag = false;
                }
            }
            if(flag == true){
                System.out.println("找不到这人女孩子");
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    二维数组

    二维数组其实就是数组中的每个元素又是一个数组

    1. 定义

    二维数组的长度是行数

    int[][] arr1 = {{0,0},{0,0}};
    int[][] arr2 = new int[2][3];
    
    • 1
    • 2

    2. 内存分配

    二维数组的内存分配

  • 相关阅读:
    HTB-Paper
    【学习笔记72】 Promise和async 与 await
    vue基础知识
    jquery 中input /checkbox/radio/button/select未选中的值/等取值问题
    RabbitMQ 笔记
    链表OJ题+牛客题
    想进入社交电商,但却害怕投入回本无望?来试一试这样做
    中国生态系统服务空间/食物生产、土壤保持、水源涵养、防风固沙、生物多样性、碳固定
    Springboot 异步Async教程
    SWC 流程
  • 原文地址:https://blog.csdn.net/m0_66711291/article/details/125427871