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
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
declarations n. 声明
extends v. 继承
继承中注意的问题:
1 重写(也叫覆盖,也叫重构):重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型;
重写方法不能使用比被重写方法更严格的访问权限。
重写是类与类 ......
事实上网络编程简单的理解就是两台计算机相互通讯数据而已,对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了,Java SDK提供一些相对简单的Api来完成这些工作。Socket就是其中之一,对于Java而言,这些Api存在与java.net 这个包里面,因此只要导入这个包就可以准备网络编程了。
http://java.c ......
多线程
线程:是指进程中的一个执行流程。
线程与进程的区别:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源。
如何创建一个线程?
创建线程有两种方式,如下:
1、 扩展java.lang.Thread类
2、 实现Runnable接口
......
作文本编辑器的时候,撤销(undo)、恢复(redo)是必不可少的两个功能。实现这个功能,要用到javax.swing.undo包中的UndoManager类。
UndoManager类有如下常用方法:
boolean canUndo() ——判断能否进行撤消操作,可以则返回true。
boolean canRedo() ——判断能否进行恢复操作,可以则返 ......