zoukankan      html  css  js  c++  java
  • 7、控制流程

    7.1 块作用域

    块:指由一对花括号括起来的若干简单的Java语句。

    块确定了变量的作用域。

    块分为:静态的和非静态的

    执行的顺序为:

    一个块可以嵌套在另一个块中。但是不能在嵌套的两个块中声明同名的变量。在

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建Block类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 Block

    *@日期 2015125日下午1:42:11

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    * 块:的讲解

    * main 方法所在类

    */

    public class Block {

          

        

        String name = "block!";//声明一个全局变量

          

        

        /**

         * 默认的构造方法

         * @Title: Block

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param 设定文件

         * @return

         * @throws

         *

         */

        public Block() {

            // TODO Auto-generated constructor stub

            System.out.println("构造方法内的语句!");

        }

        

        /**

         * 第一个块

         */

        {

            String s = "我是第一个块的第一条输出语句!";//声明一个字符串变量s

            System.out.println(s);

            System.out.println(name);

            /**

             * 第一个块作用域的内的一个块

             */

            {

    //            String s;// 错误:Duplicate local variable s 原因:在嵌套的两个或多个作用域内声明类同名的变量

                String ss ="我是第一块内嵌套的块";

                System.out.println(ss);

                

            }

            

        }

        

        /**

         * 第二个块

         */

        {

            System.out.println("第二块内的输出语句!");

        }

        

        /**

         * 第一个静态块

         */

        static{

            System.out.println("第一个静态块的输出语句!");

            

        }

          

        

        public static void main(String[] args) {

            new Block();

        }

     

    }

     

     

     

    7.2条件语句

    条件语句的格式为:if(condition){block statement}

    当condition为真是执行block statement

    执行顺序:

     

    if(condition){block statement 1}else{block statement 2}

    当condition 为真时执行block statement 1 ,为假时执行 block statement 2

    执行顺序:

    if(condition 1){block statement 1}else if(condition 2){block statement 2}

    当condition 1 为真时执行block statement 1 ,condition 1为假且condition 2 为真时执行 block statement 2

    执行顺序:

     

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建ConditionalStatement类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 ConditionalStatement

    *@日期 2015125日下午2:54:53

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    *

    * 条件控制语句

    * if

    * main方法所在类

    */

    public class ConditionalStatement {

        

        /**

         * main方法

         * @Title: main

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param @param args 设定文件

         * @return void

         * @throws

         *

         */

        public static void main(String[] args) {

            

            int a = 10; //声明int型变量a 并赋值 10

            

            int b = 9; //声明int型变量b 并赋值 9

            

            int c = 11; //声明int型变量c 并赋值 11

            

            int max = a; // 声明int型变量来保存最大值

              

            

            if(a>b){// if(condition){ block statement} 结构的控制语句

                System.out.println("a大于b");

            }

            

            System.out.print("ac的大小比较结果为:");

            if(a > c){ //if(condition ){ block statment 1}else{ block statement 2} 结构的控制语句

                System.out.println("大于");

            }else{

                System.out.println("小于");

            }

              

            

            if(max < b){//if(condition 1){ block statment 1}else if(condition 2){ block statement 2} 结构的控制语句

                max = b;

            }else if(max < c){

                max = c;

            }

            System.out.print("abc三个数的最大值是:"+max);

            

        }

     

    }

     

    7.3 循环语句

     

    7.3.1 while与do-while循环

    While循环常用的格式为: while(condition){block statement}

    当condition为真是循环执行block statement,当condition为假时跳出循环。

    执行顺序为:

    do-while循环常用的格式为:do{block statement}while(condition)

    先执行block statement ,当condition为真时循环执行block statement语句,为假时跳出循环

    执行顺序为:

     

    while与do-while的区别:

    while循环是先判断条件是否成立再执行循环语句

    do-while循环是先执行一次循环语句再判断条件是否成立

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建WhileCyale类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 WhileCyale

    *@日期 2015125日下午3:21:35

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    *

    * while与都while循环

    *

    * main方法所在类

    */

    public class WhileCyale {

     

        /**

         * main方法

         * @Title: main

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param @param args 设定文件

         * @return void

         * @throws

         *

         */

        public static void main(String[] args) {

            int a = 1;//声明一个int型变量保存遍数

            

            while(a < 10){

                System.out.println("这是一个while循环:");

                a++;

            }

              

            

            do{

                System.out.println("这是一个do-while循环:");

                a--;

            }while(a>1);

        }

          

          

        

    }

     

     

    7.3.2 for与for-each循环

    for( statement 1 ; condition; statement 2 ){ block statement}

    statement1 与statement2 是两条语句,在执行for循环时statement1第一的执行,在判断condition是否成立,然后是block statement ,statement每次循环最后执行

    执行顺序为:

    for-each循环:更加简洁的用于数组和容器。

     

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 ForCyale

    *@日期 2015125日下午3:42:59

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    * forfor-each循环

    * main方法所在类

    */

    public class ForCyale {

     

        /**

         * main 方法

         * @Title: main

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param @param args 设定文件

         * @return void

         * @throws

         *

         */

        public static void main(String[] args) {

            

            // 利用for循环输出1~10之间的整数

            for (int i = 1; i <= 10; i++) {

                System.out.println(i);

            }

            

            int[] a = {1,2,3,4,5};// 创建一个int型数组变量保存1~5之间的整数

            System.out.println("数组a的内容为:");

            //利用for-each循环输出a数组

            for (int i : a) {

                System.out.println(i);

            }

              

            

            

        }

    }

     

     

    7.4 switch语句

     

    switch的结构为:

    switch(choice){

    case variable1:

    block statement;

    break;

    case variable2:

    block statement;

    break;

    case variable3:

    block statement;

    break;

    .

    .

    .

    default:

    block statement default;

    break;

    }

     

    Switch 语句将从与选项值相匹配的case标签处开始执行直达遇到break语句,或者执行到switch语句结束处为止。如果没有相匹配的case标签,而有default字句,就执行default字句。

    执行顺序为:

     

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 MultipleChoice

    *@日期 2015125日下午3:49:06

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    *

    * 多重选择switch

    * main 方法所在类

    *

    */

    public class MultipleChoice {

          

        

        /**

         * main 方法

         * @Title: main

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param @param args 设定文件

         * @return void

         * @throws

         *

         */

        public static void main(String[] args) {

              

            

            int a = 6;

            

            switch (a) {

            case 1: //a1

                System.out.println("这次你选择的是1");

                break;//跳出多重选择

    //        case 1: //错误:Duplicate case 原因:多重选择中已经存在相同的案例

            case 2:

                System.out.println("这次你选择的是2");

                break;

            case 3:

                System.out.println("这次你选择的是3");

                break;

            case 4://从与选项值相同的case值开始执行直至遇到break语句才会,或者执行到switch语句的结束处

                System.out.println("这次你选择的是4");

            case 5:

                System.out.println("这次你选择的是5");

                break;

            case 6: //从与选项值相同的case值开始执行直至遇到break语句才会,或者执行到switch语句的结束处

                System.out.println("这次你选择的是6");

            default://如果没有匹配的case标签,而有default字句,就执行这个字句

                System.out.println("不存在你的选项!");

            }

            

            

        }

     

    }

     

     

     

    7.5 break和continue

     

    break: 直接跳出循环。适用:循环语句和switch语句。

    continue:跳出当前循环。适用:循环语句。

    示例:

    步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类

    源码:

    package com.zjk.type;

    /**

    *

    *@类名 InterruptControl

    *@日期 2015125日下午4:14:13

    *@作者 zjkorder

    *@版本 v1.0

    *@描述    

    * 中断流程控制 break continue

    * main方法所在类

    */

    public class InterruptControl {

     

        

        /**

         * main 方法

         * @Title: main

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param @param args 设定文件

         * @return void

         * @throws

         *

         */

        public static void main(String[] args) {

            

            System.out.println("1~10之间的奇数为:");

            for (int i = 1; i < 10; i++) { // 利用for循环输出 1~10 之间的奇数

                if(i%2 == 0){

                    continue;//只是跳出当前循环

                }

                System.out.println(i);

            }

            

            System.out.println("1~10之间的偶数为:");

            int n = 0;

            while(n>=0){ // 利用while循环输出1~10 之间的偶数

                n++;

                if(n%2 != 0){

                    continue;//跳出当前循环

                }

                System.out.println(n);

                if(n >= 10){

                    break;// 跳出循环

                }

                

            }

            

        }

    }

     

     

     

  • 相关阅读:
    不同地区Android开发者使用哪些设备测试APP?
    IIS6、IIS7.5设置网站默认首页方法(Directory Listing Denied)
    大数据正在改变我们的生活
    如何在MySQL中使用explain查询SQL的执行计划?
    整合spring cloud云架构
    对SQL 优化,提升性能!
    传统分布式架构如何进行容器化升级
    Android开发实践:Android.mk模板
    如何从代码层面优化系统性能
    德国又出超实用的厨房神器
  • 原文地址:https://www.cnblogs.com/zjkorder/p/5021893.html
Copyright © 2011-2022 走看看