20200923_陈宇_
日志
学习总结:
数组:
一维数组:
数组:数组是具有相同数据类型且按一定次序排列的一组变量的集合体;Java为数组在内存中分配一段连续的空间
数组元素:构成一个数组的每一个数据称为数组元素
数组下标:在数组中,数组下标是用整数表示的,从0开始,依次+1
数组大小:数组中元素的个数叫做数组的大小,也叫数组的长度
使用数组:
定义数组:
数据类型[ ] 数组名;(推荐使用这种)
数据类型 数组名[ ];
数组是引用类型,引用类型变量的默认值都是null;
为数组分配内存:
通过new运算符为数组元素分配空间内存
分配内存语法:数组名 = new int[5];
数组长度是在为数组元素分配内存是确定的,数组长度一旦确定,长度不可更改
int类型的数组是引用类型,int数组的元素是基本类型
数组元素初始化
数组声明并为数组元素分配空间完成后,必须为数组元素初始化(初始化就是第一次赋值),初始化之后才能使用数组
初始化:如:int[ ] score = new int[ ]{1,2,3} 或 int[ ] score = {1,2,3}(这个只能写在同一排)
通常都使用for循环为数组初始化值,将for循环的循环变量作为数组的下标使用
遍历数组
通常使用for循环遍历数组,还可以使用for-each循环遍历数组:
for-each:
for(变量:被循环的变量){ (可以理解为为for循环中加入int num = nums[i])
代码块
}
每次循环都会将被循环的变量的对应值赋值给变量
二维数组:
二维数组就是数组里面的数组元素又是一个数组,二维数组的操作和语法与一维数组类似
定义二维数组:
数据类型【】【】 数组名; 或 数据类型 数组名【】【】
Arrays类:
static()方法可以直接使用类名.方法名()调用
binarySearch(array,val) 返回值:int 作用:查询元素值val在数组array中的下标
binarySearch(array a,int fromIndex,int toIndex,val) 返回值:int 作用:使用二分搜索算法搜索指定值在目标数组指定范围中的下标,使用前需先将数组排序
copyOf(array,length) 返回值:与array数据类型一致 作用:把数组array复制成一个长度为length的新数组(复制数组的长度大于原数组的长度的话,大于原数组组长度部分用数组数据类型的默认值填充)
fill(array,val) 返回值:void 作用:把数组array的所有元素都赋值成val
toString(array) 返回值:String 作用:将一个数组array转换成一个字符串
sort(array) 返回值:void 作用:对数组array的元素进行排序
equals(array1,array2) 返回值:Boolean 作用:比较两个数组是否相等
System类:
System 类包含几个有用的类字段和方法。它不能被实例化。
System类是final类,不可能存在子类
System字段:
err:类型:PrintStream 作用:"标准"错误输出流
arraycopy(Object src, int srcPos, Object dest, int destPos, int length):
src - 源数组;
srcPos - 源数组中的起始位置;
dest - 目标数组;
destPos - 目的地数据中的起始位置;
length - 要复制的数组元素的数量
学习心得:
今天学习了数组,感觉单单数组这一块理解起来还是不是特别难,但是一旦和循环结合起来就变难了,而且下午快结束的时候完全不知道在听什么了,今天的第二题不会做,浩哥明天来讲一下嘛。
近期评论