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

一、重点问题

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基础---------数组的排序与二维数组)