• 流程控制与数组


    1. 流程控制结构
      • 顺序结构
      • 分支结构
        • if分支
        • switch分支
      • 循环结构
        • while
        • do-while
        • for
        • foreach
      • 嵌套循环
    2. 控制语句
      • break
      • continue
    3. 数组类型
      数组类型是一种引用类型,数组一旦初始化完成,就确定了其在内存占用的空间,长度不可变。
      • 数组定义
        声明一个引用变量,未指明内存空间,不能指定长度。
      • 数组初始化
        初始化即为数组元素分配内存空间,并赋初值(系统自动初始化后程序员再初始化)。
        • 静态初始化
          程序员指定数组初始值,系统决定数组长度。
          int[] arr = {1, 2, 3, 4, 5};
        • 动态初始化
          程序员指定数组长度。
          int[] arr = new int[10];
          不能同时指定长度和初始值!数组元素为引用类型时值默认为null。
      • 访问数组
        • 数组有length属性表示长度
          for(int i = 0;i < arr.length;++i)
        • foreach(增强型for循环)自动遍历数组和集合,只能访问不能赋值
    for(int tmp: arr)
    {
        System.out.println(tmp);
    }
    
    1. 深入数组
      • 内存中的数组
        创建一个局部变量,则它被存储在所在方法的内存栈(stack)中;创建一个对象后,则该对象被存储在堆内存(heap)中以便被反复利用。方法结束而堆内存中的对象不会被销毁,所以还可以被引用。如果没有任何引用指向该对象,比如把数组变量赋值为null,则GC会回收它。
      • 二维数组
        int[][] attr = new int[4][];
        声明一个数组,第一个[4]表示这个数组存了四个引用类型的数组,第二个[]表示这四个数组存int类型的值。
    2. Arrays类
      Java增强的工具类,位于java.util包里。Arrays类里提供了直接调用来操作数组的static方法,如下:
      • 二分查找返回索引(数组需升序排列)
        int tmp = Arrays.binarySearch(arr, key);
      • sort排序
        Arrays.sort(arr);
        并行排序
        Arrays.parallelSort(arr);
      • 数组转换字符串
        String str = Arrays.toString(arr);
      • 批量赋值
        Arrays.fill(arr, value);
      • 判断数组相同
        boolean res = Arrays.equals(arr, ar);
      • 复制数组(length决定ar的长度)
        int[] ar = Arrays.copyOf(arr, length);
      • System类也提供了一个复制数组的静态方法
        static void arraycopy(src, srcletf, target, tarleft, length);

    学到这里可以写写五子棋、扫雷、俄罗斯方块、连连看等小游戏了

  • 相关阅读:
    my ReadBook_dianzishangwu / 2020216 / dianzishangwuwuliu
    my ReadBook_shichangyingxiao / 2020208
    C#编写的clock
    Java建立JProgressBar
    java基本类型byte的取值范围
    正则表达式整理大全
    (C#)如何利用Graphics画出一幅图表
    设置鼠标可以移动窗体
    Java编程提高性能的26个方法
    数据加密工具设计经验
  • 原文地址:https://www.cnblogs.com/pycrab/p/8732558.html
Copyright © 2020-2023  润新知