Java中boolean类型的位运算
Java日积月累-1:Java中boolean类型的位运算
1. 首先回顾一下java中的8中基本类型及其存储所占用的bit数。
类型
bit数
byte
8
short
16
int
32
float
32
long
64
double
64
char
16
boolean
1
2. 再回顾一下java的运算符和优先级
运算符
优先级
后缀运算符
expr
++ expr
--
一元运算符
++expr
--expr
+expr
-expr
~ !
乘运算符
* / %
加运算符
+ -
位移预算符
<< >> >>>
关系运算符
< > <= >= instanceof
相等运算符
== !=
位与
&
位异或
^
位或
|
逻辑与
&&
逻辑或
||
三元运算符
? :
赋值运算符
= += -= *= /= %= &= ^= |= <<= >>= >>>=
3. 我们知道逻辑与和逻辑或在运算时执行短路运算,但是当执行boolean类型的位运算时,其结果也是boolean型,运算结果与执行逻辑运算的结果的相同,但是位运算并不执行短路运算。通过下面的例子我们可以看到:
/**
* desc:
* test bitewise<br>
* ----------------------------------------------------------------------------
* ver. date who what
* ----------------------------------------------------------------------------
* 0.0.1 2010-1-3 leeinneu add:test bitewise
* ----------------------------------------------------------------------------
*/
package cn.leeinneu.daily._2010_01_03;
import static cn.leeinneu.utils.Print.*;
/**
* @author leeinneu
*
* BiteWiseTest
*/
public class BiteWiseTest {
/**
* @param args
*/
public static void main(String[] args) {
// Boolean Statement
prtln("Boolean Statement");
prt("1. boolAnd:");
prtln(isTrue() && isFalse());
prt("2. boolOr:");
prtln(isTrue
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
==操作符与equals方法的区别:
==是引用类型比较引用(也就是比较内容和地址);基本类型比较值;
equals()方法只能比较引用类型,"=="可以比较引用类型及基本类型;
特例:当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper包装 ......
private String smtpHost;
private String smtpUserName;
private String smtpPassword;
public void sendEmail(String fromAddress, List<String> toAddresses, List<String> ccAddresses,
String subject, String message) {
Properties props = new Properties();
props.put("mail.smtp.host", smt ......
封装类也叫包装类,是针对八种基本定义相应的引用类型。
基本数据类型 封装类
boolean &nbs ......
Java Singleton
模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。在
web 程序中我们会用一个核心的分配功能的Servlet程序,在这里我们就可以运用这种设计模式了。 ......