继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java02-5 if语句和三元运算符的转换

桃花长相依
关注TA
已关注
手记 113
粉丝 15
获赞 56

如 02-4 所写的那代码,if语句的第二种格式也能完成三目(三元?)运算符可以完成的效果。

所以,大多数情况下,它们可以完成一样的操作。但,也有区别:

         区别:

                  三元运算符能实现的,if语句都可以实现,但反过来就不成立。

         因为,当if语句控制的操作是一个输出语句的时候,就不能用三元运算符来实现,

         因为,三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

例子:

        

[代码]java代码:

?

1

2

3

4

5

6

7

8

int x = 100;

if(x%2 == 0) {

    System.out.println("100是一个偶数");

}else {

    System.out.println("100是一个奇数");

    }

就不能用三元改进:

String s = (x%2 == 0)?System.out.println("100是一个偶数");:System.out.println("100是一个奇数");;  这样是错误的

例子:

         获取三个数据中的最大值  , 分别用 if语句 和 三元运算符实现

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

import java.util.Scanner;

 

class LianShou{

    public static void main(String[]   args)

    {

        Scanner   sc = new Scanner(System.in);   //创建键盘录入对象

        //录入三个数据

        System.out.println("请输入第一个数据:");

        int a = sc.nextInt();

         

        System.out.println("请输入第二个数据: ");

        int b = sc.nextInt();

         

        System.out.println("请输入第三个数据:");

        int c = sc.nextInt();

        //   进行判断

        int max;

        if(a   > b)

        {

            max   = a;

        }

        else

        {

            max   = b;

        }

        if(max   > c)

        {

            System.out.println("最大的数是: " + max);

        }

        else

        {

            System.out.println("最大的数是: " + c);

        }

    }

}

三元运算符:

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

import java.util.Scanner;

 

class LianShou{

    public static void main(String[]   args)

    {

        Scanner   sc = new Scanner(System.in);   //创建键盘录入对象

        //录入三个数据

        System.out.println("请输入第一个数据:");

        int a = sc.nextInt();

         

        System.out.println("请输入第二个数据: ");

        int b = sc.nextInt();

         

        System.out.println("请输入第三个数据:");

        int c = sc.nextInt();

        //进行判断,三元运算符

        int max = (a > b)? a:b;

        int max1 = (max > c)? max:c;

         

        System.out.println("最大的数是:" + max1);

    }

原文链接:http://www.apkbus.com/blog-833059-61629.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP