Java关于数组的基础知识

Java的第十天的学习

&和&&的异同
&逻辑与;&&短路与

数组常见的算法

需要掌握的有选择排序(堆排序)、交换排序(冒泡排序、快速排序)、归并排序。
数组冒泡排序法,实现数组的从小到大排序:

int[] arr = new int[]{42,65,1,23,12,4};
//冒泡排序

for(int i=0;i<length-1;i++){
for(int j=0;j<length-1-i;i++){
if(arr[j]>arr[j+1]){
	int temp = arr[j];
	arr[j] = arr[j+1];
	arr[j+1] = temp;
           }
     }
}
与数组有关的常用的操作方法

数组排序
数组排序

数组拷贝:从一个数组之中拷贝部分内容到另外一个数组之中,方法为System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度)。
数组拷贝

对象数组

对象数组的动态初始化
类名称 对象数组名称 = new 类名称()[长度];
如果使用了对象数组的动态初始化,则默认情况下,里面的每一个元素都是其对应的默认值null,都需要分别进行对象的实例化操作。
对象数组的静态初始化
类名称 对象数组名称 = new 类名称[]{实例化对象,实例化对象};

对象数组的最大好处:将多个对象统一进行了管理,只是除了数据类型改变之外,和之前的数组没有任何的区别。

数组中常见的异常有哪些?请举例说明

ArrayIndexOutOfBoundsException:数组角标越界异常:
合理范围:[0,arr.length-1]
越界:arr[-1],arr.[length]

NullPointerException:空指针异常
int[] arr = null;
arr[0];

数组的复制和数组的赋值是不一样的

数组赋值:array2=array1;
如何理解:将array1保存的数组的地址值赋给array2,使得它们共同指向用一个数组实体。
数组的复制:

array2 = new int[array1.length];
for(int i = 0; i < array2.length;i++)
{
array2[i] =  array1[i];
}

如何理解:因为是重新new出来的,给array2在堆空间中开辟了数组的空间。它们是相互独立的,改变是不会受影响的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值