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的数据出错,自动类型转换的数据应该不会出现这种错误)

     

  • 相关阅读:
    设计模式之命令模式
    设计模式之访问者模式
    ES6入门之Generator函数
    ES6入门之Iterator和for...of
    c# TcpClient简易聊天工具
    Mvc Action可以通过jsonp方式调取
    Webbrowser 在web项目中的使用
    关于java post get请求Demo (请求c#iis接口)
    Jquery 引擎模板 -template详解
    Redis在windows下安装过程
  • 原文地址:https://www.cnblogs.com/demain/p/11261395.html
Copyright © 2011-2022 走看看