java中关于移位运算符的demo与总结(推荐)
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种。
<< 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0填充,多余位舍弃。(等同于乘2的n次方)
>> 右移运算符,二进制数据向右移动*位,就在其二进制数据后抹掉几位?(这里还不错定,但个人理解是这样的)(等同于除2的n次方)
>>> 无符号右移运算符,不管移动前最高位是0还是1,右移后左侧产生的空位部分都以0来填充。
下面我们借一个demo帮助理解:
public static void main(String[] args){ int a = 16; int b = a << 2;//左移2,等同于16 * 2的2次方,也就是16 * 4 int c = a >> 2;//右移2,等同于16 / 2的2次方,也就是16 / 4 System.out.println("a的二进制数据为:" + Integer.toBinaryString(a)); System.out.println("a左移后二进制数据为:" + Integer.toBinaryString(b)); System.out.println("a右移后二进制数据为:" + Integer.toBinaryString(c)); System.out.println("a左移后的值为:" + b); System.out.println("a右移后的值为:" + c); } }
查看运行结果,如图所示:
首先,16的二进制数据为:10000;
左移两位,10000变成1000000;
右移两位,10000变成100;
把得到的二进制数据转换成普通数据后,
a左移后的值为64,既16 * 2的2次方(16 * 4)。
a右移后的值为4,既16 / 2的2次方(16 / 4)。
看完这个demo再理解移位运算符是不是就简单很多?
以上这篇java中关于移位运算符的demo与总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java语言一元运算符实例解析
一元运算符,也叫单项算符,一目运算符,一元算符 ,英文名字:UnaryOperator. 描述:接受一个参数为类型T,返回值类型也为T. 源码: public interface UnaryOperator<T> extends Function<T, T> { /** * Returns a unary operator that always returns its input argument. * * @param <T> the type of the inp
-
Java中的位运算符、移位运算详细介绍
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3)按位取反(~):0 变 1, 1变0: (4)按位异或(^):两位,如果相同,结果为0:如果不同,结果为1: 注意: (1)位运算中的 符号位(最高位)也跟着变; (2)位运算符与逻辑运算符(逻辑与&&.逻辑或||.逻辑非! )有点相似.但是,逻辑运算符只能操作boolean变量 (也就是左右两边的值
-
Java用三元运算符判断奇数和偶数的简单实现
创建一个类,在该类的主方法中创建标准输入流的扫描器对象,提示用户输入一个整数,并通过扫描器的方法来接受这个整数,然后通过三元运算符判断该数字与2的余数,如果余数为0,说明其是偶数,否则是奇数. 复制代码 代码如下: import java.util.Scanner;public class ParityCheck { public static void main(String[] args){ System.out.println("请输入一个整数:");
-
浅谈Java变量赋值运算符及相关实例 原创
Java程序中,需要进行大量的计算,所以要使用到运算符号,下面来给大家说明Java赋值运算符如何运用. 赋值运算符以符号"="表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方操作数.例如: int a = 100; 该表达式是将100赋值给变量 a .左方的操作数必须是一个变量 ,而右边的才做书则可以是任何表达式,包括变量(如 a .number).常量(123.'book').有效表达式(如55*66). 1:使用赋值运算符为变量赋
-
整理Java编程中常用的基本描述符与运算符
描述符 描述符是你添加到那些定义中来改变他们的意思的关键词.Java 语言有很多描述符,包括以下这些: 可访问描述符 不可访问描述符 应用描述符,你可以在类.方法.变量中加入相应关键字.描述符要先于声明,如下面的例子所示(斜体): public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; p
-
java中关于移位运算符的demo与总结(推荐)
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0填充,多余位舍弃.(等同于乘2的n次方) >> 右移运算符,二进制数据向右移动*位,就在其二进制数据后抹掉几位?(这里还不错定,但个人理解是这样的)(等同于除2的n次方) >>> 无符号右移运算符,不管移动前最高位是0还是1,右移后左侧产生的空位部分都以0来填充. 下面我们借一个
-
java中的移位运算符心得总结
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 >>> : 无符号右移,忽略符号位,空位都以0补齐 下面来看看这些移位运算都是怎样使用的 复制代码 代码如下: /** * */package com.b510.test; /** * @author Jone Hongten * @creat
-
Java三种移位运算符原理解析
这篇文章主要介绍了Java三种移位运算符原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位(符
-
c语言中的移位运算符
移位运算符在程序设计中,是位操作运算符的一种.移位运算符可以在二进制的基础上对数字进行平移. c语言中提供了两种移位运算符: 左移运算符:<< 右移运算符:>> 左移运算符(<<) int main(void) { int a = 4; //把a的二进制位向左移动1位 int b = a << 1; printf("b = %d", b); return 0; } 在32位操作系统中,int类型占4个字节,1个字节有8bit,所以变量a在
-
Java中获取类路径classpath的简单方法(推荐)
如下所示: <SPAN style="FONT-SIZE: 18px"> System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("java.class.path"); String path2 = FreeMarkerWriter.class.getProtectionDomain().getCodeSource().getLo
-
Java中四种遍历List的方法总结(推荐)
实例如下: package com.ietree.basic.collection.loop; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * List遍历 * * @author Dylan */ public class ListLoop { public static void main(String[] args) { // 初始化一个长度为10的ArrayList L
-
JAVA中ListIterator和Iterator详解与辨析(推荐)
在使用Java集合的时候,都需要使用Iterator.但是java集合中还有一个迭代器ListIterator,在使用List.ArrayList.LinkedList和Vector的时候可以使用.这两种迭代器有什么区别呢?下面我们详细分析.这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置. 首先看一下Iterator和ListIterator迭代器的方法有哪些. Iterator迭代器包含的方法有: hasNext():如果迭代器指向位置后面还有元素,则返回 true,否则返回fal
-
Java中的static关键字修饰属性和方法(推荐)
目录 static关键字 1.static修饰属性(静态属性) 1.1.哪些成员属性可以被static修饰. 1.2.静态属性的访问. 2.static关键字修饰方法 1.那些方法可以使用static修饰 2.常见的问题 static关键字 static关键词与对象无关.static关键字主要修饰四个部分的内容 这里我们主要介绍static修饰属性和修饰方法. 1.static修饰属性(静态属性) 1.1.哪些成员属性可以被static修饰. 我们把static修饰的属性称为静态属性,又叫类属性
-
java中的基础运算符
目录 一.算术运算符 二.关系运算符 三.位运算和逻辑运算符 四.赋值运算符 一.算术运算符 算术运算符的作用和在数学中的作用一样,主要的算术运算符有以下几种 1.+加 2.-减 3.*乘 4./除 5.%取余 其中加.减.乘.除的用法同数学中的相同,不过需要注意的是 / 和 % 的区别:两个数据做除法,/取结果的商,%取结果的余数.除了这五种还有以下两种: ++自增:变量的值加1 – 自减:变量的值减1 使用时需要注意以下几点: 1.++和-- 既可以放在变量的后边,也可以放在变量的前边.
随机推荐
- VB关机恶搞小程序
- Go语言里的结构体文法实例分析
- VirtualBox 在Centos 7 中安装增强功能图解 (共享文件夹)
- shell学习教程获取命令行参数示例
- VBS教程:函数-UCase 函数
- JavaScript系列文章:详解正则表达式基本知识
- iOS的CoreAnimation开发框架中的Layer层动画制作解析
- JS实现改变HTML上文字颜色和内容的方法
- ASP.NET实现从服务器下载文件问题处理
- python实现矩阵乘法的方法
- avalonjs实现仿微博的图片拖动特效
- 一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
- JavaScript获取某年某月的最后一天附截图
- Android中使用自定义ViewGroup的总结
- JAVAEE model1模型实现商品浏览记录(去除重复的浏览记录)(一)
- Objective-C中NSLog输出格式大全
- 浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
- Cisco路由器的安全配置
- 网络名词解释
- Python安装pycurl失败的解决方法