您当前的位置: 首页 >  Java

IT之一小佬

暂无认证

  • 2浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java程序流程控制(顺序结构、分支结构、循环结构、if-else、switch-case、for、while、do-while、break、continue、return)

IT之一小佬 发布时间:2021-11-30 14:37:30 ,浏览量:2

  • 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
  • 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
        顺序结构
        分支结构
        循环结构
顺序结构
  • 程序从上到下逐行地执行,中间没有任何判断和跳转。
分支结构
  • 根据条件,选择性地执行某段代码。
  • 有if…else和switch-case两种分支语句。
循环结构
  • 根据循环条件,重复性的执行某段代码。
  • 有while、do…while、for三种循环语句。
  • 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。
顺序结构
Java 中定义成员变量时采用合法的 前向引用 。如:
public class Test {
    public static void main(String[] args) {
        int num1 = 12;
        int num2 = num1 + 2;
    }
}
错误形式:
public class Test {
    public static void main(String[] args) {
        int num2 = num1 + 2;
        int num1 = 12;
    }
}

 分支结构 if-else结构

分支结构:if-else使用说明
  • 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
  • 语句块只有一条执行语句时,一对{}可以省略,但建议保留
  • if-else语句结构,根据需要可以嵌套使用
  • 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
  • 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
  • 当多个条件是“包含”关系时,“小上大下 / 子上父下”

示例代码:

public class Test {
    public static void main(String[] args) {
        int age = 75;
        if (age < 0) {
            System.out.println("不可能!");
        } else if (age > 250) {
            System.out.println("是个妖怪!");
        } else {
            System.out.println("人家芳龄 " + age + " ,马马乎乎啦!");
        }
    }
}

运行结果:

 示例代码:

public class Test {
    public static void main(String[] args) {
        int x = 4;
        int y = 1;
        if (x > 2) {
            if (y > 2)
                System.out.println(x + y);
            System.out.println("atguigu");
        } else
            System.out.println("x is " + x);
    }
}

运行结果:

示例代码:

public class Test {
    public static void main(String[] args) {
        boolean b = true;
        //如果写成if(b=false)能编译通过吗?如果能,结果是?
        if (b == false)
            System.out.println("a");
        else if (b)
            System.out.println("b");
        else if (!b)
            System.out.println("c");
        else
            System.out.println("d");
    }
}

运行结果:

 

 switch-case结构

 示例代码:

public class Test {
    public static void main(String[] args) {
        int i = 1;
        switch (i) {
            case 0:
                System.out.println("zero");
                break;
            case 1:
                System.out.println("one");
                break;
            default:
                System.out.println("default");
                break;
        }
    }
}

运行结果:

 示例代码:

public class Test {
    public static void main(String[] args) {
        String season = "summer";
        switch (season) {
            case "spring":
                System.out.println("春暖花开");
                break;
            case "summer":
                System.out.println("夏日炎炎");
                break;
            case "autumn":
                System.out.println("秋高气爽");
                break;
            case "winter":
                System.out.println("冬雪皑皑");
                break;
            default:
                System.out.println("季节输入有误");
                break;
        }
    }
}

运行结果:

switch语句有关规则
  • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);
  • case子句中的值必须是常量,不能是变量名或不确定的表达式值;
  • 同一个switch语句,所有case子句中的常量值互不相同;
  • break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
  • default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default
switch和if语句的对比
if 和 switch 语句很像,具体什么场景下,应用哪个语句呢?
  • 如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
  • 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。也就是说,使用switch-case的,都可以改写为if-else。反之不成立。
循环结构
  • 在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类
  1. for 循环
  2. while 循环
  3. do-while 循环

 for循环
  • 语法格式
        for (①初始化部分 ; ②循环条件部分 ; ④迭代部分 ) {
                ③循环体部分;
        }
  • 执行过程:
            ①-② - ③ - ④ - ② - ③ - ④ - ② - ③ - ④ -.....- ②
  • 说明:
        ②循环条件部分为boolean 类型表达式,当值为 false 时,退出循环
        ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
        ④可以有多个变量更新,用逗号分隔

 示例代码:

public class Test {
    public static void main(String[] args) {
        int result = 0;
        for (int i = 1; i             
关注
打赏
1665675218
查看更多评论
0.1328s