Java中的选择语句(if,if-else,switch,break,continue,jump)

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

Java中的选择语句(if,if-else,switch,break,continue,jump)

编程中的决策与现实生活中的决策类似。在编程中,我们还面临一些情况,我们希望在满足某些条件时执行某个代码块。
编程语言使用控制语句来控制基于特定条件的程序执行流程。它们用于使执行流程前进并根据程序状态的变化进行分支。

Java的选择语句:

  • if
  • if-else
  • nested-if
  • if-else-if
  • switch-case
  • jump – break, continue, return

这些语句允许您根据仅在运行时期间已知的条件来控制程序执行的流程。

如果:如果陈述是最简单的决策陈述。它用于决定是否执行某个语句或某个语句块,即如果某个条件为真,则执行一个语句块,否则执行该语句块。
语法:

if(condition) 
{
   // Statements to execute if
   // condition is true
}

这里,评估后的状况将是真实的还是错误的。如果语句接受布尔值 - 如果该值为true,那么它将执行它下面的语句块。
如果我们在if(condition)之后没有提供花括号'{'和'}',那么默认情况下,如果语句将会考虑直接的一条语句在其块内。例如,

if(condition)
   statement1;
   statement2;

// Here if the condition is true, if block 
// will consider only statement1 to be inside 
// its block.

流程图:

Java中的选择语句(if,if-else,switch,break,continue,jump)
例如:

// Java program to illustrate If statement
class IfDemo
{
    public static void main(String args[])
    {
        int i = 10;
 
        if (i < 15)
            System.out.println("10 is less than 15");
 
        // This statement will be executed
        // as if considers one statement by default
        System.out.println("I am Not in if");
    }
}

输出:

I am Not in if

if-else:

仅if语句告诉我们,如果条件为真,它将执行一个语句块,如果条件为假,则不会。但是如果我们想在条件不成立的情况下做其他事情呢?else语句来了。当条件为假时,我们可以使用else语句和if语句来执行代码块。
语法:

if (condition)
{
    // Executes this block if
    // condition is true
}
else
{
    // Executes this block if
    // condition is false
}

Java中的选择语句(if,if-else,switch,break,continue,jump)

例:

// Java program to illustrate if-else statement
class IfElseDemo
{
    public static void main(String args[])
    {
        int i = 10;
 
        if (i < 15)
            System.out.println("i is smaller than 15");
        else
            System.out.println("i is greater than 15");
    }
}

输出:

i is smaller than 15

嵌套的if语句:

嵌套的if是一个if语句,它是另一个if或else的目标。嵌套if语句表示if语句中的if语句。是的,Java允许我们在if语句中嵌套if语句。即,我们可以在另一个if语句中放置一个if语句。
句法:

if (condition1) 
{
   // Executes when condition1 is true
   if (condition2) 
   {
      // Executes when condition2 is true
   }
}

Java中的选择语句(if,if-else,switch,break,continue,jump)
例:

// Java program to illustrate nested-if statement
class NestedIfDemo
{
    public static void main(String args[])
    {
        int i = 10;
 
        if (i == 10)
        {
            // First if statement
            if (i < 15)
                System.out.println("i is smaller than 15");
 
            // Nested - if statement
            // Will only be executed if statement above
            // it is true
            if (i < 12)
                System.out.println("i is smaller than 12 too");
            else
                System.out.println("i is greater than 15");
        }
    }
}

输出:

i is smaller than 15
i is smaller than 12 too

if-else-if 阶梯语句:

这里,用户可以在多个选项中进行选择。if语句从上到下执行。只要控制if的其中一个条件成立,与该if相关的语句就会被执行,并且梯子的其余部分被绕过。如果没有条件是真的,那么最后的else语句将被执行。

if (condition)
    statement;
else if (condition)
    statement;
.
.
else
    statement;

Java中的选择语句(if,if-else,switch,break,continue,jump)
例:

// Java program to illustrate if-else-if ladder
class ifelseifDemo
{
    public static void main(String args[])
    {
        int i = 20;
 
        if (i == 10)
            System.out.println("i is 10");
        else if (i == 15)
            System.out.println("i is 15");
        else if (i == 20)
            System.out.println("i is 20");
        else
            System.out.println("i is not present");
    }
}

输出:

i is 20

switch-case

switch语句是一个多路分支语句。它提供了一种简单的方法,根据表达式的值将执行分派到代码的不同部分。
句法:

