Java基础笔记(2)switch、控制跳转关键字、数组

一、switch

    1.格式

switch(变量key) {
    case 常量1 : 语句体1;
                 break;
    case 常量2 : 语句体2;
                 break;
    ...
    default : 语句体n+1;
}

    2.格式说明:
        1)case:后面的值是要和变量key(常量也可以,但是没意义)进行匹配的常量
        2)常量:可以是byte、short、int、char、枚举(自JDK5后)、字符串(自JDK7后),不能重复
        3)break:表示程序到这里中断,跳出switch语句;可以省略,但会出现case穿透。
        4)default:如果所有的情况都不匹配,就执行这里(任意位置),相当于if语句中的else;可以省略,但是不建议
        5)switch语句的结束条件
            A:遇到break就结束了
            B:执行到末尾就结束了

二、控制跳转关键字

    1.break:中断
        1)用于循环和switch
        2) 作用
            A:跳出单层循环
            B:跳出多层循环,需要标签语句的配合
               标签语句例子:

outer:for(int i=0;i<5;i++){
    inner:for(int j=0;j<5;j++){
        if(j==3){
            break outer;//直接中断外循环
        }
    }
}

    2.continue:继续
        1)用于循环
        2)作用:跳出单层循环的一次,可以继续下一次
    3.return:返回(结束当前方法的调用)

三、数组

    1.描述
        1)数组:存储多个相同类型数据的集合。
        2)特点:数组中每个元素都有编号,从0开始,最大编号是长度-1,该编号称为索引。
        3)定义格式
            A:数据类型[] 数组名;(推荐)
            B:数据类型 数组名[];
        4)数组的初始化
            A:动态初始化
                只给长度,系统给出默认值
                举例:int[] arr = new int[3];
            B:静态初始化
                给出值,系统决定长度
                举例:int[] arr = new int[]{1,2,3};
                简化版:int[] arr = {1,2,3};
        5)Java的内存分配
            A:栈 存储局部变量
            B:堆 存储所有new出来的
            C:方法区
            D:本地方法区(系统相关)
            E:寄存器(CPU使用)
        
        注意:
            a:局部变量 在方法中定义或者方法声明上定义的变量。
            b:栈内存和堆内存的区别
                栈:数据使用完毕,就消失。
                堆:每一个new出来的东西都有地址
                    每一个变量都有默认值

类型 默认值
byte,short,int,long 0
float,double 0.0
char 0
boolean '\u0000'
引用类型 null

                    数据使用完毕后,在垃圾回收器空闲的时候回收
                    
    2.内存图

Java基础笔记(2)switch、控制跳转关键字、数组_第1张图片 Java中的内存分配图解
Java基础笔记(2)switch、控制跳转关键字、数组_第2张图片 数组的静态初始化及内存图
Java基础笔记(2)switch、控制跳转关键字、数组_第3张图片 数组的内存图解1(一个数组)
Java基础笔记(2)switch、控制跳转关键字、数组_第4张图片 数组的内存图解2(二个数组)
Java基础笔记(2)switch、控制跳转关键字、数组_第5张图片 数组的内存图解3(三个数组)

    3.二维数组
        1)元素是一维数组的数组。
        2)格式:
            A:数据类型[][] 数组名 = new 数据类型[m][n];
            B:数据类型[][] 数组名 = new 数据类型[m][];
            C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
            D:数据类型[][] 数组名 = {{...},{...},{...}};
        3)案例
            A:二维数组的遍历
            B:二维数组的求和
            C:杨辉三角形
        4)二维数组的内存图

Java基础笔记(2)switch、控制跳转关键字、数组_第6张图片 二维数组格式1的内存图解
Java基础笔记(2)switch、控制跳转关键字、数组_第7张图片 二维数组格式2的内存图解
Java基础笔记(2)switch、控制跳转关键字、数组_第8张图片 二维数组格式3的内存图解

    4.补充
        Java中的参数传递问题 ——    Java中只有值传递。
            基本类型:形式参数的改变不影响实际参数
            引用类型:形式参数的改变直接影响实际参数(String除外)

笔记整理自传智。

你可能感兴趣的:(switch,控制跳转关键字,数组,Java基础)