Logo

郎哥编程

简单条件结构

2019-12-09 901

在生活中,常常会遇到许多需要判断的情况,在这种情况下,需要根据一些条件作出决定和选择。例如,在我们打算出门时,需要判断天气怎么样,如果下雨了,就要带上雨伞;外出旅行时,需要根据不同情况,选择不同的交通工具。

前面我们看到的程序都是“顺序流程”,每条语句顺序执行。但是在很多情况下,程序并不是按既定的顺序执行,而是根据不同请况进行判断,然后执行不同的操作,这种流程成为“条件分支流程”,其结构也称为“条件结构”。

在Java语言中,提供了if语句结构来实现条件结构。本课内容只介绍最简单的条件语句:if语句。

if语句的语法规则如下:

if(<条件>)
   <语句块>

其中,条件是一个表达式,此表达式的值可以为真或假。条件必须括在一对圆括号之内。<语句块>是一个或多个Java语言有效语句的集合,如果条件的值为真,则将执行此语句块。如果条件的值为假,则不执行该语句块,直接执行该语句块后面的语句(如果有)。

如果语句块中有多个语句,则需要将它们用一对大括号“{}”括起来,表示在条件的值为真时,需要处理整个语句块。

除简单的if语句外,Java语言还提供了if-else结构,其语法如下:

if(<条件>)
   <语句块>
else
   <语句块>

在if-else结构中,如果条件的值为真,则将执行if 后面的语句块;如果条件的值为假,则将执行else后面的语句块。

现在,我们已经了解了Java语言的if结构和if-else结构的语法,下面探讨一下如何在条件结构中使用关系条件表达式。

例如:要测试两个整数类型的变量值num1和num2是否相等,可以编写num1 == num2,然后将其放入一个if语句中,如下所示:

if ( num1==num2 )

如果num1和num2的数值相等,则条件为真,执行if后面的语句块,否则条件为假,不执行if后面的语句块。

案例1:求用户输入两个数,如果这两个数的和大于100,则显示“两数和大于100”。

在eclipse下新建项目PbaseUnit10,创建包unit,在unit包下创建Java类ConditionSample1。代码如下:

/** 
* @Title: ConditionSample1.java 
* @Package unit 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date
* @version V1.0 
*/ 
 
package unit;
 
import java.util.Scanner;
 
/** 
* @ClassName: ConditionSample1 
* @Description: 流程控制(简单条件结构)案例1
* @author 编程训练营 
* @date  
* 
*/
 
public class ConditionSample1 {
 
    /**
     * @Title: main
     * @Description: Java程序入口main方法
     * @param @param args 参数
     *
     * @return void 返回类型
     * @throws
     */
 
    public static void main(String[] args) {
       int num1, num2, sum;
       // 声明Scanner类,接收用户的输入
       Scanner sc = new Scanner(System.in);
       // 提示用户输入两个整数
       System.out.println("请输入两个整数数:");
       // Scanner类方法nextInt获取int类型的输入
       num1 = sc.nextInt();
       num2 = sc.nextInt();
       // 求两数和
       sum = num1 + num2;
       // if语句,条件是num>100
       if (sum > 100)
           System.out.println("两数和大于100");
 
    }
 
}

程序结构分析

程序功能主要是演示if语句的使用。

程序声明整型变量num1和num2用于存储用户输入的两个数,sum用于存储这两个数相加后的结果。然后用Scanner类的nextInt方法获取用户的输入的两个数值,两个数值相加后存储在sum中,然后通过if语句判断sum>100是否成立,如果条件成立,程序输出“两数和大于100”。如果为假,程序结束,什么也不显示。

程序执行结果如下图所示:

image.png

案例2:要求用户输入一个整数,判断该数是奇数还是偶数。

在PbaseUnit10项目unit包下创建ConditionSample2类。代码如下:

/** 
* @Title: ConditionSample2.java 
* @Package unit 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date  
* @version V1.0 
*/ 
 
package unit;
 
import java.util.Scanner;
 
/** 
* @ClassName: ConditionSample2 
* @Description: 流程控制(简单条件结构)案例2
* @author 编程训练营 
* @date  
* 
*/
 
public class ConditionSample2 {
 
    /**
     * @Title: main
     * @Description: Java程序入口main方法
     * @param @param args 参数
     *
     * @return void 返回类型 @throws
     */
 
    public static void main(String[] args) {
       int num;
       // 声明Scanner类,接收用户的输入
       Scanner sc = new Scanner(System.in);
       // 提示用户输入两个整数
       System.out.println("请输入一个整数:");
       // Scanner类方法nextInt获取int类型的输入
       num = sc.nextInt();
       // 用取余操作判断输入数值的奇偶性
       if ((num % 2) == 0)
           System.out.printf("%d是一个偶数", num);
       else
           System.out.printf("%d是一个奇数", num);
 
    }
 
}

程序结构分析

程序功能主要是演示if-else结构的使用。

程序使用了if-else结构,如果if中的条件(num % 2)==0为真,则输出该数是一个偶数,如果为假,则输出该数是一个奇数。

程序执行结果如下图所示:

image.png

条件结构,是程序中根据条件是否成立进行选择执行的一类语句,这类语句在实际使用中,难点在于如何准确的抽象条件。例如实现程序登录功能时,如果用户名和密码正确,则进入系统,否则弹出“密码错误”这样的提示框等。


评论区

登录 后发表评论
暂无评论