[关闭]
@MRsunhuimin 2019-07-22T11:02:55.000000Z 字数 1406 阅读 208

java在家第三天(2019.07.16)

java基础

作者:孙慧敏

1. 数组

1.1 什么是数组?

    数组是一个变量,存储相同数据类型的一组数据

1.2 数组基本要素:

    1. 标识符
    2. 数组元素
    3. 元素下标:从0开始
    4. 元素类型

1.3 数组和变量:

    声明一个变量就是在内存空间划出一块合适的空间

    声明一个数组就是在内存空间划出一串连续的空间

1.4 补充:

    1. 数组中的所有元素必须属于相同的数据类型      

    2. 数组长度固定不变,避免数组越界

1.5 如何使用数组

    1.声明数组(声明数组时不规定数组长度)

        1.1 数据类型    数组名[ ] ; 
        1.2 数据类型[ ]  数组名 ; 

    2.分配空间(数组元素根据类型不同,有不同的初始值)

        数据类型[ ]  数组名   =   new   数据类型[大小]  ;    

    3.赋值

        3.1 方法1: 边声明边赋值

            int[ ] scores = new int[ ]{89, 79, 76};(不能指定数组长度)

        3.2 方法2:动态地从键盘录入信息并赋值

    4.处理数据

1.6 数组与内存(栈)

    在方法中定义的变量,包括基本数据类型变量和引用数据类型变量,都将在栈内存中分配空间。当超过变量的作用范围之后,这里的变量会马上回收,所占用空间将另作他用,本次课之前所讲的变量都是在栈内存分配空间的

1.7 冒泡排序

冒泡排序:N个数;

1.两层循环,外层循环N-1遍,控制循环的趟数,(n-1)是因为最后一趟不用比;

2.内层,相邻两数比较,大的往后走;每走完一趟,比较次数少一次;

3.循环结束,数组有序(升序);

代码:

  1. public static void main(String[] args) {
  2. for (int i = 0;i<test.length;i++){
  3. for(int j = 0;j<test.length-i-1;i++){
  4. if(test[j] > test[j+1]){
  5. int temp = test[j];
  6. test[j] = test[j+1];
  7. test[j+1] = temp;
  8. }
  9. }
  10. }
  11. }

升序排序:

    1. 每次比较相邻两数
    2. 小的交换到前面
    3. 每轮结束后最大的数交换到最后

用二重循环将5个数字升序排序:

    1. 5个数字如何存放
            数组,数组.length = 5

    2. 控制比较多少轮
            外层循环,循环变量 i

    3. 控制每轮比较多少次
            内层循环,循环变量 j

    4. 交换数据

冒泡排序速记口诀(升序)

    N 个数字来排队
    两两相比小靠前
    外层循环 N-1
    内层循环 N-1-I

1.8 使用Arrays为数组排序

    使用java.util.Arrays类
    java.util包提供的工具类
    Arrays类提供操作数组的方法,如:排序、查询
    Arrays类的sort()方法: 对数组进行升序排列

            Arrays.sort(数组名);

1.9 二维数组

    <数据类型>  [ ][ ]  数组名;  或者  <数据类型>  数组名 [ ][ ];
  1. int [ ][ ] scores; //定义二维数组
  2. scores=new int[5][50]; //分配内存空间
  3. //或者
  4. int [ ][ ] scores = new int[5][50];
    定义二维数组时,要定义最大维数
    int [ ][ ] scores = new int[5][];   √
    int [ ][ ] scores = new int[][];    ×
    二维数组实际上是一个以一维数组做为元素的一维数组

1.10 二维数组定义

定义并赋值:

  1. 写法一
  2. int[][] scores=new int[][]{ { 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 }};
  3. 写法二
  4. int scores[][] = {{ 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 } };
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注