matlab中if语句多个_Java判断语句的语法和使用

matlab中if语句多个_Java判断语句的语法和使用_第1张图片

文章导读

【在生活中,常常会遇到许多需要判断的情况,在这种情况下,需要根据一些条件作出决定和选择。例如,在我们打算出门时,需要判断天气怎么样,如果下雨了,就要带上雨伞;外出旅行时,需要根据不同情况,选择不同的交通工具。程序在运行过程中,也会碰到很对判断情况,并根据判断结果,进入不同的分支程序。本篇探讨Java的简单if语句、多重if语句和嵌套if语句。通过本篇的学习,你将掌握在程序中如何处理判断情况】

在使用Eclipse集成开发工具编写程序一文中,案例程序用到了if判断语句,用于判断用户输入的长度和宽度是否小于和等于零的条件。在这种情况下,程序并不是按既定的顺序执行,而是根据不同请况进行判断,然后执行不同的操作,这种流程成为“条件分支流程”,其结构也称为“条件结构”。

条件结构按照语法规则分为简单条件结构、多重if结构和嵌套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”。

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

程序代码如下:

package condition;
import java.util.Scanner;
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");
    }
}

编程示例2

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

程序思路分析:能被2整除的整数为偶数,即该数除以2后余数为0,因此可以采用取余运算判断数的奇偶性。考虑使用if-else结构,如果if中的条件(num % 2)==0为真,则输出该数是一个偶数,如果为假,则输出该数是一个奇数。

程序代码如下:

package condition;
import java.util.Scanner;
  
