永发信息网

Java中比较符运算4>=3为什么为true?

答案:2  悬赏:30  手机版
解决时间 2021-02-07 15:34
  • 提问者网友:城市野鹿
  • 2021-02-06 15:41
Java中比较符运算4>=3为什么为true?
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-02-06 16:29
1、三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值

2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.

3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。

以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。
全部回答
  • 1楼网友:爱难随人意
  • 2021-02-06 17:07
1. "+"如果是数值运算 int a = 1,b = 2;则a + b = 3 如果是2个字符串相加 其功能就是 string a = "a",b = "b";则a + b = "ab"; 2.位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中~的结合方向自右至左,且优先级高于算术运算符,其余运算符的结合方向都是自左至右,且优先级低于关系运算符。 按位与运算将两个运算分量的对应位按位遵照以下规则进行计算: 0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1。 即同为 1 的位,结果为 1,否则结果为 0。 逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。 < 小于; > 大于;<= 小于或等于;>= 大于或等于;== 等于;!= 不等于;&& 而且 (and);and 而且 (and);|| 或者 (or);or 或者 (or);xor 异或 (xor);! 不 (not) 3. && 表示前后2个条件一定要同时满足 才能为真 有一个条件为假的时候就是假 则不执行 一般用在 if(x > 0 && y > 0) { system.out.print("x和y都是大于0"); } else { system.out.print("x和y中有一个不是正数"); } "||"这个“或”呢 属于条件取舍型的,也就是说c = a||b 只要a或者b为真的时候 这条表达式c就是为真 4. 右移 system.out.println(-3>>1); 结果是-2,为什么会是-2呢?下面我们来看一下. system.out.println(integer.tohexstring(-3));得到-3的16进制为fffffffd(此为-3的补码,计算机中负数用补码表示). 转换成2进制为
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