当前位置: 首页 > 知识库问答 >
问题:

Java>>>运算符[重复]

郎项禹
2023-03-14

可能重复:
之间的差异

有人能解释一下

共有3个答案

贺浩壤
2023-03-14

签名右移运算符“

更多信息

遵循此链接

裴欣然
2023-03-14

您可以通过一个简单的程序看到区别:

public static void main(String[] args) throws InterruptedException, IOException {
    int i = -1;
    int j = i >> 1;
    int k = i >>> 1;
    System.out.println("i = " + i + "\t\t<=> " + Integer.toBinaryString(i));
    System.out.println("j = " + j + "\t\t<=> " + Integer.toBinaryString(j));
    System.out.println("k = " + k + "\t<=> " + Integer.toBinaryString(k));
}

输出:

i = -1          <=> 11111111111111111111111111111111  
j = -1          <=> 11111111111111111111111111111111  
k = 2147483647  <=> 1111111111111111111111111111111
华项明
2023-03-14

从Java教程:

无符号右移运算符“

 类似资料:
  • 我知道Java不支持运算符重载,但我看到您可以为Integer对象赋值,例如,使用运算符,而不是使用setter。 所以我想知道是否有可能将这种行为实现到任何类?

  • java运算符"的含义是什么-

  • 问题内容: 请告诉我Java是否可以重载运算符?如果可以在Java中的任何地方使用它,请告诉我。 问题答案: 不,Java不支持用户定义的运算符重载。Java唯一接近“自定义”运算符重载的方面是对字符串+的处理,这将导致常量的编译时串联或使用StringBuilder / StringBuffer的执行时串联。但是,您无法定义自己的操作符,它们的操作方式相同。 对于确实支持运算符重载的类Java(

  • Rust可以让我们对某些运算符进行重载,这其中大部分的重载都是对std::ops下的trait进行重载而实现的。 重载加法 我们现在来实现一个只支持加法的阉割版复数: use std::ops::Add; #[derive(Debug)] struct Complex { a: f64, b: f64, } impl Add for Complex { type Outpu

  • 问题内容: 有人可以解释运算符在Java中的作用。我在HashMap中的Hash方法这个问题中遇到了它。从其在问题中的用法来看,它似乎是移位运算符- 和之间有什么区别? 问题答案: 从Java教程: 无符号右移运算符“ >>>”将零移位到最左位置,而“ >>”之后的最左位置取决于符号扩展名。

  • 问题内容: 嗨,我可以知道Java?:运算符是什么,我正试图查找有关其工作方式的信息,但我不知道它叫什么,在Google中键入?:不能给出正确的结果。 问题答案: 它是 条件 运算符。 有人称它为 三元 运算符,但这实际上只是在说它有多少个操作数。特别是,Java的未来版本可以(完全合理地)引入 另一个 三元运算符-而运算符的_名称_ 是条件运算符。 参见语言规范的15.25节: 条件运算符?:使