1.break:
1)结束其所在的循环,完全结束一个循环,跳出循环体,不管是哪种循环,一旦在循环体中遇到break,系统将完全结束该循环。
2)直接结束其外层循环,在循环语句前加outer:,再break outer;//跳出 outer 标签做标识的循环
//break结束外层循环
public class break1{ public static void main(String[]args){ outer://要在外层循环定义 for(int i=0;i<5;i++){ for(int j=0;j<3;j++){ System.out.println("i:"+i+" j: " +j); if(j==1){ break outer;//跳出以outer标识的循环 } } } } }
2.continue 忽略本次循环剩下语句(包括循环外的剩下语句),接着开始下一次循环
1)正常结束
2)continue也可紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。
public class continue1{ public static void main(String[]args){ outer://外层循环 for(int i=0;i<5;i++){ for(int j=0;j<3;j++){ System.out.println("i:" +i+" j:" +j); if(j==1){ continue outer;//忽略outer标签所指定的循环中本次循环所剩下语句 } } } } }
j的值永远无法超过1
3.使用return结束方法
1)return不是专门用于结束循环的,return的功能是结束一个方法。结束整个方法
4.数组
1)一个数组只能存储一种类型的数据。
2)定义数组:type[] arrayname;//定义1个变量,变量类型【】变量名 推荐
type arrayname[];//变量类型 变量名【】 尽量不用。
3)初始化:既分配内存又赋初始值
1>静态初始化 arrayname =new type[] {element1,element2...}
或 type[] arrayname={element1,element2...} 习惯用这个
//定义一个int数组类型 int[] intArr; //使用静态初始化,初始化数组只指定数组元素初始值,不能指定数组长度 intArr=new int[] {5,6,8,20}; //定义一个object数组类型的变量,变量名为objArr Object[] objArr; //使用静态初始化,初始化数组时数组元素的类型是 //定义数组时所指定的数组元素类型的子类 objArr=new String[]{"java","ligang"}; Object[] objArr2; //使用静态初始化 objArr2=new Object[]{"java","ligang"};
2>动态初始化(只指定数组长度,由系统为每个数组指定初始值)
语法形式:arrayname =new type[length];
动态初始化:
//数组的定义和初始化同时完成,使用动态初始化语法
int[] prices=new int[5];
//数组的定义和初始化同时完成,初始化数组时元素是定义数组元素类型的子类。
Object[]books=new String[4];
不能在数组初始化时,既指定数组长度也为每个数组元素分配初始值。
3>使用数组
//输出objArr数组的第二个元素,将输出字符串“李刚”
System.out.println(objArr[1]);
//为objArr2的第一个数组元素赋值
objArr2[0]=“spring";
4)foreach 循环(无需长度和索引访问数组元素)
不能改变数组元素的值
5>深入数组。
数组引用变量是访问堆内存中数组元素的根本方式。
工具类:Arrays