zoukankan      html  css  js  c++  java
  • 流程控制与数组

    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);

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

  • 相关阅读:
    JavaScript
    CSS
    HTML
    python面试题解析(前端、框架和其他)
    python面试题解析(数据库和缓存)
    python面试题解析(网络编程与并发)
    python面试题解析(python基础篇80题)
    python面试题
    P103 单源最短路问题 第三种Dijkstra算法
    P103 Dijkstra算法 单源最短路问题优化算法
  • 原文地址:https://www.cnblogs.com/pycrab/p/8732558.html
Copyright © 2011-2022 走看看