尚学堂013天总结+数组深化和提高

013天

行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

 今天的主要收获

JAVA中逗号与分号的区别,理解本质很重要,思考问题要深刻

打印杨辉三角的方法

用对象的思想封装员工数据

自定义排序

老师布置的作业题

获取数组最大值和最小值操作:利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。提示:使用 int num=(int)(n*Math.random());获取随机数

合并数组操作:现有如下一个数组:  int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}  要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr [] ={1,3,4,5,6,6,5,4,7,6,7,5}

思路: 确定出不为0的个数,这样可以开辟新数组;从旧的数组之中,取出内容,并将其赋给新开辟的数组。

多维数组

二维数组的初始化有几种方式分别是什么?

1. 静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

2.动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。

3.数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

二维数组的遍历有几种方式?

三种方式:

第一种方法:双重for循环

第二种方法:增强for循环foreach

第三种方法:for循环的混搭

Object数组存储表格数据

数组都可以存储哪些类型的数据?

基本数据类型和引用类型的数据

请你画出使用对象数组存储数据的内存结构图?

​​

数组的拷贝

数组的拷贝分为哪两种类型的拷贝?

内存地址拷贝和存储数据拷贝

System类中数组拷贝的方法是什么?参数均是什么含义?

System.arraycopy(src, srcPos, dest, destPos, length);

src是被拷贝的数组名

srcPos是被拷贝数组的开始位置

dest是拷贝数组的数组名

destPos是拷贝数组的开始位置

length是拷贝的长度

java.util.Arrays工具类的使用

Arrays工具类在API中的说明是什么?

该类包含用于操作数组的各种方法(如排序和搜索)。 该类还包含一个静态工厂,可以将数组视为列表。如果指定的数组引用为空,则该类中的方法都抛出一个NullPointerException,除非另有说明。

Arrays类中的常用方法有哪些?

Arrays.fill()

Arrays.fill(Object[] array, Object obj)

用指定元素填充整个数组(会替换掉数组中原来的元素)

Arrays.sort()

Arrays.sort(Object[] array)

对数组元素进行排序(串行排序,升序排列)

Arrays.binarySearch()

注意:在调用该方法之前,必须先调用sort()方法进行排序,如果数组没有排序,

那么结果是不确定的,此外如果数组中包含多个指定元素,则无法保证将找到哪个元素

Arrays.copyOf()

Arrays.copyOf(T[] original, int newLength)

拷贝数组,其内部调用了 System.arraycopy() 方法,从下标0开始,如果超过原数组长度,会用null进行填充

Arrays.equals(Object[] array1, Object[] array2)

判断两个数组是否相等,实际上比较的是两个数组的哈希值,即 Arrays.hashCode(data1) == Arrays.hashCode(data2)

冒泡排序的基础算法

冒泡排序的原理是什么?

算法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。

冒泡排序的外循环条件是什么?内循环条件是什么?

外层循环条件是数组的长度,内层的循环条件是数组的长度减去1再减去外层循环中i的值.

你可能感兴趣的:(尚学堂013天总结+数组深化和提高)