public class ConditionSample {
    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结构

简单的条件语句用于实现单个条件判断的情况,它以一个逻辑条件成立与否为条件,决定一个操作的执行或不执行,或执行两个不同的操作。但在某些情况下,需要检查多重条件,解决这种情况可用多重if、嵌套if或switch语句来解决,下面具体介绍多重if结构。

在进行条件判断时,常常会遇到一种情况,如果条件的值为真,则执行某些操作,否则,进一步进行条件判断,执行其它操作。例如:根据学生的考试分数分别输出优(90-100分)、良(80-90分)、中(60-80分)、差(小于60分)四个等级,需要逐级判断学生的考试分数在那个分数段内,并输出相应的等级。在编程时遇到此种情况,就可使用多重if结构解决。

多重if结构实际上是if-else结构的另一种形式;if-else-if,这种形式也称为阶梯式,当有多个分支选择时,可采用多重if结构。

多重if结构的语法如下:

if(条件1)

语句块

else if(条件2)

语句块

else if(条件3)

语句块

……

else

语句块

这种结构是从上到下逐个对条件进行判断,一旦发现条件满足就执行与该条件相关的语句,并跳过其他的条件判断;若没有一个条件满足,则执行最后一个else后的语句块;如果没有最后的else语句,则不执行任何操作,执行该结构后面的语句。同样,语句块中包含多条语句时,必须使用“{”和“}”把多条语句括起来。

编程示例3

任务要求:编写一个程序,根据用户输入的考试成绩,输出相应的成绩评定信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分输出“良”;成绩大于等于60分小于80分输出“中”,成绩小于60分输出“差”。

程序思路分析:声明一个float类型的变量fScore,用于存储用户输入的考试成绩。然后,使用if-else-if结构判断fScore变量中的值满足那个if语句中的条件。如果第一个if条件返回结果为假,则依次检查else if语句,任何一个else if条件返回结果为真时,则执行该else if下的语句块,如果都返回为假,则执行else语句。

程序代码如下:

package condition;
import java.util.Scanner;
public class MuiltIfSample {
    public static void main(String[] args) {
        float fScore;
        //声明Scanner类,接收用户输入的考试成绩
        Scanner sc = new Scanner(System.in);
        //提示用户输入两个整数
        System.out.println("请输入考试成绩:");
        //Scanner类方法nextInt获取int类型的输入
        fScore = sc.nextFloat();
        //判断成绩范围并输出
        if(fScore >= 90)
           System.out.printf("%.2f:优",fScore);
        else if( (fScore >= 80) && (fScore < 90) )
           System.out.printf("%.2f:良",fScore);
        else if( (fScore >= 60) && (fScore < 80) )
           System.out.printf("%.2f:中",fScore);
        else
           System.out.printf("%.2f:差",fScore);
    }
}

第三小节 嵌套if结构

除了使用简单if和多重if之外,还可以将整个if块插入到另一个if块中,这种结构称为嵌套if。嵌套if主要用于只有当前提条件满足时,才判断后续条件是否满足的情况。例如:一个活动计划的安排,如果今天是工作日,则去上班,如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。

嵌套if结构的语法如下:

if(前提条件)

{

if(后续条件1)

语句块1

else

语句块2

}

else

语句块3

在编写嵌套if结构时,有时会引发一些疑问,下面是一个例子:

if( x > 0 )
   if( y > 1 )
      z=1;
else  /*这个else部分属于哪个if?*/
   z=2;

按条件语句的语法形式,上面的例子似乎有两种可能的解释,第一种理解:外层的if是一个没有else部分的条件语句,最后的else部分属于内层的if语句;第二种理解:内层if是一个不带else部分的条件语句,最后的else属于外层的if条件语句。

为了避免这种二义性,Java语言规定,每个else部分总是属于前面最近的那个缺少对应的else部分if语句。根据这一规定,上面的例子第一种解释是正确的,第二种解释是不正确的。

因此,在编写代码时,尽量把嵌入的if语句块用“{”和“}”括起来,避免发生理解上的二义性。如果我们真的需要写出具有第二种意义的嵌套条件语句,那么,就应该采用下面的写法:

if( x > 0 )
{
   if( y > 1 )
      z=1;
}
else  /*这个else属于外层if*/
   z=2;

编程示例4

任务要求:要求用户输入两个数值,通过嵌套if结构判断两个数值的大小,并输出相应信息。

程序思路分析:采用嵌套结构实质上是为了进行多分支选择,判断两个数值的大小实际上有三种选择,即num1=num2、num1num2,这种问题用if-else-if结构也可以完成,而且程序更加清晰。因此,在一般情况下,较少使用if的嵌套结构,以使程序更便于阅读和理解。

程序代码如下:

package condition;
import java.util.Scanner;
public class EmbedSample {
     public static void main(String[] args) {
        int num1, num2;
        // 声明Scanner类,接收用户输入的两个数值
        Scanner sc = new Scanner(System.in);
        // 提示用户输入两个整数
        System.out.println("请输入两个整数数:");
        // Scanner类方法nextInt获取int类型的输入
        num1 = sc.nextInt();
        num2 = sc.nextInt();
        // 用嵌套if结构判断两个数值的大小
        // 首先判断num1和num2是否相等
        if (num1 != num2) {
            if (num1 > num2) {
                System.out.printf("num1(%d)>num2(%d)", num1, num2);
            } else {
                System.out.printf("num1(%d)

■ 文章小结

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

2、多重if结构的主要应用场景,是当程序需要根据不同条件选择不同的分支语句块时,可以通过if-else-if结构实现,if-else-if结构逐一判断条件,当其中一个条件满足时,执行该条件下的语句块,其它条件下的语句块则不被执行。

3、在编写代码时,如果要使用嵌套if结构,尽量把嵌入的if语句块用“{”和“}”括起来,一方面可以提高代码的可理解性和易读性;另一方面也可以预防因if和else匹配错误,使程序发生不可预知的结果,增加程序调试难度。

■ 思考与练习

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

2、编写一个程序,从键盘输入一个字符,输出该字符的类别。请使用多重if else语句判别键盘输入字符的类别。

提示:类别可根据ASCII码表来判断,ASCII码值小于32的为控制字符;ASCII码值大于等于48并且小于等于57时,为数字字符,ASCII码值大于等于65并且小于等于90时,为大写字母字符;ASCII码值大于等于97并且小于等于122时,为小写字母字符;其它ASCII码值为符号。

3、编写一个程序,要求用嵌套if结构实现。提示用户输入用户名,然后再提示输入密码。如果用户名是"admin"并且密码是“888888”,则提示输入正确,否则提示输入错误。

你可能感兴趣的:(matlab中if语句多个)