Java mHeartBeatsPerMinute = (data[0] < 0) (128 + (128 + mHea

问题描述:

Java
mHeartBeatsPerMinute = (data[0] < 0) (128 + (128 + mHeartBeatsPerMinute))
:(mHeartBeatsPerMinute);
128 + (128 + mHeartBeatsPerMinute) 为什么要套一层括号?
1个回答 分类:综合 2014-09-22

问题解答:

我来补答
首先理解下三目运算符,如下
boolean flag =true;
String str=flag?"是真的":"是假的";
System.out.println(str);//输出什么?当然是“是真的”,原理是我之前定义的布尔型的变量
                        //然后通过三目运算符来运算然后就是128 + (128 + mHeartBeatsPerMinute),这句,你得看mHeartBeatsPerMinute是什么类型如果是int(或者是数字类型的)那个括号就没意义了,如果是其他的类型(比如说 char等)就有说道啦,当char类型+128,就好比ascii码在加128,最后你输出者个char类型的变量是输出的一个字符,而不是以个数字
再问: 是int型,要是没意义,为啥还要这样写呢?
再答: 如果是int的,我认为可能是就在程旭猿中逻辑上能好看一点吧。。。
再问: 补充一下前面的语句: //byte[ ] data mHeartBeatsPerMinute = ((data[0] & 0xFF)
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下