美文网首页java学习记录
java基础---------数组的排序与二维数组

java基础---------数组的排序与二维数组

作者: 一花一世界yu | 来源:发表于2020-03-28 20:17 被阅读0次

    一、重点问题

    src文件存放源码

    bin文件存放字节码

    写了方法后要在上面加文档注释
    eclipse 中我设置了类的文档注释和方法的文档注释         /**加空格就出来了

    Scanner警告是因为他看为io流操作,不用处理

    数组的逆序有两种方法,一种用一个数组,一种用两个数组

    选择排序(升序)
    注意每一次的k是在里层循环结束后确定的

    注意冒泡排序外层循环不用进行length-1次,进性length - 2次就可以了

    数组的复制,用for循环可以复制一个更长的数组,多出的位用0补充

    Arrays.copyof(a,5);拷贝数组,可以截取也可以补充,所以数字可以大于原数组长度,也可以小于
    a代表被拷贝的数组名,5代表新数组长度,返回值为新数组的地址

    System.arraycopy(原数组,原数组位置,新数组,新数组位置,拷贝几个) 但有可能出现数组下标越界
    这个方法可以选择从哪拷贝,重哪一个下标拷贝,拷贝几个,拷贝到目标数组从哪个下标赋值

    二、重点问题

    新奇面试题
    //Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
    //保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
    //-128~127范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率
    Integer m = 1;
    Integer n = 1;
    System.out.println(m == n);//true

    Integer x = 128;//相当于new了一个Integer对象
    Integer y = 128;//相当于new了一个Integer对象
    System.out.println(x == y);//false

    增强for循环也可以打印二维数组

    int [] arr1 = new int []{{},{},{}}
    for( int [] arr : arr1){
        for(int e : arr){
            System.out.print(e)
        }
                System.out.println()
            }

    三、课堂知识

    3.1、数组的排序

    1、冒泡排序:思路(升序):比较相邻的两个数,较大的数据需要向后移动。长度减1。

    2、选择排序:思路(升序):每次找个基准值,定一个变量k表示比较小的值的下标。每轮比较完,都在基准值上放一个比较小数。

    3、工具类:Arrays
    JDK提供好的类:
    A:Scanner,读取键盘
    B:String,字符串
    C:Math,数学的
    D:Arrays,提供数组的常规操作的
    E:System,

    3.2、数组的复制

    就是将一个数组的数据,复制到另一个数值中。

    方法一:通过循环,依次复制,将原数组的数据,一个一个,复制到目标数组中

    方法二:Arrays类里方法:copyOf(原数组,新数组的长度)-->返回值是新数组

    方法三:System类里的方法:arraycopy(原数组,原数组位置,新数组,新数组位置,拷贝的个数)

    3.3、二维数组

    数组:存储相同类型的一组数据。

    一维数组:数组中存储的就是数据了。

    二维数组:存储的是一维数组。本质也叫数组的数组。也被称为矩阵:行和列的。

    相关文章

      网友评论

        本文标题:java基础---------数组的排序与二维数组

        本文链接:https://www.haomeiwen.com/subject/ajvsuhtx.html