本帖最后由 NUMONE 于 2015-10-28 21:10 编辑
计算的运算是在内存中的。求余算法中余数的正负看第一个数的正负。
1%-3=1;
-1%3=-1;
字符串和任何数据相加结果都会变成字符串。
"5+5="+5+5; 输出结果为:"5+5=55"
转义字符:\n \b \r \t linux下回车:\n
win下回车:\r\n
dos下回车:\n
char2个8位,char="你"。
-----------------------------------------
算术运算、赋值运算、比较运算、逻辑运算、位运算
&: just t&t=t;
|: just f | f=f;
^: 同假异真
&与&&的特点:&左右都判断。&&左假右不做判断。|与||同理。
-----------------------位运算------------------
最快的运算就是位运算,局限性是只能是2的位数。在内存中4个8位。左移乘法,右移除法。
3<<2======3*(2的2次)=12
6>>1======6/(2的1次)=3 6>>2========6/(2的2次)=1
>>与>>>的区别:
>>:补数看高位。
>>>:不论高位是0,1,都拿0补。
-----------------------^运算------------------
一个数异或同一个数两次还是这个数。用于加密。加密算法有与或异或等。
7^3^3=7
小知识:
~表示反码。 ~6=-7, -6的负数表现形式为~6+1。
Integer.toBinaryString(60)。打印60的二进制。
举个栗子:
short x=4;
s=s+5;(错,2碗水+4碗水,赋给2碗水)
s+=5;(对,只做赋值运算,内部有自动转换动作)
练习一:2*8最快的运算方法。
练习二:连个整数变量值互换,不用第三方变量。(使用第3方变量。不使用第3方变量)
a.有局限性。如果n,m值非常大,容易出int范围。
n=n+m;
m=n-m;
n=n-m;
b.
n=n^m;
m=n^m;
n=n^m;
|
|