JAVA 学习笔记02

本文介绍了Java中数组的声明、初始化过程,强调了一维和二维数组在内存上的区别,并提到了Arrays工具类的使用方法,以及几个常见企业面试题,如数组的length属性、索引从0开始的原因和快速排序的时间复杂度。
摘要由CSDN通过智能技术生成

数组

基础
 //声明数组
        double[] price;
        //数组初始化
        price = new double[]{20,32,43.21};

        String[] foods;
        foods = new String[4];
        //要么把数组里面的变量写出来,要么指定长度

        int arr[] = new int[4];
        int arr1[] ={1,2,3,4};
        //将arr的地址赋给arr2
        int arr2[] =arr

        //数组初始化后长度就确定了,不可变

        //数组元素的调用
        System.out.println(price[0]);

        //数组长度
        System.out.println(arr1.length);

        //遍历数组
        for(int i=0;i<arr1.length;i++){
            System.out.println(arr1[i]);
        }
数组元素默认初始化值的情况

整形数组:0

浮点型数组:0.0

字符型数组:0

boolean型数组:false

引用数据型数组:null

一维数组内存解析

数据结构:声明的数组变量名会被存放到对应方法的栈帧中它的值是数组值的内存首地址,数值的值存放在堆中对外只暴露首地址值

二维数组

前面这些声明啊啥都的差不多,单括号变为两个括号。

重点就在于内存解析,二维数组就是创建个一维数组然后一维数组中的每个值存放的是另一个一位数组的地址,从图上就能很好看出来。

Arrays工具类

比较两数组内容是否相等 Arrays.equals

输出数组元素信息 Arrays.toString

快速排序 Arrays.sort

二分查找Arrays.binarySearch

企业真题

1.数组有没有length()这个方法?String有没有length()这个方法?

数组没有length是属性,String有

2为什么数组要从0开始编号,而不是1

数组的索引,表示了数组元素距离首地址的偏离量。因为第1个元素的地址与首地址相同,所以偏移量就是0.所以从0开始

3.快速排序,时间复杂度

4.数组最大子序列和

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值