java标签使用&数组&eclipse中地址的阅读
(1)标签用法
“标签”是后面跟一个冒号的标识符,就象下面这样: label1:
java 来说,唯一用到标签的地方是在循环语句之前。进一步说,它实际需要紧靠在循环语句的前方——在 标签和循环之间置入任何语句都是不明智的。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另 一个循环或者一个开关。这是由于 break和 continue 关键字通常只中断当前循环,但若随同标签使用,它们 就会中断到存在标签的地方。
label1: 外部循环{ 内部循环{ //... break; //1 //... continue; //2 //... continue label1; //3 //... break label1; //4 } }
在条件 1 中,break 中断内部循环,并在外部循环结束。在条件2 中,continue 移回内部循环的起始处。但 在条件 3 中,continue label1 却同时中断内部循环以及外部循环,并移至label1 处。随后,它实际是继续 循环,但却从外部循环开始。在条件4 中,break label1也会中断所有循环,并回到 label1 处,但并不重 新进入循环。也就是说,它实际是完全中止了两个循环。
(2)简单的内存结构
(3)数组(数组为引用数据类型)
二维数组可以理解为一个一维数组存的也是一维数组
数组声明之后是有默认值的比如:
boolean——false ;short/char/int——数字0;float/double——数字0.0 ;引用数据类型——null
①一维数组内存解析
0x12ab假设为arr1的地址,0x34ab假设为arr2的地址②二维数组内存解析
0x11a假设为arr1的地址,0x77aa假设为arr2的地址。图中省略部分重复内容,比如arr1中存放的全是地址,只写了一个当做例子。
(3)地址
int[] arr = new int[3]; System.out.println(arr[0]);
结果为一个地址:假设为
@前边是数据类型@后边是地址(16进制的);[ 表示是以为数组;I 表示是int类型;自然二位数组就是 [[
注意:在赋值的时候,数组是没有自动类型提升的;
比如:
int[] a = new int[]{1,2}; float[] f = new float[]{2.0f,3.0f}; f = a;//此处是错误的:Type mismatch: cannot convert from int[] to float[]
int[] 是一个数据类型,比如问a是什么数据类型的,a是int一维数组类型的。