Java学习第四天

1.数组: java.lang.ArrayIndexOutOfBoundsException:5 下标越界异常
    java.lang.NullPointerException 空指针异常
    arr.length获取数组长度
    数组存储的是多个数,数据的操作离不开循环
2数组初始化:int[] arr=new int[]{2,3,4,5};
        int[] arr=new int[7];
                       int[] arr={1,2,3,4};
    数组的长度是固定的,数组的内存是连续的

3.数组的Arrays函数

  (使用Arrays函数要import java.util.Arrays;)

  int[] b=Arrays.copyOf(a,1);//第二个参数为复制指定个数的原数组元素个数到新的数组中,即新数组的长度,优点是不会改变原数组
  int[] c=Arrays.copyOfRange(a,1,3);//包括起始下标,不包括结束下标,优点是不会改变原数组
  Arrays.sort(数组名);//jdk中已经存在的排序方法,对数组进行排序,会改变原数组

4.排序:选择排序
    冒泡排序
    插入排序
    必须熟练掌握的排序算法:选择排序、冒泡排序
    1.选择排序:
    依次固定每个下标,让后面所有的数分别和固定下标中的数据依次对比
    2.冒泡排序
    下标相邻的两两比较

 

5.查找:
  普通方式:一个一个比较
       缺点:效率低
  二分法:前提:数组是有序的
      先找到中间下标的数据,拿着查找的数和这个中间的数比较,如果比他大,则对中间数右边的数组进行二分法查找,反之左边

6.进制转换(部分)

十进制转二进制:数组接收余数
十进制转十六进制:
int num=60;
int n1=num&15;
int n2=num>>>4;

7.数组中的易错点:

1.在定义数组时可能只记住定义数组的类型而忘记长度,数组是事先就要在内存中开辟空间,所以必须在定义时或在程序运行前定义数组的长度(初学者易犯)

2.数组的类型与要插入数组的元素的类型不匹配(我出现过char型的数组要放入String的数据出错,自动类型转换的数据应该不会出现这种错误)

 

点赞