switch (expression)
{
  case value1:
    statement1;
    break;
  case value2:
    statement2;
    break;
  .
  .
  case valueN:
    statementN;
    break;
  default:
    statementDefault;
}
  • 表达式可以是byte,short,int char或枚举类型。从JDK7开始,表达式也可以是String类型。
  • 重复的情况下值是不允许的。
  • 默认语句是可选的。
  • break语句在交换机内用来终止语句序列。
  • break语句是可选的。如果省略,执行将继续进入下一个案例。
  • Java中的选择语句(if,if-else,switch,break,continue,jump)
// Java program to illustrate switch-case
class SwitchCaseDemo
{
    public static void main(String args[])
    {
        int i = 9;
        switch (i)
        {
        case 0:
            System.out.println("i is zero.");
            break;
        case 1:
            System.out.println("i is one.");
            break;
        case 2:
            System.out.println("i is two.");
            break;
        default:
            System.out.println("i is greater than 2.");
        }
    }
}

输出:

i is greater than 2.

Java中的Switch Case中的字符串 ,从JDK 7开始,我们可以使用字符串常量/常量来控制switch语句,这在C / C ++中是不可能的。使用基于字符串的开关比使用if / else语句的等效序列有所改进。对于这点,参照这篇文章的例子:Java中的Switch Case中的字符串

Jump

Java支持三个跳转语句: break,continue和 return。这三个语句将控制转移到程序的其他部分。
Break:在Java中,break主要用于:
在switch语句中终止一个序列(上面讨论过)。
退出循环。
用作goto的“文明”形式。
使用中断退出循环

使用break,我们可以强制立即终止循环,绕过条件表达式和循环体中的任何剩余代码。
注意:当在一组嵌套循环中使用时,中断只会跳出最内层循环。
Java中的选择语句(if,if-else,switch,break,continue,jump)
例:

// Java program to illustrate using
// break to exit a loop
class BreakLoopDemo
{
    public static void main(String args[])
    {
        // Initially loop is set to run from 0-9
        for (int i = 0; i &lt; 10; i++)
        {
            // terminate loop when i is 5.
            if (i == 5)
                break;
 
            System.out.println("i: " + i);
        }
        System.out.println("Loop complete.");
    }
}

输出:

i: 0
i: 1
i: 2
i: 3
i: 4
Loop complete.

使用break作为Goto的一种形式

Java没有goto语句,因为它提供了一种以任意和非结构化方式进行分支的方式。Java使用标签。标签用于标识一段代码。
句法:

label:
{
  statement1;
  statement2;
  statement3;
  .
  .
}

现在,break语句可以用来跳出目标块。
注意:您不能破坏任何未为封闭块定义的标签。
句法:

break label;

例:

// Java program to illustrate using break with goto
class BreakLabelDemo
{
    public static void main(String args[])
    {
        boolean t = true;
 
        // label first
        first:
        {
            // Illegal statement here as label second is not
            // introduced yet break second;
            second:
            {
                third:
                {
                    // Before break
                    System.out.println("Before the break statement");
 
                    // break will take the control out of
                    // second label
                    if (t)
                        break second;
                    System.out.println("This won't execute.");
                }
                System.out.println("This won't execute.");
            }
 
            // Third block
            System.out.println("This is after second block.");
        }
    }
}

输出:

Before the break.
This is after second block.

Continue:

有时,强制循环的早期迭代很有用。也就是说,您可能想要继续运行循环,但不要处理其特定迭代中其余代码的其余部分。实际上,这是一个刚刚通过循环体的转到循环的结尾。continue语句执行这样的操作。
Java中的选择语句(if,if-else,switch,break,continue,jump)
例:

// Java program to illustrate using
// continue in an if statement
class ContinueDemo
{
    public static void main(String args[])
    {
        for (int i = 0; i &lt; 10; i++)
        {
            // If the number is even
            // skip and continue
            if (i%2 == 0)
                continue;
 
            // If number is odd, print it
            System.out.print(i + " ");
        }
    }
}

输出:

1 3 5 7 9
返回: return语句用于从方法显式返回。也就是说,它会导致程序控制权转移回方法的调用者。
例:

// Java program to illustrate using return
class Return
{
    public static void main(String args[])
    {
        boolean t = true;
        System.out.println("Before the return.");
     
        if (t)
            return;
 
        // Compiler will bypass every statement 
        // after return
        System.out.println("This won't execute.");
    }
}

输出:

Before the return.

Java条件表达式中的条件运算符?

条件运算符? :使用一个表达式的布尔值来决定应该评估其他两个表达式中的哪一个。条件运算符的实例请参照:Java中的条件表达式中的数字表达式

  •   本文标题:Java中的选择语句(if,if-else,switch,break,continue,jump) - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/3788.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读