JAVA|六、带标签的break、continue 数组

JAVA|六、带标签的break、continue 数组,第1张

JAVA|六、带标签的break、continue 数组

目录

1.1 带标签的break、continue

 1.2 数组

1.2.1 一维数组

1.2.2 二维数组


1.1 带标签的break、continue

break和continue同理,以下以break为例。

  • 默认break:中断离自己最近的那一层循环
    		int count = 0;
    		for(int i = 1; i < 4; i++) {
    			for(int j = 1; j < 3; j++) {
    				if(i * j == 4) {
    					break;    //中断的是初始条件变量为j的内层循环
    				}
    			}
    			count++;
    		}
    		System.out.println("外层循环次数:" + count);  //3
  • 带标签的break:中断标签指示的那一层循环 
    		int count = 0;
    		lable:for(int i = 1; i < 4; i++) {
    			for(int j = 1; j < 3; j++) {
    				if(i * j == 4) {
    					break lable;    //中断初始条件变量为i的那层循环
    				}
    			}
    			count++;
    		}
    		System.out.println("外层循环次数:" + count);  //1

    其中lable是用户自定义标识符。

 1.2 数组 1.2.1 一维数组
  • 静态初始化初始化
    //数据类型[] 标识符
    int[] myArray;    //声明
    myArray = new int[]{1,3,4,6};    //初始化

    数组的初始化和数组元素的赋值 *** 作同时进行

  • 动态初始化
    String[] name = new String[5];

    数组的初始化和数组元素的赋值 *** 作分开进行

  • 其他正确定义写法
    int myArray[];
    int[] myArray1 = {1,2,3};  //类型推断
    

  • 获取数组长度
    //属性:length
    name.length;    //name为数组名
    
  • 数组元素默认初始化值
    • 整型数组(byte、short、int):0
    • 浮点型数组:0.0
    • char类型:0或‘/u0000’(两者其实相同;非‘0’,ASCII码值为0)
    • boolean型:false
    • 引用数据类型(例如String):null(注意不带双引号)
  • 内存解析
    //对于代码:
    int[] arr = new int[]{1,2,3};
    String[] arr1 = new String[4];
    arr[1] = "刘德华";
    arr[2] = "张学友";

    执行完后内存情况如下图所示:

    arr1 = new String[3];

     执行完后如下图所示:

     此时首地址为0x12ab的数组无人引用,成为垃圾,最终会在某个不确定的时间被垃圾回收机制回收。如果这些代码写在main中,作用域就为main,当代码都执行完后这些局部变量就没用了,也都会变成垃圾,最终都被回收。

1.2.2 二维数组
  • 因为数组的元素可以是引用类型,所以数组的元素仍可以为数组,这样就构成了多维数组

1.2.1 初始化

  • 静态初始化
    int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};

注意:int[] x,y[];   相当于int[] x;  int[] y[];

           x是一维的,y是二维的

  •  动态初始化
    //方式1
    String[][] arr2 = new String[3][2];
    //方式2
    String[][] arr3 = new String[3][];
    //其他正确定义写法
    String arr1[][] = new String[3][];
    String[] arr2[] = new String[3][];
    String[][] arr3 = new String[3][];
    int[] arr4[] = {{1,2},{1,4,5}};
    int[] arr5[] = new int[][]{{1,2},{1,4,5}};

1.2.2 数组长度及遍历

  • 二维数组长度
    int[] arr[] = new int[][]{{1,2},{3},{4,5,6}};
    //arr.length = 3
    //arr[0].length = 2
  • 二维数组遍历 
    //双层for循环
    for(int i = 0; i < arr.length; i++){
        for(int j = 0; j < arr[i].length; i++){
            System.out.print(arr[i][j] + "  ");
        }
        System.out.println();
    }

1.2.3 数组长度的默认初始化

  • 定义了数组长度
int[][] arr = new int[4][3];
System.out.println(arr[0]);       //一个地址值
System.out.println(arr[0][0]);    //int数组的初始值:0
  • 数组长度未定义完全
    int[][] arr = new int[4][];
    System.out.println(arr[0]);       //null
    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4971050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存