A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伯爵公子 中级黑马   /  2015-7-15 08:39  /  1249 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

见过两个代码
一个return a>b?a:b
一个int c = a>b?a:b

在第二个中,是先执行 c = a, 然后比较c>b哪,还是,a>b,如果大于将返回值a 赋给c,那种情况对?

评分

参与人数 1黑马币 +2 收起 理由
万合天宜 + 2

查看全部评分

20 个回复

倒序浏览
求解答,越快月好呀
回复 使用道具 举报
如果按照运算符的优先级来看的话,是先比较再赋值。

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1

查看全部评分

回复 使用道具 举报
懒人不是懒 发表于 2015-7-15 08:43
如果按照运算符的优先级来看的话,是先比较再赋值。

恩,谢谢赐教
回复 使用道具 举报
懒人不是懒 发表于 2015-7-15 08:43
如果按照运算符的优先级来看的话,是先比较再赋值。

刚试了试,确实是先比较,再赋值。
class var
{
        public static void main(String[] args){
        int a=4,b=5;
        int c= a>b?a:b;
                System.out.println("c="+c);}
}

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1

查看全部评分

回复 使用道具 举报
第二个是先比较a和b的大小,把较大的 赋给c

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1

查看全部评分

回复 使用道具 举报
Nemo 中级黑马 2015-7-15 09:06:00
7#
a>b,赋值运算符,也就是=的优先级相当的低,一般都是最后执行
回复 使用道具 举报
>的优先级大于=
回复 使用道具 举报

看来我得补补这块知识
回复 使用道具 举报
伯爵公子 发表于 2015-7-17 13:45
看来我得补补这块知识

共同努力
回复 使用道具 举报
这肯定是先比较啊  结果为true把a赋值给c  结果为false把b赋值给c
回复 使用道具 举报
先比较a>b?若a大,将a赋值给c;若b大,将b赋值给c
回复 使用道具 举报
必然是把返回值赋给C
回复 使用道具 举报
先是条件判断 再赋值给c
回复 使用道具 举报
白羽蘇芳 发表于 2015-7-20 13:17
这肯定是先比较啊  结果为true把a赋值给c  结果为false把b赋值给c

说的对,这可是经常会用到的知识点。
回复 使用道具 举报
王文辉 发表于 2015-7-20 17:18
先比较a>b?若a大,将a赋值给c;若b大,将b赋值给c

是呀,这个分析很对
回复 使用道具 举报
王庆艳 发表于 2015-7-20 22:07
必然是把返回值赋给C

这个知识点比较重要的,记住哈
回复 使用道具 举报
chad8753 发表于 2015-7-20 22:22
先是条件判断 再赋值给c

是呀,已经记住了
回复 使用道具 举报
谢谢分享,学习了
回复 使用道具 举报
学习了。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马