Java位算术运算符
1)&:与运算,将两个数分别转化成补码,然后进行运算(全1得1,有0出0)。
2)!:非运算,将数字自身取反(转化成补码,按位取反——1变0,0变1)。
3)<<:左移运算符,将某个十进制转换成二进制之后末尾的n个二进制数以此往左移动,溢出的n位用0在末尾补足。
4)>>:带符号右移运算符:将某个十进制转换成二进制之后末尾的n个二进制数以此往右移动,溢出的n位在最前面视情况而定:1补1,0补0,共补n位。
5)>>>:不带符号右移运算符:将某个十进制转换成二进制之后末尾的n个二进制数以此往右移动,溢出的n位在最前面一律补n个0。
int g = a >> 1;// 有符号右移1位,左侧缺的位以符号位补齐,正数就是0, "00000000000000000000000000001101" = 13
int f = b>> 1; // 有符号右移1位,左侧缺的位以符号位补齐,负数就是1, “11111111111111111111111111111111”= -1
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
在进入我们今天的话题前,先来看看下面这段代码,你知道它的结果吗?
程序代码
public class StringTest1{
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
&nbs ......
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.util.Random;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
* 功能描述 ......