Java数组

基本数据类型

  • 整型(Integral Types):byte、short、int、long
  • 浮点型(Floating Point Types):float、double
  • 字符型(Character Types):char
  • 布尔型(Boolean Types):boolean
  • 空值类型(Void Type):void基本数据类型在内存中占用的空间大小是固定的,不能被改变。

引用数据类型

  • 类、数组、接口、枚举、注解、记录

一维数组中数据类型默认值

  • 整型(int)数组的默认值为0
  • 浮点型(float)数组的默认值为0.0
  • 字符型(char)数组的默认值为空字符('\u0000')

\u0000是一个Unicode转义字符,代表空字符。在Unicode编码中,\u0000的十进制表示为0,也被称作空字符或NULL字符。它在编程中通常用于表示一个无效或空的值。

  • 布尔型(boolean)数组的默认值为false(false是因为false在计算机中默认对应0,true对应1)
  • 双精度浮点型(double)数组的默认值为0.0

二维数组中数据类型默认值

数组的使用步骤

一维数组

复制代码
       // 一维数组
//      动态数组  定义,初始化
        int[] prices = new int[5];
//        静态数组
//      int[] prices = new int[] {1,2,3}
//        调用
        prices[0] = 1;
        prices[1] = 1;
        prices[2] = 8;
        prices[3] = 10;
        prices[4] = 5;
//        遍历数组
        for(int i = 0; i < prices.length;i++){
         System.out.println(prices[i]);
        }
一维数组内存解析

数组变量放在栈中,数组值放在堆中

不同数据类型数组

相同数据类型数组

二维数组

复制代码
//        二维数组
//        定义和初始化
//        动态数组
        int[][] arr = new  int[3][4];
//        静态数组
//       int[][] arr = new  int[][]{{1,2,3},{2,3},{9,8}};
//       调用
//       打印数组长度
        arr[1][2]=1;
        System.out.println(arr[0]);//打印其地址
        System.out.println(arr[1][2]);

        int[][] arr1 = new int[][]{{1,2},{2,3},{9,8}};
// 遍历数组
        int i,j;
        for(i = 0; i < arr1.length; i++ ){
            for (j = 0; j < arr1[i].length; j++ ){
                System.out.println(arr1[i][j]+"\t");
            }
            System.out.println(); // 在每行的结束添加一个新行,使得输出更清晰
        }

二维数组赋值方式

  1. 逐个元素赋值:

    int[][] arr = new int[3][4];
    arr[0][0] = 1;
    arr[0][1] = 2;
    arr[0][2] = 3;
    arr[0][3] = 4;
    arr[1][0] = 5;
    arr[1][1] = 6;
    arr[1][2] = 7;
    arr[1][3] = 8;
    arr[2][0] = 9;
    arr[2][1] = 10;
    arr[2][2] = 11;
    arr[2][3] = 12;

  2. 使用循环赋值:

    int[][] arr = new int[3][4];
    for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
    arr[i][j] = i * j; // 或者其他您需要的赋值方式
    }
    }

  3. 使用数组字面量赋值:

    int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

二维数组内存解析

数组常见算法

数值型数组特征值统计

平均值、最大值、最小值、总和等

数组元素的反转

数组对称位置的元素互换。

数组的扩容与缩容
数组的元素查找

待学 对应视频70


上面所有方法都可以用Arrays工具类实现

Arrays工具类的使用

复制代码
    public static void main(String[] args) {
        int[] arr1 = new  int[]{12,23,24,9};
        int[] arr2 = new  int[]{12,23,24,9};
//  调用Arrays中的equals方法
        boolean isEquals = Arrays.equals(arr1,arr2);

        System.out.println(isEquals);
//    调用toString方法,打印数组元素
        System.out.println(Arrays.toString(arr1));

结语

我是南城余!欢迎关注我的博客!一同成长!

一名从事运维开发的worker,记录分享学习。

专注于AI,运维开发,windows Linux 系统领域的分享!

相关推荐
xifangge20251 天前
【故障排查】IDEA 打开 Java 文件没有运行按钮(Run)?深度解析项目标识与环境配置的 3 大底层坑点
java·ide·intellij-idea
麻辣璐璐1 天前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
hehelm1 天前
vector模拟实现
前端·javascript·算法
weisian1511 天前
Java并发编程--33-Redis分布式缓存三大核心架构:主从、哨兵、分片,落地实战与选型
java·redis·缓存·主从架构·哨兵架构·分片架构
APIshop1 天前
Python 爬虫获取京东商品详情 API 接口实战指南
java·服务器·数据库
2301_803554521 天前
C++ 并发核心:std::promise、std::future、std::async 超详细全解
开发语言·c++
wang09071 天前
Linux性能优化之内存管理基础知识
java·linux·性能优化
俺不要写代码1 天前
线程启动、结束,创建线程多法、join,detach,线程的移动语义
服务器·开发语言·网络·c++
雾岛听蓝1 天前
Qt Widget控件属性详解
开发语言·经验分享·笔记·qt
范什么特西1 天前
idea创建一个普通的Maven项目运行javaweb
java·maven·intellij-idea