首页 > 代码库 > 黑马程序员——java基础--运算符、位操作
黑马程序员——java基础--运算符、位操作
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
<pre name="code" class="java">public class test{ public static void main(String args[]){ byte b = 3; b = b + 2; System.out.println(b); } }这段代码输出结果是错的,因为byte占一个字节,没有定义的整数2占4位,b+2相加强制转换成int型,然后赋值给b,但是b只有1位,所以会报错,正确代码:
public class test{ public static void main(String args[]){ byte b = 3; b = (int)(b + 2); System.out.println(b); } }2.System.out.println和System.out.print的差别,前者包含了\n转移字符,自动换行。
java常见的几种转义字符:
\n:换行
\b:退格
\t:制表符,相当于Table
\r:回车,相当于\n
3.运算符
①算术运算符+,-,*,/,%
强调两个运算符:/和%
eg:
int x = 4250;
x = x/1000*1000;
结果不是4250,而是4000。
%运算符不能有小数,并且余的时候结果的符号取决于前面的数。
1%-5 = 1;
-1%5 = -1;
*法运算符使用的时候避免溢出就好。
特别强调一下++和--运算符,a++,++a,b--,--b;
运算符在前面则是先赋值后运算,在后面的话就是先运算后赋值。
②:逻辑运算符& | ^ ! &&||
&&和||又叫做短路运算符
&&、&、||、|运算符的区别:a(&&、&、||、|)b
&&当a为假的时候,b不必判断,||当a 为真的时候,b不必判断,|和&不管a为真还是假b都判断。
③:链接运算符+
ava中+表示链接运算符,当字符串与任何数据连接后,最终都变成了字符串。
④:位运算符<< >> ^ >>> & | !
>>有符号右移
>>>无符号右移
位运算符计算效率比较高,当同一个数^同一个数两次这个数值不变,eg7^4^4=7.
两个数交换:
方法一:变量法
temp = a;
a = b;
b = temp;
方法二:
a = a +b;
b = a-b;
a = a-b;
方法三:
a = a ^ b;
b = a^b;
a = a^b;
>>运算符:若为负数,则最高位补的位基本上就是1,当然,由原有最高位决定,所以运算的时候常常使用>>>。
取一个数的最低四位用&,eg:60的最低四位为1100,
就可以用60&15, 0011 1100
0000 1111
------------------
0000 1100
如果是倒数第二个四位,就可以把最低四位取了,然后再&,怎么去呢,当然是右移喽,60 >>> 4 & 15.
0011 1100
>>> 0000 0011
& 0000 1111
-------------------------
0000 0011
这样就ok喽。
黑马程序员——java基础--运算符、位操作