Logo

郎哥编程

Java简单条件结构

2018-01-22 977

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

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

在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”。

在D盘Java目录下,新建“ConditionSample1.java”文件。用记事本打开“ConditionSample1.java”文件,输入以下代码:

import java.util.*;
public  class  ConditionSample1
{
  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”。如果为假,程序结束,什么也不显示。

编译“ConditionSample1.java”文件,在命令行窗口输入“javac  ConditionSample1.java”并执行命令,编译通过后,在命令行窗口输入“java  ConditionSample1”运行Java程序,命令行窗口显示如下信息:

                                             

a1096.png

图 7-1  求两数和示例执行结果

 

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

提示:能被2整除的整数为偶数,即该数除以2后余数为0,因此可以采用取余运算判断数的奇偶性。

在D盘Java目录下,新建“ConditionSample2.java”文件。用记事本打开“ConditionSample2.java”文件,输入以下代码:

import java.util.*;
public  class  ConditionSample2
{
  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为真,则输出该数是一个偶数,如果为假,则输出该数是一个奇数。

编译“ConditionSample2.java”文件,在命令行窗口输入“javac  ConditionSample2.java”并执行命令,编译通过后,在命令行窗口输入“java  ConditionSample2”运行Java程序,命令行窗口显示如下信息:

a091.png


图 7-2 求奇偶性示例执行结果

 

■ 知识点拨

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

■ 思考与练习

编写一个程序,要求用户输入三个数值,求三个数值的最大值,并将最大值输出到屏幕上。


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论