流程控制与数组

一、流程控制

   在循环中, break语句不仅可以结束其所在的循环,还可以直接结束其外层循环,此时需要在break后紧跟一个标签,这个标签用于表标识一个外层循环。

    Java中标签就是一个紧跟着英文冒号(:)的标识符,与其他语言不同,Java中的标签只有放在循环语句之前才有作用。

代码示例:

public class Demo
{
	public static void main()
	{
		outer:
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<3;j++)
			{
				System.out.println("i的值为:"+i+"ji的值为:"+j);
				if(j==1)
					break outer;
			}
		}
	}
}
    通常紧跟break之后的标签,必须在break所在循环的外层循环之前定义才有意义。

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

    通过return语句也可以结束一个循环,与continue和break不同的是,return将直接结束整个方法,不管这个return处于多少层循环之内。

二、数组类型

(1)数组的定义

    Java语言支持两种语法格式来定义数组:

    type[] arrayName;

    type arrayName[];

    推荐使用第一种。

    数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度

(2)数组的初始化

      Java中对数组进行初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初值,不能只分配内存空间不赋初值

静态初始化:arrayName = new type [] {element1,element2,element3...} ;  也可以在定义数组的同时完成初始化。

动态初始化:只指定数组的长度,由系统为每个数组元素指定初始值,arrayName = new type [length] ;

(3)foreach循环

    foreach循环遍历数组和集合元素,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环将自动遍历数组和集合的每个元素。

    foreach循环的语法格式如下:

for(type variableName:array|collection)
{
	variableName自动迭代访问每个元素...
}
    其中,type是数组元素或集合元素的类型,variableName是一个形参名,foreach循环将自动将数组元素、集合元素依次赋给该变量。

    使用foreach循环迭代数组元素时,并不能改变数组元素的值,foreach中的循环变量相当于一个临时变量,因此不要对foreach的循环变量进行赋值
(4)深入数组

    实际的数组对象被存储在堆内存中,如果引用该数组对象的数组引用变量是一个局部变量,那么它被存储在栈内存中。

    数组引用变量时访问堆内存中数组元素的根本方式

    如果堆内存中数组不再有任何引用变量指向自己,则这个数组将成为垃圾,该数组所占的内存将会被系统的垃圾回收机制回收。

    Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值