• 《疯狂Java讲义》 (六) ---- 流程控制与数组


    一 流程控制

    • if分支语句

        使用if...else语句时,一定要优先处理包含范围更小的情况。

    • switch分支语句

        switch语句后面的控制表达式的数据类型只能使byte,short,char,int四个整数类型和枚举类型,不能是boolean类型。Java7新增允许switch语句中的控制表达式为java.lang.String类型。

    public class SwitchStringDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            String season = "Winter";
            switch(season) {
            case "Spring":
                System.out.println("Spring is coming");
                break;
            case "Summer":
                System.out.println("Summer is coming");
                break;
            case "Autumn":
                System.out.println("Autumn is coming");
                break;
            case "Winter":
                System.out.println("Winter is coming");
                break;
            default:
                System.out.println("so wired");    
            }
        }
    
    }
    • break

        break可以结束所在循环,也可以直接结束外层循环,此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。通常紧跟break之后的标签,必须在break所在循环的外层循环之前定义才有意义。

    • continue

        continue也可以紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。

    二 数组类型

    • What

        一旦数组的初始化完成, 数组在内存中所占的空间将被固定下来,因此数据的长度将不可改变。

        数组也是一种数据类型,它本身是一种引用类型,例如int是一个基本类型,但int[]就是一种引用类型了。

    • 定义

        type[] arrayName; (推荐)

        type arrayName[];

        eg.

        int[] intArray;

        定义一个数组时,仅仅定义了一个引用变量,这个引用变量还没有指向任何有效的内存,因此定义数组时不能指定数组长度。而且由于定义数组只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有初始化后才能用。

    • 初始化

        数组初始化就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。

        静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。

          arrayName = new type[] {e1, e2, e3 ...} or   arrayName = {e1, e2, e3 ...}

        动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。

          arrayName = new type[length];  

    • foreach循环

        当使用foreach来迭代访问数组元素时,循环变量相当于一个临时变量,系统会把数组元素一次赋给这个临时变量,而这个临时变量并不是数组元素,它只是保存了数组元素的值。因此如果希望改变数组元素的值,就不能使用foreach循环。

    • 操作数组的工具类(java.utl.Arrays)

        binarySearch

        copyOf

        copyOfRange

        equals

        fill

        sort

        toString

        

  • 相关阅读:
    2017 Multi-University Training Contest 2.Balala Power!(贪心)
    2017ICPCECIC C.A math problem(高次剩余)
    Atcoder 068E
    51nod 1385 凑数字(贪心+构造)
    cf round #418 div2 D. An overnight dance in discotheque(贪心)
    cf round #418 div2 C. An impassioned circulation of affection(暴力)
    cf round #424 div2 E. Cards Sorting(线段树)
    Atcoder 077E
    hdu 6162 Ch’s gift(树链剖分+主席树)
    Educational Codeforces Round 26 D. Round Subset(dp)
  • 原文地址:https://www.cnblogs.com/IvySue/p/6281596.html
Copyright © 2020-2023  润新知