- 浏览: 654830 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (170)
- Android (10)
- Java (35)
- PHP (3)
- Linux (3)
- Powerdesigner (2)
- dedcms (1)
- nginx (1)
- Flex (9)
- REST (2)
- Google App Engine (1)
- mysql (6)
- JAVA开源项目 (1)
- Eclipse (18)
- Eclipse Orion (1)
- Dojo (2)
- UML (1)
- Eclipse GEF EMF (4)
- Eclipse 插件开发 (6)
- OSGI (2)
- DeDeCMS (1)
- Maqetta (2)
- JavaScript (1)
- nginx php (1)
- Dojo V1.7 (2)
- Spring3 (4)
- Hibernate3 (4)
- MongoDB (3)
- Scala (2)
- DSL (1)
- Python (3)
- Maven (1)
- Tomcat (3)
- XMPP (2)
- Apache (4)
- NodeJS (1)
- SQLSERVER (2)
- HTML5 (1)
- Nexus (1)
- web服务器 (2)
- Jetty (2)
- weixin (1)
- ngrok (1)
- 网络与信息安全 (1)
最新评论
-
wangyudong:
配置有点晕,开源社区上找了一个开源的Holer,只需要设置Ac ...
用ngrok实现外网访问本地WEB项目的方法 -
lolo968:
你收集的资料没有链接
基于OSGI的框架开发小结(转) -
smartdog:
使用的maven的版本很老的,而且写的不是很清楚,建议可以参考 ...
Maven多项目依赖配置 -
Tom.X:
OSGi联盟官网:http://osgia.com
基于OSGI的框架开发小结(转) -
Miller003:
你好,我在本地测试时,删除catalina.jar和tomca ...
基于Tomcat7的HTML5 WebSocket 应用示例
以下是java位操作符的小总结,具体如下:
二进制负数以它正值的补码形式表达
补码:反码+1等于补码
比如:System.out.println(Integer.toBinaryString(-5));
打印:1111 1111 1111 1111 1111 1111 1111 1011 不用想了肯定是32位 (Adam:因为是int类型)
过程是这样的:
一个负数,比如-5,它的二进制在java里面是这样表示
1000 0000 0000 0000 0000 0000 0000 0101 (Adam:负值是在开头1)
它的正值是:
0000 0000 0000 0000 0000 0000 0000 0101 (Adam:正值开头是0)
反码是:
1111 1111 1111 1111 1111 1111 1111 1010 (Adam:这里是正值的反码)
再加上1是:
1111 1111 1111 1111 1111 1111 1111 1011
即得到打印的内容
java ~ 操作符,对每个二进制位的内容求反,即1变成0,0变成1
测试负数:
int a = -5;//101;
System.out.println(~a);
打印:4
过程是这样的,首先表示出来这个负数
1111 1111 1111 1111 1111 1111 1111 1011(上面已经提到为什么这样表示)
各位取反得到
0000 0000 0000 0000 0000 0000 0000 0100
转为10进制得到4
测试正数:
int a = 5;//101;
System.out.println(~a);
打印:-6
首先表示出来这个正数:
0000 0000 0000 0000 0000 0000 0000 0101
各位取反得到:
1111 1111 1111 1111 1111 1111 1111 1010
这个代表的就是-6了,至于为什么看最上面
java & 操作符,对应的二进制位进行与操作,两个都为1才为1,其他情况均为0
测试:
System.out.println(5&6);
打印:4
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 & :0000 0000 0000 0000 0000 0000 0000 0100
得到:4
java | 操作符,对应的二进制位进行或操作,两个都为0才为0,其他情况均为1
测试:
System.out.println(5|6);
打印:7
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 | :0000 0000 0000 0000 0000 0000 0000 0111
得到:7
java ^ 操作符 当对应二进制位值相同,该位为0 否则为1
测试:
System.out.println(5^6);
打印:3
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 ^ :0000 0000 0000 0000 0000 0000 0000 0011
得到:3
java << 操作符,左边移动,右面填充0
测试:
System.out.println(5<<1);
打印:10
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
进行 <<1 操作:0000 0000 0000 0000 0000 0000 0000 1010
java >> 操作符,左边移动,右面填充0
测试:
System.out.println(5>>>1);
打印:2
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
进行 >>>1 操作:0000 0000 0000 0000 0000 0000 0000 0010
左移动一位相当乘以2 右移动一位相当处以2
发表评论
-
JVM系列三:JVM参数设置、分析(转)
2014-09-28 15:04 1078不管是YGC还是Full GC,GC过程中都会对导致程序运 ... -
Java中static、final用法小结 (转)
2012-08-26 10:51 1972一、final 1.final变量: ... -
Servlet生命周期与工作原理(转)
2012-08-14 16:57 1047Servlet生命周期与工作原理 Servle ... -
java堆与栈 java String分配内存空间(详解)转
2012-08-10 15:44 1284栈内存 堆内存 ... -
java类继承总结一 父类类型与子类类型之间的转化问题(转)
2012-08-06 21:13 8677java类继承总结一 父类类型与子类类型之间的转化问 ... -
java堆和栈小结(转)
2012-08-05 21:45 1053(1)JAVA中基本数据类型直 ... -
Java常见异常(Runtime Exception )小结--转
2012-08-02 21:04 1336Java常见异常(Runtime Exception ) ... -
java.lang.NoClassDefFoundError: org.objectweb.asm.Type
2012-06-03 15:27 2468在使用spring3的aop时,出现如下的错误: ja ... -
Bean named '*' must be of type [*], but was actually of type [$Proxy16]
2012-06-03 14:14 28332在用junit测试dao接口时,出现以下的错误 Caused ... -
saveOrUpdate is not valid without active transaction
2012-06-03 13:07 6850在使用Spring+Hibernate的框架时,在applic ... -
spring BeanCreationException confusion about mapping
2012-05-31 20:08 1372在进行spring3+rest配置时,出现了以下的错误: C ... -
如何获取新浪微博的登录参数
2012-05-23 20:32 77151、用Chrome的开发者工具或者Firefox的Firebu ... -
Java 程序中使用相对和绝对路径读取文件
2012-05-21 14:24 9150在Java中用File对象来创建文件时,绝对路径一般是不会出现 ... -
线程安全与线程不安全
2012-04-26 16:43 1217线程安全是针对多线程来讲的,如果所使用的公用变量在多线程 ... -
StringBuilder、StringBuffer和String的关系
2012-04-26 16:33 10051. String 类 S ... -
插件开发中如何正确使用第三方jar包
2012-04-21 20:48 2469在进行eclipse插件开发过程中,除了引用Eclipse本身 ... -
Errors running builder 'JavaScript Validator' on project '......'.
2012-04-21 20:36 31322在编译java工程时,如果出现 “Errors occu ... -
The method *** of type *** must override a superclass method
2012-04-21 20:34 1350如果在实现接口时,出现了“The metho *** o ... -
Java 1.6动态编译器 null问题
2012-03-16 10:45 15591、在java程序中用JavaCompiler compile ... -
在线Base64编码
2012-03-13 09:22 1811最近需要使用icon转换成base64编码,搜寻到一下网站: ...
相关推荐
位操作符用于操作二进制位,如按位与(&)、按位或(|)、按位异或(^)、左移()、右移(>>)和无符号右移(>>>). 这些操作符在处理二进制数据,如数组索引、颜色编码或者位标志时非常有用。 六、条件操作符(三元运算符) ...
### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...
左移操作符()是位运算符之一,它在Java中有着特定的应用和理解。本篇文章将深入探讨Java中的左移操作符及其相关知识点。 一、位运算符概述 位运算符直接作用于二进制位,它们包括:左移(),右移(>>),无符号...
在Java中,左移操作符是`,右移操作符是`>>`。右移又分为算术右移和逻辑右移,算术右移在移动时会保持符号位不变(即负数的符号位为1则保持为1),而逻辑右移在移动时不论原来的符号位是什么都用0来填充。 **具体...
3. **避免直接比较**:当需要判断两个 `double` 值是否相等时,不要直接使用 `==` 操作符。应该定义一个很小的正数作为误差容限,并检查两个数之间的差值是否小于这个容限。 ```java double a = 0.1; double b =...
### 黑马程序员入学Java知识(精华总结) #### 一、Java概述与基础知识 ##### 1、何为编程? 编程是指使用计算机语言来编写指令,这些指令被计算机执行以完成特定任务的过程。通过编程,我们可以控制计算机的行为...
以上知识点在"JAVA知识点总结思维导图(xmind)"中可能以思维导图的形式详细展开,包括每个主题的子话题和相关实例,帮助学习者系统地理解和掌握Java编程。通过深入学习和实践这些知识点,可以成为一名熟练的Java...
本篇文章将深入探讨Java中的位运算,包括其基本概念、常用操作符以及实际应用。 一、位运算的基本概念 在计算机内部,所有的数据都是以二进制形式存储的。位运算就是对这些二进制位进行操作。一个整数在计算机内存...
### Java精华总结 #### 一、Java概述与基础知识 ##### 1. 何为编程? 编程是一种通过编写计算机可以理解的指令来解决问题的过程。这些指令是按照特定的语法规则组织起来的,用来指导计算机执行特定任务。 ##### ...
3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 3.9.1 指数记数法 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符 if-else 3.13 ...
表达式是由操作符和操作数组成的,可计算出一个值。三目运算符(条件运算符)如:`condition ? expr1 : expr2`,根据条件判断执行expr1或expr2。 十一、程序流程控制 Java提供了if-else、switch、for、while、do-...
通过位运算实现了数据的重新排列,使得Java能够正确读取由C语言生成的短整型数据。 ##### 整型转换 ```java public static int hltonl(int hl) { int out = 0; out = (hl & 0xff) ; out |= (hl & 0xff00) ; out...
### Java企业级开发综合技能知识总结 #### Java面向对象 1. **super()与this()的区别?** - `super()`用于调用父类构造器,必须作为子类构造器的第一条语句出现。 - `this()`用于调用本类的其他构造器,也必须...
### JAVA经典语句总结 #### 一、面向对象的核心概念 **1. 程序=对象+消息** 这是面向对象编程的一个基本观点。在Java中,一切都是对象,程序通过对象来实现其功能。对象是类的实例,而类则是对一类具有相同属性和...
Java 重要知识点总结 Java 是一种编译解释型语言,它的垃圾回收机制可以自动进行,无需程序员负责回收无用内存。在 Java 中,环境变量配置非常重要,在我的电脑 > 属性 > 高级 > 环境变量里的 Path 中加入 C:\...
在Java中,&是按位与操作符,应用于整数类型的运算;&&是逻辑与操作符,应用于布尔表达式短路与运算。HashMap是基于哈希表的Map接口实现,而Hashtable是同步的,适用于多线程环境。 final、finally、finalize的区别...
位运算符主要用于按位操作二进制数据。 1. **按位与 (&)**: - **定义**:对于参与运算的两个表达式的各二进制位,只有当两个相应的位都为1时,结果位才为1;否则结果位为0。 - **示例**:对于二进制数 `0111` 和...
本文总结了 Java 语言的基础知识,涵盖了 JDK、JRE、JVM 等概念,类和对象的区别、构造方法和普通方法的区别、作用域的四种类型、Integer 与 int 的区别、&和&&的区别、类变量与实例变量的区别、=="和equals的区别等...