JAVA流程控制

JAVA流程控制——循环


 1. if语句
 2. while语句
 3. do...while语句
 4. switch ... case
 5. for循环
 6. 根据输入的天数判断星期几
 7. 根据输入的月份判断属于哪个季节
 8. 九九乘法表

/**
 *Title: project_name 
 *Description: 流程控制
 *Makedate:2016年4月30日 下午2:38:01
 *@author: sunt Email:wnst1990@126.com 
 *@version: 1.0  
 */
public class Demo1 {

    public static void main(String[] args) {

        /**
         * 1.if循环
             if(条件表达式){
                ...
             }
         */
        int x1 = 12;
        if(x1 > 10){
            System.out.println("条件表达式成立");
        }
        System.out.println("if循环执行完成");

        /**
         * if(条件表达式){
         *  ...
         * }else{
         *  ...
         * }
         */
        System.out.println("--------------------------------");
        if(x1 > 11){
            System.out.println("x1 大于11");
        }if(x1 > 9){
            System.out.println("x1 大于 9");
        }else {
            System.out.println("x1 小于11");
        }

        /**
         * if(条件表达式){
         *  。。。
         * }elseif(条件表达式){
         *      ... 
         * }elseif(条件表达式){
         *  ...
         * }else{
         *  ...
         * }
         */
        System.out.println("===============================");
        if(x1 > 15){
            System.out.println("x1 大于15");
        }else if (x1 > 13) {
            System.out.println("x1 大于13");
        }else if (x1 > 10) {
            System.out.println("x1 大于10");
        }else if (x1 > 9) {
            System.out.println("x1 大于9");
        }else {
            System.out.println("执行完毕");
        }
        /**
         * 总结:
         * 多个if(){
         * }if(){
         * }-----------------只要条件成立都执行
         * 
         * 和多个
         * if(){
         * }elseif(){
         * }---------------只要有一个条件成立后面的代码块就不会再执行
         */


        /**
         * 2.局部代码块的声明周期,只在定义的代码块里面有用,跳出代码块就不起作用
         */

        {//局部代码块

            int num1 = 10;
            System.out.println("num1= " + num1);
        }
        //System.out.println("跳出代码块执行num1 = "+ num1);

        /**
         * 针对多个if(){
         * }elseif(){
         * }执行的练习
         * 条件成立后面的就不会执行
         */

        int day = 6;
        if(day == 1){
            System.out.println("第" +day+ "天是星期" + day );
        }else if (day == 2) {
            System.out.println("第" +day+ "天是星期" + day );
        }else if (day == 3) {
            System.out.println("第" +day+ "天是星期" + day );
        }else if (day == 4) {
            System.out.println("第" +day+ "天是星期" + day );
        }else if (day == 5) {
            System.out.println("第" +day+ "天是星期" + day );
        }else if (day == 6) {
            System.out.println("第" +day+ "天是星期" + day );
        }


        /**
         * 第二练习:对多个if...elseif和操作符的综合练习
         * 根据输入的月份,在控制台打印出属于哪个季节
         *  春:二月、三月、四月
            夏:五月、六月、七月
            秋:八月、九月、十月
            冬:十一、十二、一月
         */
        System.out.println("==========根据输入的月份,在控制台打印出属于哪个季节================");
        int month = 1;
        if(month >= 2 && month <= 4){
            System.out.println(month +"月份为春季");
        }else if (month >=5 && month <= 7) {
            System.out.println(month +"月份为夏季");
        }else if (month>=8 && month<=10) {
            System.out.println(month +"月份为秋季");
        }else if (month < 1 || month > 12) {
            System.out.println("输入的月份不合法,没有对应的季节");
        }else {
            System.out.println(month +"月份为冬季");
        }

        /**
         * 3.流程控制语句:switch()
         *      基本格式:
                switch (key) {
                case value:

                    break;

                default:
                    break;
            几点说明:       
            A:key:switch(key)中,key是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是int、 short、 char 或者 byte。
                        在java7中expr1可以是String类型的了。
            B:case与default没有顺序。先执行第一个case,没有匹配的case执行default。
            C:结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
            D:进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case
                上面,执行顺序也不变。

         */
        /*******综合案例:根据输入不同的运算符号,实现不同的运算(key为char类型)*****************/
        System.out.println("-------------根据输入不同的运算符号,实现不同的运算---------------");
        int num1 = 12;
        int num2 = 11;
        int res;
        char opt = '*';
        switch (opt) {
        case '+':
            res = num1 + num2;
            System.out.println("res = " + (num1 + num2));
            break;
        case '-':
            res = num1 + num2;
            System.out.println("res = " + (num1 - num2));
            break;
        case '*':
            res = num1 + num2;
            System.out.println("res = " + (num1 * num2));
            break;
        case '/':
            res = num1 + num2;
            System.out.println("res = " + (num1 / num2));
            break;  

        default:
            System.out.println("------输入的运算符号不合法----------");
            break;
        }

        /**
         * 案例二:根据输入不同的值,控制台打印对应星期几
         */
        System.out.println("-------------根据输入不同的值,控制台打印对应星期几-------------------");
        int week = 5;
        switch (week) {
        case 1:
            System.out.println("第" +week+ "天对应星期一");
            break;
        case 2:
            System.out.println("第" +week+ "天对应星期二");
            break;
        case 3:
            System.out.println("第" +week+ "天对应星期三");
            break;
        case 4:
            System.out.println("第" +week+ "天对应星期四");
            break;
        case 5:
            System.out.println("第" +week+ "天对应星期五");
            break;
        case 6:
            System.out.println("第" +week+ "天对应星期六");
            break;
        case 7:
            System.out.println("第" +week+ "天对应星期日");
            break;  

        default:
            System.out.println("输入的天数不合法,找不到对应的星期");
            break;
        }

        /**
         * 案例三:
         *      根据输入的月份打印对应的月份
         *   春:二月、三月、四月
            夏:五月、六月、七月
            秋:八月、九月、十月
            冬:十一、十二、一月
         */
        System.out.println("-----------根据输入的月份打印对应的月份----------");
        int mon = 8;
        switch (mon) {
        case 2:
        case 3:
        case 4:
            System.out.println(mon + "月份对应的是春季");
            break;
        case 5:
        case 6:
        case 7:
            System.out.println(mon + "月份对应的是夏");
            break;
        case 8:
        case 9:
        case 10:
            System.out.println(mon + "月份对应的是秋季");
            break;
        case 1:
        case 11:
        case 12:
            System.out.println(mon + "月份对应的是冬季");
            break;  

        default:
            System.out.println("输入的月份不合法,没有对应的季节");
            break;
        }

        /**
         * 4.循环结构:
         * for()
         * while()
         * do...while()
         */
        /***********for***********/
        for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
        }
        /***********while循环**************/
        System.out.println("============for循环结束================");
        int x = 10;
        while (x < 16) {
            System.out.println("x = " + x);
            x++;

        }

        System.out.println("------------do....while循环----------------");
        int x2 = 10;
        do {
            System.out.println("x2 = " + x2);
            x2++;
        } while (x2 < 16);


        System.out.println("--------------求1-50数据之和------------------");
        /**
         * while:条件表达式成立才执行语句块
         * do...while:不管条件表达式成不成立,都会首先执行一次代码块
         */

        /**************求1-50整数之和******************/
        int num = 1;
        int ress = 0;
        while (num <= 50) {
            ress += num;
            num++;
        }
        System.out.println("1-50之和="+ ress);

        /**
         * 统计1-1000之间出现7的倍数的次数
         */
        int index = 1;
        int count = 0;
        while (index <= 1000) {
            if(index % 7 == 0){
                count++;
            }
            index++;
        }
        System.out.println("1-1000之间出现7的倍数的次数 = " + count);
        System.out.println("--------------循环打印九九乘法表-------------");

        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "X" + i + "=" + (i * j) + "\t" );
            }
            System.out.println("\t");
        }

    }
}

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值