Java教程

Java流程控制

本文主要是介绍Java流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.顺序结构

2.if选择结构

  • if单选择结构

    if(布尔表达式){

    //如果布尔表达式为true将执行的语句

    }

  • if双选择结构

    if(布尔表达式){

    //如果布尔表达式的值为true

    } else{

    //如果布尔表达式的值为false

    }

  • if多选择结构

    if(布尔表达式 1){

    //如果布尔表达式1的值为true,执行代码

    } else if(布尔表达式 2){

    //如果布尔表达式2的值为true,执行代码

    } else if(布尔表达式 3) {

    //如果布尔表达式3的值为true,执行代码

    } else{

    //如果以上布尔表达式都不为true,执行代码

    }

  • 嵌套的if结构

    你可以在另一个if或者else if语句中使用if或者else if语句,也可以像if语句一样嵌套else if...else

    if(布尔表达式 1){

    ///如果布尔表达式 1的值为true,执行代码

    if(布尔表达式 2){

    ///如果布尔表达式 2的值为true,执行代码

    }

    }

3.Switch选择结构

switch语句中的变量类型可以是:

  • byte、short、int或者char

  • 从Java SE 7开始,switch支持字符串String类型,同时case标签必须为字符串常量或字面量

switch(expression){

case value:

//语句

break; //可选

case value:

//语句

break; //可选

//你可以有任意数量的case语句

default://可选

//语句

}

package com.tudou.operator;
//import java.util.Scanner;
​
public class Demo02 {
    public static void main(String[] args) {
​
        char grade = 'C';
​
        switch(grade){
            case 'A':
                System.out.println("优秀");
                break;      //可选
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("不及格");
                break;
            default:
                System.out.println("未知");
        }
    }
}

 

JDK7的新特性,表达式结果可以是字符串:

package com.tudou.operator;
//import java.util.Scanner;
​
public class Demo03 {
    public static void main(String[] args) {
        String name1 = "土豆";
        //JDK7的新特性,表达式结果可以是字符串
        //字符的本质还是数字
        //反编译步骤: java---class(字节码文件) ----反编译(用IDEA)
​
        switch (name1){
            case "土豆":
                System.out.println("土豆");
                break;
            case "番茄":
                System.out.println("番茄");
                break;
            default:
                System.out.println("???");
        }
    }
}

 

上述文件的反编译结果:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
​
package com.tudou.operator;
​
public class Demo03 {
    public Demo03() {
    }
​
    public static void main(String[] args) {
        String name1 = "土豆";
        byte var3 = -1;
        switch(name1.hashCode()) {
        case 727303:
            if (name1.equals("土豆")) {
                var3 = 0;
            }
            break;
        case 965338:
            if (name1.equals("番茄")) {
                var3 = 1;
            }
        }
​
        switch(var3) {
        case 0:
            System.out.println("土豆");
            break;
        case 1:
            System.out.println("番茄");
            break;
        default:
            System.out.println("???");
        }
​
    }
}

 

4.While循环结构

while(布尔表达式){

//循环内容

}

  • 只要布尔表达式为true,循环就会一直执行下去

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等

  • 循环条件一直为true就会造成无限循环【死循环】

     

do...while循环

  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

  • do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。

    do{

    //代码语句

    }while(布尔表达式);

 

while和do...while的区别

  • while先判断后执行,do...while是先执行后判断

  • do...while总是保证循环体会被至少执行一次

 

5.For循环

for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

for循环执行的次数是在执行前就确定的。

for(初始化;布尔表达式;更新){

//代码语句

}

IDEA快捷生成for循环: 100.for 回车

 

6.break continue

  • break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)

  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

  • goto关键字

这篇关于Java流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!