首页 > 代码库 > 黑马程序员——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基础--运算符、位操作