zoukankan      html  css  js  c++  java
  • 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的数据出错,自动类型转换的数据应该不会出现这种错误)

     

  • 相关阅读:
    【WF2017】Mission Improbable
    【Codeforces 837D】Round Subset
    【Codeforces 788C】The Great Mixing
    【JSOI2008】最大数
    2.1图像的数字化
    MATLAB生成随机数
    四六级准考证号忘记了如何快速查询四六级成绩?
    加密与水印结合
    如何在 PyPI安装python的软件包?
    matlab中如何定义函数
  • 原文地址:https://www.cnblogs.com/demain/p/11261395.html
Copyright © 2011-2022 走看看