尚硅谷java课程笔记--数组

概念

数组:在内存中对多个数据的存储

数组名

数组的元素:内部储存的多个元素

下标(角标/索引/下角标)index

数组长度:存储元素个数

特点

1、元素紧密排列,有序

2、数组属于引用数据类型的变量。数组元素既可以是基本数据类型,也可以是引用数据类型

分类

1、按元素类型:分为基本数据类型元素数组和引用数据类型元素数组

2、按数组维数:一维数组、二维数组……

一维数组

声明和初始化

e.g. double[] array1;//声明

        array1 = new double[]{1,2,3};//静态初始化

e.g.String[] array1 = new String[4];//动态初始化

e.g.int[] array1 = new int[4];

      int[] array1 = {1,2,3};//类型推断

e.g.

***一旦初始化完成,数组长度确定且不可更改

调用数组指定元素

通过角标

赋值:e.g. array1[0] = "abcd";

 

数组属性(长度)

length

Array1.length

 

数组遍历

用for循环:

for(int i = 0,i < array1.length; i++){

System.out.println(array1[i]);

}

 

数组元素默认初始化

整型:0

浮点型:0.0

字符型:0或'\u0000'

布尔型:flase

引用数据类型:null

 

一维数组内存解析

内存结构:

程序计数器

虚拟机栈

本地方法栈:存放method中声明的变量

堆heap:存放数组实体(所有元素)

栈stack:先进后出

方法区

若直接用=将数组赋给新数组,会将地址赋值过去,两者指针指向同一个堆,所以两者会一起更改。

二维数组

二维数组理解

一些一维数组是另一个一维数组的元素

e.g.表格

声明和初始化

    静态初始化(数组变量赋值和元素赋值同时进行):

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

    动态初始化(数组变量赋值和元素赋值分开进行):

    1、Int[][] arr2 = new int[3][2];

        /int arr2 [][] = new int[3][2];

    2、Int[][] arr2 = new int[3][];

    3、String arr2[][] = new String[3][2];

元素调用

先调用外层元素再调用内层元素,一层一层调

数组长度

考虑最外层

遍历

使用嵌套循环

   

   

默认初始化

动态初始化方式1:Int[][] arr2 = new int[3][2];

外层元素:打印出来是地址

内层元素:打印出来是

        array:值

        Boolean: false

        String: null

动态初始化方式2:Int[][] arr2 = new int[3][2];

外层元素:打印出来是null

内层元素:打印出来是报错

数组常见算法

1、数值型数组特征值:平均值、最大值、最小值、总和

2、元素赋值

3、复制

4、反转

5、扩容和缩容

6、查找

7、排序

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值