java标签使用&数组&eclipse中地址的阅读

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一维数组类型的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值