Java基础知识:数组 入门到精通

2024/3/9

Java基础知识:数组 入门到精通

什么是数组

简单来说:数组是用于存储多个相同类型数据的有序集合

image-20240307160404641

数组的本质

1–Java 创建的数组是存储在Java堆里面的!

 int[] intArr = new int[10000000*1000000*10000]; //表示Java程序在运行过程中出现了内存溢出,原因是Java堆空间(heap)不足

20240307141703

2–方法在运行时是放在栈里面的!

main(args);     // Exception in thread "main" java.lang.StackOverflowError

image-20240307161304441

数组的三种声明和创建方式

20240307105220

20240307103726

20240307103927

20240307104625

import java.util.Arrays;

public class Old {
    public static void main(String[] args) {
        
        // 三种定义数组方法:声明+创建;
        // 声明数组并初始化:在声明数组时直接为其赋值
        float[] a = {9.3f, 9.9f, 9f};
        // 声明数组并分配内存空间:使用new关键字为数组分配内存空间
        float[] b = new float[]{9.3f, 9.9f, 9f};
        // 声明数组、分配内存空间并初始化:在为数组分配内存空间的同时为其赋值
        float[] c = new float[3];
        c[0] = 1f;
        c[1] = 2f;
        c[2] = 3f;

        System.out.println(Arrays.toString(c));  // 输出为:地址!![F@4554617c

        System.out.println(c[1]);   // 输出为:数值2f

数组的四个基本特点

20240307105314

数组的边界

20240307105532

20240307114355

值传递和引用传递

差异的原因:数组是在堆里面的;方法是在栈里面的;

image-20240307172459898

使用数组小案例

通过java数组实现电话号码输出

public class Test1 {
    public static void main(String[] args) {
        int i = 0;
        int[] arr = {1, 9, 3, 5, 0, 7, 2, 3};
        int[] index = {0, 1, 1, 2, 3, 4, 5, 4, 6, 4, 7};
        String tel = "";

        for (int i = 0; i < index.length; i++) {
            tel += arr[index[i]];
//            }
        while (i < index.length) {
            tel += arr[index[i]];
            i++;
        }

        System.out.println("联系方式:" + tel);
    }
}

多维数组

20240309110602

image-20240309110745811

image-20240309110928246

Arrays类使用

image-20240309112517602

冒泡排序

image-20240309112716492

水杯思想

image-20240309113052325

image-20240309113609098

image-20240309113816071

稀疏数组

image-20240309113945810

image-20240309114403256

image-20240309114219650

image-20240309142748297

image-20240309142714107

image-20240309140214397

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值