【Java】数组超详细解析

目录

数组的使用

使用方式1-动态初始化1

使用方法2-动态初始化2

使用方法3-静态初始化

数组使用的细节

数组赋值机制

数组扩容


数组介绍:可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。

数组的定义:数据类型 数组名【】 = new 数据类型【大小】;【】可以在数据类型之后也可以在数组名之后,看个人喜好。

int a【】= new int【5】; 创建了一个数组,名字a,存放5个int。

数组的大小/长度表示:用数组名.length表示。

数组的使用

使用方式1-动态初始化1

方法:先定义一个数组,之后再引用它。

int a[] = new int [3];//创建数组

举例:循环输入5个成绩,保存到double数组,并输出。

使用方法2-动态初始化2

方法:先声明数组再创建数组。

int a[];//数组的声明,内存里并未分配空间
a = new int[3];//数组的使用,内存中分配了空间,可以存放数据了

使用方法3-静态初始化

方法:如果知道数组有多少元素和具体值,可以用相关语法,数据类型 数组名【】 = {元素值,元素值...}。

数组使用的细节

1. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型,但是不能混用。

2. 数组创建后,如果没有赋值,有默认值。int - 0; short - 0; byte - 0; long - 0; float - 0.0; double - 0.0; char - \u0000; boolean - false; String - null。

3. 数组下标必须在指定范围内使用,否则会报下标越界异常。如 int arr[ ] = new int [5],那么有效的下标范围是0 ~ 4 。

4. 数组属于引用类型,数据型数据是对象(object)。

数组赋值机制

1. 基本数据类型赋值,这个值就是具体的值,相互不影响。(值拷贝)

2. 数组在默认情况下是引用传递,赋的值是地址。(地址拷贝)

 编译结果

 

 原理

数组扩容

public class ArrayAdd{
public static void main(String[]args){

int arr[] = {1, 2, 3};
int arrNew[] = new int [arr.length + 1];
for(int i = 0; i < arr.length; i++)
{
    arrNew[i] = arr[i];
}  
arrNew[arrNew.length-1] = 4;
arr = arrNew;
System.out.println("====arr扩容后元素情况====");
for(int i = 0; i < arr.length; i++)
{
    System.out.print(arr[i] + "\t");
}
    }
        }

 

 数组缩减和数组扩容是差不多的思想,感兴趣的朋友可以自己试试看能不能做出来哦!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值