版权声明一:本文为博主原创文章,转载请附上原文出处链接和本声明.版权声明二:本网站的所有作品会及时更新,欢迎大家阅读后发表评论,以利作品的完善.版权声明三:对不遵守本声明或其他违法.恶意使用本网内容者,保留追究其法律责任的权利.本文链接:https://home.cnblogs.com/u/zak24/ Java中的「与运算 & 」 规则 :都为1时才为1,否则为0 即:两位同时为“1”,结果才为“1”,否则为0 例如:     public static void main(String ar…
http://w.baike.com/LGAdcWgJBBQxRAHUf.html 转帖 java中byte转换int时为何与0xff进行与运算 在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++) {   String hex = Integer.toHexString(b[i] & 0xFF…
关于连加和连减:http://blog.csdn.net/ieayoio/article/details/46431843 以下是一段普遍都了解的代码: public static void main(String[] args) { int a=3; System.out.println(a++ +1);//4 System.out.println(a);//4 System.out.println(++a +1);//6 } a++是先计算再++.而++a相反 watermark/2/tex…
byte,1个字节8位, -128 ~ 127之间,首位表示正负,0为正,1为负,0111,1111表示127,-127为127取反1000,0000,再加1,即1000,0001为-127,-127减1得-128,所以1000,0000表示-128,对它减1取反得到它自身. short,2个字节,-1 * 2的15次方 ~ 2的15次方减1之间,参考byte的表示法. int,4个字节,-1 * 2的31次方 ~ 2的31次方减1之间. long,8个字节,-1 * 2的63次方 ~ 2的63…
从20世纪70年代末到80年代末,Digital Equipment的VAX计算机是一种非常流行的机型.它没有布尔运算AND和OR指令,只有bis(位设置)和bic(位清除)这两种指令.两种指令的输入都是一个数据字x和一个掩码字m.它们生成一个结果z,z是由根据掩码m的位来修改x的位得到的.使用bis指令,这种修改就是在m为1的每个位置上,将z对应的位设置为1.使用bic指令,这种修改就是在m为1的每个位置,将z对应的位设置为0. 为了看清楚这些运算与C语言位级运算的关系,假设我们有两个函数bi…
java中的双冒号操作符 定义 双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion. 通常的情况下: 把 x -> System.out.println(x) 简化为 System.out::println 的过程称之为 eta-conversion 把 System.out::println 简化为 x -> System.out.println(x) 的过程称之为 eta-expansion 范式: 类名…
一 参考博文 java中无符号类型的解决方案 二 java中的无符号数和有符号数 在计算机中,可以区分正负的类型,称为有符号类型,无正负的类型,称为无符号类型. 使用二进制中的最高位表示正负 计算机中一般用补码表示数值:另外,用二进制的最高位表示符号,0表示正数.1表示负数. 无符号和有符号数的范围的区别 无符号数中,所有的位都用于直接表示该值的大小:有符号数中最高位用于表示正负,所以,正值时,该数的最大值就会变小: 无符号数:1111 1111 值:255 有符号数:0111 1111 值:1…
例子[1]: 第一种情况: short a = 1; a = a + 1; // 这一步会报错 System.out.print(a); 编译器会报错,原因如下: 第二种情况: short a = 1; a += 1; System.out.print(a); 这种情况不会报错.java语言规范中关于复合赋值的解释是这样的:E1 op= E2等价于E1=(T)(E1 op E2),这里的T是E1的数据类型,即复合赋值是自带了隐式的强制类型转换的. 第三种情况: short a = 1; shor…
例子[1]: 第一种情况: short a = 1; a = a + 1; // 这一步会报错 System.out.print(a); 编译器会报错,原因如下: 第二种情况: short a = 1; a += 1; System.out.print(a); 这种情况不会报错. java语言规范中关于复合赋值的解释是这样的:E1 op= E2等价于 E1=(T)(E1 op E2),这里的T是E1的数据类型,即复合赋值是自带了隐式的强制类型转换的. 第三种情况: short a = 1; sh…
Java中math类的常用函数 在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数.对数.平方根和三角函数等 只要在源文件的顶部加上下面这行代码就不必在数学方法名和常量名前添加前缀" Math" import static java.1ang.Math.*; //常量 Math.E Math.PI //三角函数 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数 Math.acos 反余弦函数…