程序流程控制——分支结构

顺序结构

程序从上到下逐行地执行,中间没有任何判断和跳转。

Java中定义成员变量时采用合法的前向引用。如:
public class Test{
        int num1 = 12;
        int num2 = num1 + 2;
}
错误形式:
public class Test{
       int num2 = num1 + 2int num1 = 12;
}

分支结构

根据条件,选择性地执行某段代码。 有if…else和switch两种分支语句。

if语句三种格式


1. if (条件表达式) {

   执行代码块;

}


2. if (条件表达式) {

  执行代码块;

} else {

   执行代码块;

}


3. if (条件表达式1) {

   执行代码块1;

} else if (条件表达式2) {

   执行代码块2;

} else if (条件表达式3) {

  执行代码块3;

} …… else {

   执行代码块n;

}


switch语句

switch(变量){

  case 常量1:

     语句1;

   break;

   case 常量2:

     语句2;

   break;

   … …

  case 常量N:

     语句N;

   break;

   default:

     语句;

  break;

}

switch(表达式)中表达式的返回值必须是下述几种类型之一:byte,short,char,int,String, 枚举;

case子句中的值必须是常量,且所有case子句中的值应是不同的;

default子句是可任选的,当没有匹配的case时,执行default

break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到后面第一个break语句或直接执行到switch结尾(这种现象称为穿透)

switch和if语句的对比

if和switch语句很像,具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而且符合byte、 short 、int、 char这四种类型。虽然两个语句都可以使用,建议使用switch语句。因为效率稍高。

其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

原文地址:https://www.cnblogs.com/houwenbo/p/11530759.html