Java学习-循环(for)

来源:互联网 发布:软件系统调试 编辑:程序博客网 时间:2024/05/15 22:16

语法:
for (表达式1; 表达式2; 表达式3;) {
循环体
}
表达式1:初始化语句
表达式2:条件表达式(执行循环体的条件)
表达式3:迭代语句(使循环趋于结束)
循环体(希望多次执行的程序)
第一次循环之后,迭代语句是每次循环的开始语句

练习题:

/*  打印一个20*8的矩形*/class LoopTest6 {    public static void main(String[] args) {        //可以称i为循环因子        for (int i = 0; i < 20; i++) {            //循环体            System.out.println("********");        }    }}/*  打印一个n*8的矩形*/class LoopTest7 {    public static void main(String[] args) {        //从命令行获取n        int n = Integer.parseInt(args[0]);        //for循环        for (int i = 0; i < n; i++) {            //循环体            System.out.println("********");        }    }}/*    n!利用for循环打印n!*/class LoopTest8 {    public static void main(String[] args) {        //从命令行获取n        int n = Integer.parseInt(args[0]);        //声明result变量,保存积        int result = 1;        //for循环        for (int i = 1; i <= n; i++) {            //循环体            result *= i;        }        //输出结果        System.out.println(n + "!=" + result);    }}/*    打印输出200以内能被7整除的数,并统计*/class LoopTest9 {    public static void main(String[] args) {        /*            打印输出200以内能被7整除的数,并统计个数          */        //声明计数变量count初始化值为0        int count = 0;        //设置循环        for (int i = 0; i < 200; i++) {            //循环输出是有条件的,判断i能否被7整除            if(i % 7 == 0) {                //循环体                System.out.println(i);                //计数器增加是有条件的                count++;                }        }        //统计计算结果一定要在循环结束后        System.out.println("count:" + count);       }}/*    计算300以内能被13整除的数的平均值 sum / 个数*/class LoopTest10{    public static void main(String[] args) {        //设置计数器,并初始化赋值        int count = 0;        //声明sum变量保存和,并初始化赋值        int sum = 0;        //声明avg变量保存平均值        double avg = 0;        for(int i = 0; i < 300; i++){            //设置条件判断能被13整除的数            if(i % 13 == 0) {                //System.out.println(i);                //将能被13整除的数进行累加                sum += i;                //计数                count++;                        }        }        //求平均数        //avg = sum /count;         //若不在这加double,sum和count没有升级,只是最后结果升级,因此avg得到的还是149.0        avg = sum /(double) count;          //System.out.println("sum:" + sum);        //System.out.println("count:" + count);        System.out.println("300以内能被13整除的数的平均值=" + avg);    }}/*    打印20*8矩形(利用嵌套循环)*/class LoopTest11{    public static void main(String[] args) {        //外循环控制行数(外循环循环体是一个内循环)        for (int j = 0; j < 20; j++) {            //内循环控制列数            for (int i = 0; i < 8; i++) {                //内循环循环体                System.out.print("*");            }            //内循环执行完成后进行换行            System.out.println();        }    }}/*    打印n*m矩形*/class LoopTest12{    public static void main(String[] args) {        //从命令行获取n,m        int n = Integer.parseInt(args[0]);        int m = Integer.parseInt(args[1]);        //外循环控制行数        for (int j = 0; j < n; j++) {            //外循环控制列数            for (int i = 0; i < m; i++) {                System.out.print("*");            }            System.out.println();        }    }}/**    打印n*m的空心矩形*/public class TestFor {    public static void main(String[] args) {        //从命令行获取n,m        int n = Integer.parseInt(args[0]);        int m = Integer.parseInt(args[1]);        for (int i = 0; i < n; i++) {            //将首尾行与其他行分开打印            if (i == 0 || i == n-1) {                //打印首尾行                for (int j = 0; j < m; j++){                    System.out.print("*");                }            }else {                //打印其他行                for (int j = 0; j < m; j++) {                    //其他行,控制首列和尾列的打印                    if(j == 0 || j == m-1) {                        System.out.print("*");                    }else {                        System.out.print(" ");                    }                }            }            System.out.println();        }    }}
2 0