为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

如 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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消