Java流程控制学习笔记

前言

Java有三大结构:顺序、选择(分支)和循环;

顺序结构是最常见的结构,按照常规的思路进行,并没有做到流程控制;而分支结构和循环结构充分地体现了流程控制的思想;分支结构利用if...else语句和switch语句;循环结构的实现借助for语句、while语句、do..while语句

还有流程跳转语句break、continue和return,通常用它们来控制流程的跳转。

正文

1.分支结构

  • if...else

        分支结构中比较常见的是if...else语句;

        if(<布尔表达式>) < 语句1>;[else<语句2>;]

语句1和语句2可以是任何语句(包括复合语句),else为可选部分;

  • switch

        当程序有多个分支(通常超过2个时),使用switch语句比使用多个嵌套的if语句更简明。

switch(<表达式>) {
    case<常量表达式1>:[<语句1>]
    case<常量表达式2>:[<语句2>]
    ...
    case<常量表达式n>:[<语句n>]
    [default<语句n+1>]
}

        <表达式>最终值得类型必须是int或者是能自动转换成int型的类型,如byte,short,char,int,否则必须进行强制类型转换,但从Java7以后开始增强了switch语句的功能:也允许表达式为String类型(经过反编译,可以看到String最后都被转换成了int)

        switch语句如过想达到多分支控制效果,每个case应当在末尾使用break语句,直接跳出整个switch语句。否则会出现 “case穿透 “ 现象:如果此case语句中没有break则按顺序继续执行下一个case,直到有break为止;

        break和continue的区别:前者作用为:从switch语句、循环语句或标号标识的代码块中退出。后者:跳出当前循环,立即开始新一轮的循环;

2.循环结构

  • for循环

  • while和do...while循环

    区别:前者最少执行 0 次,后者最少执行 1 次;

  • 增强for

    // 一般用于遍历集合或者数组
       for (Element e: c)
           System.out.println(e);

实例1 打印九九乘法口诀表

package com.chou.homework;
​
/**
 * @author Echohol
 * @created 2021/07/2021/7/12 - 16:37
 * @project Basic
 */
public class NineTimesNine1 {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j = 1;  j<=i; j++) {
                System.out.print(j + "*" + i + " = " + j * i + "\t");
            }
            System.out.println();
        }
    }
}

        控制台结果:

package com.chou.homework;
​
/**
 * @author Echohol
 * @created 2021/07/2021/7/12 - 16:37
 * @project Basic
 */
public class NineTimesNine2 {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j = 1;  j<=i; j++) {
                System.out.print(j + " * " + i + " = " + j * i + "\t");
            }
            System.out.println();
        }
    }
}
​

        上下结果不同是因为第一个方法打印输出System.out.print(j + "*" + i + " = " + j * i + "\t");时没有在第一个乘号两边加上空格 应改为 System.out.print(j + " * " + i + " = " + j * i + "\t"),这样显示结果更为美观;

实例2 打印输出三角形

package com.chou.homework;
​
/**
 * @author Echohol
 * @created 2021/07/2021/7/12 - 20:44
 * @project Basic
 *
 *
 * 打印输出一个三角形
 */
public class DemoTriangle {
    public static void main(String[] args) {
        String blank = " ";
​
        for (int i = 5; i > 0; i--) {
            for(int j = 0;j < i;j++) {
                System.out.print(blank);
            }
            for(int k =0;k<6-i;k++){
                System.out.print("*");
            }
            for (int l = 0; l < 5-i; l++) {
                System.out.print("*");
            }
              for (int m = 0; m < i; m++) {
                System.out.print(blank);
                if(m==i-1){
                    System.out.println();
                }
            }
        }
    }
}
​

       控制台输出:

     *     
    ***    
   *****   
  *******  
 ********* 

总结

        java的流程控制只要掌握了分支结构中的if...else语句和switch语句基本上能应对大部分情况;

而循环结构中的for循环必须掌握,while和do...while的区别和增强for的应用也需注意,break和

continue在这两个结构中的应用需熟练掌握

        特别声明:转载请注明出处

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值