Java运算符>、>>、>>>三者的区别_java

>表示大于,如:if(a>b)...结果是boolean类型

>>表示带符号右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃。
转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。

>>>无符号右移
按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
其他结构和>>相似。

测试代码如下:

public class Test{
  public static void main(String[] args){
    System.out.println("1、以下测试>:");
    int a = 1, b = 2;
    System.out.println(a > b);
    System.out.println("\n2、以下测试>>:");
    System.out.println("15 >> 2 = " + (15 >> 2));
    System.out.println("\n3、以下测试>>>:");
    for (int i = 0; i < 10; i++){
      for (int j = 0; j < 500; j = j + 5){
        System.out.println(j / (int) (Math.pow(2, i)));
        System.out.println(j >>> i);
      }
    }
  }
}

JAVA中其他位运算符:

~ 按位非(NOT)(一元运算)
& 按位与(AND)
| 按位或(OR)
^ 按位异或(XOR)
>> 右移
>>> 右移,左边空出的位以0填充
<< 左移
&= 按位与赋值
|= 按位或赋值
^= 按位异或赋值
>>= 右移赋值
>>>= 右移赋值,左边空出的位以0填充
<<= 左移赋值

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
运算符
java运算符优先级、java逻辑运算符、java运算符优先级表、java位运算符、java算术运算符,以便于您获取更多的相关知识。

时间: 2024-09-30 17:26:25

Java运算符&gt;、&gt;&gt;、&gt;&gt;&gt;三者的区别_java的相关文章

Java中JDBC事务与JTA分布式事务总结与区别_java

Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务.常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于JTA完成,这是一个基于JNDI的,相当复杂的API实现.所以本文暂不讨论容器事务.本文主要介绍J2EE开发中两个比较基本的事务:JDBC事务和JTA事务. JDBC事务 JDBC的一切行为包括事务是基于一个Connection的,在JDBC中是通过Connection对象进行事务管理.在JDBC中,

java、python、JavaScript以及jquery循环语句的区别_java

一.概述        python中循环语句有两种,while,for: JavaScript中循环语句有四种,while,do/while,for,for/in jQuery循环语句each 二.java 循环语句          a.while                 while 的语法为: while(条件语句){ 代码块 }           或者: while (条件语句) 代码; while的含义非常简单,只要条件语句为真,就一直执行后面的代码,为假就停止不做了.例如:

详解Java异常处理中throw与throws关键字的用法区别_java

抛出异常抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常.下面它们之间的异同. 系统自动抛异常 当程序语句出现一些逻辑错误.主义错误或类型转换错误时,系统会自动抛出异常.如: public static void main(String[] args) { int a = 5, b =0; System.out.println(5/b); //function(); } 系统会自动抛出ArithmeticException异常: Exception in thread

浅谈java中math类中三种取整函数的区别_java

math类中三大取整函数 1.ceil 2.floor 3.round 其实三种取整函数挺简单的.只要记住三个函数名翻译过来的汉语便能轻松理解三大函数,下面一一介绍 1.ceil,意思是天花板,java中叫做向上取整,大于等于该数字的最接近的整数 例:math.ceil(13.2)=14 math.ceil(-13.2)=-13 2.floor,意思是地板,java中叫做向下取整,小于等于该数字的最接近的整数 例:math.floor(13.2)=13 math.floor(-13.2)=-14

细数Java接口的概念、分类及与抽象类的区别_java

Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 一.接口含义: 1.Java接口,Java语言中存在的结构,有特定的语法和结构: 2.一个类所具有的方法的特征集合,是一种逻辑上的抽象. 前者叫做"Java接口",后者叫做"接口". Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所

java中重载,继承,重写和多态的区别_java

重载,继承,重写和多态的区别: 1)继承是子类获得父类的成员. 2)重写是继承后重新实现父类的方法. 3)重载是在一个类里一系列参数不同名字相同的方法. 4)多态则是为了避免在父类里大量重载引起代码臃肿且难于维护. 网上看到一个有趣的说法是:继承是子类使用父类的方法,而多态则是父类使用子类的方法. 下面的例子包含了这四种实现: class Triangle extends Shape {  public int getSides() {   return 3;  }} class Rectang

使用InfoSphere Streams的自定义Java 运算符和ICU4J实现实时音译

集成 Java 音译模块和 InfoSphere Streams 的自定义 Java 运算符 简介 在成长型市场区域中,任何解决方案提供商面临的首要挑战是可用数据的方言和语言学的不一致性.由于成长型市场区域中拥有包括英语在内的多种官方语言,所以地区的语言符号逐渐嵌入到了英语符号中.因此,您首先需要执行音译来实现数据中的一致性,然后再继续执行处理/文本分析. 如果使用预定的语言,那么数据音译会为您提供更统一.更一致的结果.本文将介绍使用 InfoSphere Streams 的自定义 Java 运

java运算符总结

下面这个例子向大家展示了如何随同特定的运算符使用主数据类型.从根本上说,它是同一个例子反反复复地执行,只是使用了不同的主数据类型.文件编译时不会报错,因为那些会导致错误的行已用//!变成了注释内容.   //: AllOps.java // Tests all the operators on all the // primitive data types to show which // ones are accepted by the Java compiler. class AllOps

java运算符+=引出的问题,希望搞明白

问题描述 java运算符+=引出的问题,希望搞明白 short s = 3; s = s + 5; s += 5; 运算结果是 s = s + 5; 这句话编译错误,因为 s+5后,数值类型强制转换成了int型, 再赋值给一个short变量是,会丢失精度,出现编译错误 但是s += 5: 这个运算过程是怎样的,原理是什么,为什么这个就可以编辑通过呢? 解决方案 隐式类型转换可以从小到大自动转,即byte->short->int->long 如果反过来会丢失精度,必须进行显示类型转换 s=