java基础--分支结构

分支结构

任何复杂的程序逻辑都可以通过“顺序”、“分支”、“循环”三种基本程序结构实现。

1.“顺序”

{
语句1;
语句2;
}
正常执行顺序为先语句1,再语句2顺序执行。

2.“分支”

a.条件满足运行,不满足不运行—if结构
if(逻辑表达式){
语句1;
语句2;
}
说明:计算逻辑表达式的值,若为true,执行if语句块。
b.条件满足运行,不满足运行其他其他语句—if else
if(逻辑表达式){
语句1;
语句2;
}else{
语句3;
语句4;
}
说明:计算逻辑表达式的值,若为true,执行if语句块,否则执行else语句块。

c.多条件选择语句—switch-case语句
switch(整型表达式){
case 整型常量值1:语句1;break;
case 整型常量值2:语句2;break;

default:语句n;break(可有可无);
}
说明:
根据整型表达式的值,让程序进入不同的入口,常与break一起使用,遇到break,则会退出switch,否则会继续执行下一步。
jdk7.0之后的版本都支持String类型。
default语句后面一般跟case之外可能出现的情况,出现之后则执行语句n。执行完成则会退出switch。

3.“循环”

3.1 循环要素:

循环体,循环条件

3.2 循环方式:

while、do-while、for

3.3 使用条件:<被有规律的反复执行>

程序反复执行某些代码;
代码是相同或相似的语句;

3.4 写循环:

1>循环变量的初始化;
2>循环条件;
3>循环变量的改变;

3.5 语法说明

while循环
while(boolean表达式[boolean表达式结果为真,则执行代码块,否则退出]){
语句块(被重复执行的语句);
}
说明:可能一次都不执行,先判断后执行
先算boolean表达式;
一般情况下,循环条件中会存在使循环条件不满足的可能性,否则会成为死循环;
break用于循环体退出循环;

do-while循环
do{
语句块(被重复执行的语句);
}while(boolean表达式);
说明:至少执行一次;
先执行语句块,再执行boolean表达式,再执行语句块,循环执行;
无论boolean表达式结果是否为true,都先执行一次语句块;
先执行,再判断;
当while的初始化和修改一致时用dowhile可以简化语句的重复;

for循环
for(表达式1;表达式2;表达式3){
语句块(被重复执行的语句);
}
说明:
1.计算表达式1的值;
2.计算表达式2(逻辑表达式;如果值为true,则执行循环语句块,否则退出)的值;
3.执行循环体;
4.执行表达式3;
5.计算表达式2,如果值为true,则执行循环语句块,否则退出;
6.如此循环计算,直到表达式2的值为false
循环执行结束,如果表达式3为i++,那么变量i的值为i+1;

特殊用法:
表达式1语句可以无,但;不可少
表达式3语句可以无,但;不可少,且需要在循环体中体现,否则会陷入死循环
三个表达式都可以不写,但;不可少,会陷入死循环,语法支持
表达式2语句不可以用“,”隔开,1和3可以

3.6 其他

continue只能用于循环,作用:跳出此次循环(不执行剩余语句),进行下一次循环;
break用于循环,退出且终止循环。
循环语句选择:
1.如果业务转换为“当…”,优先使用while;
2.如果业务转换为“直到…”,优先使用do-while;
3.固定次数循环,使用for;
循环嵌套:外层一次,内层所有次<不建议使用,影响性能>

4.demo

    public static void main(String args[]){
        /**
         * 循环语句 -- for循环
         */
        for(int i=0;i<=3;i++){
            System.out.println("***********循环开始**********");
            System.out.println("for循转获取到的i的值为:"+i);
            switchCaseDemo(i);
            System.out.println("第"+i+"次循环结束");
        }
        /**
         * 循环语句 -- do-while循环
         */
        int j=0;
        do{
            System.out.println("-----------循环开始------------");
            System.out.println("do-while循转获取到的j的值为:"+j);
            ifElseDemo(j);
            j++;
            System.out.println("第"+j+"次循环结束");
        }while(j<=3);
        /**
         * 循环语句 -- while循环
         */
        int k=0;
        while(k<=3){
            System.out.println("++++++++++++循环开始++++++++++++++");
            System.out.println("while循转获取到的k的值为:"+k);
            ifDemo(k);
            k++;
            System.out.println("第"+k+"次循环结束");
        }
    }
    /**
     * if
     * 满足则进入if代码块,否则进else
     * @param k
     */
    public static void ifDemo(int k){
        if(k==0){
            System.out.println("if语句k=0时:"+k);
        }

    }
    /**
     * if-else
     * 满足则进入if代码块,否则进else
     * @param j
     */
    public static void ifElseDemo(int j){
        if(j==0){
            System.out.println("if语句j=0时:"+j);
        }else{
            System.out.println("else语句j!=0时:"+j);
        }

    }
    /**
     * switch-case
     * 有break,则退出;
     * 无break,则继续下一语句;
     *  @param i
     */
    public static void switchCaseDemo(int i){
        switch (i){
            case 0:
                System.out.println("当i==0时,输出:"+i);
                break;
            case 1:
                System.out.println("当i==1时,输出:"+i);
                break;
            case 2:
                System.out.println("当i==2时,输出:"+i);
            default:
                System.out.println("不满足case的校验参数时,输出:"+i);
        }
    }

声明:此笔记为2017年的个人笔记,如果和谁的笔记冲突请留言声明删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值