java——数组

一、数组的声明和开辟空间

数组的声明一共分为两种形式

1.动态的声明

int []arry= new int[5];

解读:定义了一个数据类型为int的数组,它的空间是5个int的大小

2.静态的声明

int []arry={1,2,3,4,5};
//或者还有第二种
int[]arry=new int[]{1,2,3,4,5};

解读:定义了一个int类型的数组,并且他有5个值,5个值都分别和中括号里面的值所对应

二、数组的赋值

首先,数组的赋值需要遵守下面的规则

1.同一个数组元素的数据类型一定要相同。

2.也可以利用java里面的数据类型相互转化的原则来进行赋值

double[] arry={1.1,2.2,3.3,5};

解读:在上面这句话中,虽然5是int类型的,但是在java中int类型可以自动转化为double类型,所以也是可以的。

3.假如对数组没有进行初始化,那么就是默认值

整型:0

浮点类型:0.0

char:\u000

boolean:false

string:null

4.重点:数组的赋值机制

首先,要讲两种赋值方式:值拷贝和地址拷贝。

值拷贝:对于普通的基本数据类型而言,赋值就是一种值得拷贝

地址拷贝:其实数组存放的是一个空间的地址,在赋值时进行的是地址拷贝。

 从计算机内存的结构方面来看,我们所常见的那些赋值,其实都是在栈中。

值拷贝:在栈中,将数据赋值给另外一个数据。

地址拷贝:数组名其实存放的是一个在堆中的地址,拷贝其实是将地址赋值给另外一个,一个改变了,另外一个也会相应的改变。

三、数组的一些操作

在数组中可以使用数组名.length来代表数组的长度

1.数组拷贝

思路

1.重新定义一个数组,遍历,一个又一个的赋值

2.数组反转

方式一

for(int i=0;i<arry.length/2;i++)
{
temp=arr[lenth-1-i];
arr[length-1-i]=arr[i];
arr[i]=temp;
}

方式二:逆序赋值

int[] arry2=new int[arry1.length];
for(int i=0;i<=arry1.length;i++)//开始赋值
{
arry2[i]=arry1[arry1.length-1-i];  //逆序赋值


}
arry1=arry2;

  也根据前面的地址赋值的原理,在java程序中,arry1原本的空间因为没有变量来指向它,而变成了无用的变量,在java程序中,会被自动销毁

3.数组的添加和扩容

思路:1.定义一个数组,长度为arry.length+1

            2.赋值,遍历拷贝

           3.令原本的数组,指向新数组所对应的空间。

            4.常规输入你要添加的数据

          5.使用dowhile循环,和break来控制你要添加多少个空间

          6.记得while(true)这样来写,这样写的目的是使得你的循环可以保持无限的循环,而将你的控制权限给了break

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值