范例1. 循环体的过滤
public classCycleFilter {public static voidmain(String[] args) {//TODO Auto-generated method stub
String[] array=new String[] {"白鹰","丹顶鹤","白鹭","鹦鹉","黄鹂","老鹰","乌鸦","喜鹊","老鹰","布谷鸟","老鹰","麻雀","老鹰","百灵鸟"}; //创建数组
System.out.println("在我的花园里有很多鸟类,但是最近来了几只老鹰,请帮我把它抓走。");int eagleCount=0;for(String str:array) { //foreach遍历数组
if(str.equals("老鹰")) { //如果遇到老鹰
System.out.println("发现一只老鹰,已装到笼子里。");
eagleCount++;continue; //中断循环
}
System.out.println("搜索鸟类,发现了:"+str); //否则输出数组元素
}
System.out.println("一共捉到了:"+eagleCount+"只老鹰");
}
}
执行结果如下:
在我的花园里有很多鸟类,但是最近来了几只老鹰,请帮我把它抓走。
搜索鸟类,发现了:白鹰
搜索鸟类,发现了:丹顶鹤
搜索鸟类,发现了:白鹭
搜索鸟类,发现了:鹦鹉
搜索鸟类,发现了:黄鹂
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:乌鸦
搜索鸟类,发现了:喜鹊
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:布谷鸟
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:麻雀
发现一只老鹰,已装到笼子里。
搜索鸟类,发现了:百灵鸟
一共捉到了:4只老鹰
范例2. 使用for循环输出空心的菱形
输出空心菱形图案,在很多种场合碰到过类似案例,此范例利用for循环的嵌套使用,示例如下:
public classDiamDemo {public static voidmain(String[] args) {//TODO Auto-generated method stub
printRhomebus(10);
}public static void printRhomebus(intsize) {if(size % 2==0) {
size++; //计算菱形大小
}for(int i=0;ii+1;j--) {
System.out.print(" "); //输出左上角位置的空白
}for(int j=0;j<2*i+1;j++) {if(j==0||j==2*i) {
System.out.print("*"); //输出菱形上半部边缘
}else{
System.out.print(" ");
}
}
System.out.println(" ");
}for(int i=size/2+1;i
System.out.print(" "); //输出菱形左下角空白
}for(int j=0;j<2*size-1-2*i;j++) {if(j==0||j==2*(size-i-1)) {
System.out.print("*"); //输出菱形下半部边缘
}else{
System.out.print(" ");
}
}
System.out.println(" ");
}
}
}
执行结果如下(空字符串的大小决定菱形的宽窄,上示例两个空格键):
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
范例3. 使用for循环输出杨辉三角
杨辉三角形由数字排列,可以把它看作一个数字表,其基本特征是两侧数值均为1,其他位置的数值是其正上方的数值与左上角数值之和。示例代码如下:
public classYhTriangle {public static voidmain(String args[]) {int triangle[][]=new int[12][]; //创建二维数组,并确定一维的长度
for(int i=0;i
triangle[i]=new int[i+1]; //初始化第二层数组的大小
for(int j=0;j<=triangle[i].length-1;j++) { //遍历第二层数组
if(i==0||j==0||j==triangle[i].length-1) { //将两侧的数组元素赋值为1
triangle[i][j]=1;
}else { //其他数值通过计算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); //输出数组元素
}
System.out.println();
}
}
}
执行结果是:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
范例4. 数值
4.1. 合法的声明数值及初始化示例
int arr[]; //声明int型数组
String[] str; //声明String型数组
int[] arr=new int[]{3,6,7,10,22};//声明数值并初始化值
int arr2={2,3,5,8};int month[]=new int[12]; //声明数值并分配内存
int myarr[][]; //声明int型二维数组
myarr=new int[3][6]; //为二维数组每一维分配相同内存//分别为每一维单独分配内存
myarr=new int[3][];
myarr[0]=new int[3];
myarr[1]=new int[4];
myarr[2]=new int[5];int myarr2[][]={{10,12},{20,22}}; //初始化二维数组
4.2. 求一维数组各元素之和
一维数组每个元素都有自己的值,使用for循环根据数组的下标,将数组的每个元素的值相加求和。示例如下:
public classSumNum {public static voidmain(String[] args) {//TODO Auto-generated method stub
int[] num= {12,13,22,33,35,36}; //创建并初始化一维数组num
int sum=0; //进行累加求和的变量sum,并赋初值为0
for(int i=0;i<6;i++) { //通过for循环遍历数组
if(i==5) { //判断数组的下标是否是5
System.out.print(num[i]+"="); //数组元素的下标是5,输出等号
}else{
System.out.print(num[i]+"+"); //否则输出加号
}
sum=sum+num[i]; //进行累加求和
}
System.out.println(sum);//输出和
}
}
执行其结果是:12+13+22+33+35+36=151
4.3. 规则二维数组示例
对于整型数组,创建成功之后系统会自动赋值给数组中每个元素初始化值0.
public classMatrix {public static voidmain(String[] args) {//TODO Auto-generated method stub
System.out.println("*******输出一个3行5列且所有元素都是0的矩陈*******");int a[][]=new int[3][5]; //定义二维数组,并默认每一个元素都为0
for(int i=0;i
System.out.print(a[i][j]+" ");
}
System.out.println();//输出空格
}
System.out.println("*******输出初始化的二维数组中的元素*******");int b[][]= {{11,12,13,14},
{21,22,23,24},
{31,32,33,34}};for(int i=0;i
System.out.print(b[i][j]+"\t");
}
System.out.println();
}
}
}
执行结果是:
*******输出一个3行5列且所有元素都是0的矩陈*******
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
*******输出初始化的二维数组中的元素*******
11 12 13 14
21 22 23 24
31 32 33 34
4.4. 三维数组
三维数组的声明与一维、二维数组类似,初始化三维数组时,由3层大括号进行初始化。示例如下:
public classThirdArr {public static voidmain(String[] args) {//TODO Auto-generated method stub
int arr[][][]=new int[][][] {
{{10,20,30},{40,50,60}},
{{11,21,31},{41,51,61}},
{{12,22,32},{42,52,62}}
};//创建三维数组
for(int i=0;i
System.out.println("三维数组的第"+(i+1)+"个元素是一个"+arr[0].length+"维数组,内容如下:");for(int j=0;j
for(int k=0;k
System.out.print(arr[i][j][k]+"\t");
}
System.out.println();
}
}
}
}
执行结果是:
三维数组的第1个元素是一个2维数组,内容如下:10 20 30
40 50 60三维数组的第2个元素是一个2维数组,内容如下:11 21 31
41 51 61三维数组的第3个元素是一个2维数组,内容如下:12 22 32
42 52 62