您的位置:首页 > 职场人生

黑马程序员<java基础笔记一>

2015-06-09 22:06 597 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

class Demo1

{

public static void main(string[]args)

{int x=3;

//+= -=  *=   /=  %=

x+=;//x=x+4;

short s=4;

思考 s=s+5 ;s+=5;的区别

//s=s+5;  s+5运算完是 int 值 这时赋值给S是错误 容易丢失精度

s+=5;   S+=5 是只做赋值运算  这内部有个自动转换动作

 比较运算符 结果都是boolean型  要不是(真) ture, 要么是(假)false

逻辑运算符 & (与)     | (或) ^  (异或) !(非)  &&  (短路)  ||(短路)

class  Demo2

{

public static void main(string[]args)

{ int x=4;

//逻辑运算符用于连接boolean类型的表达式。

6<x>3   用代码表示  x>3 & x<6=  true&true =true;

true&true=true

true&false=false

false&true=false

false&false=false

&:只要两边的boolean表达式结果,有一个为false。那么结果就是false。

只有两边都为 true,结果为true。

true|true=true

true|false=true

false|true=true

false=false

|:两边只要有一个为真,结果为true,两边都为假,结果为false。

^:异或 就是和|有点不一样 当true^true=false。

true^true=false

true^false=true

false^true=true

false^false=false

^:两边相同 结果为false,两边不同  结果为true。

&和&&的特点

& :无论左边是true是false。右边都运算

&&:当左边为false,右边不运算

|和 ||的特点

|:两边都参与运算

||:当左边为true时,右边不运算。

位运算符

3<<1=6 ;  3<<2=12;  3<<3=24;

3*2=6       3*4=12     3*8=24

6>>1=3; 6>>2=1;

6/2=3,   6/2(2)=1,

3<<2 -->3*2(2)

<<:其实就是乘以2的移动的位数的次幂

>>:就是除以2的移动的位数次幂

>>:最高位补什么由原有数据的最高位值而定。

 如果最高位0,右移后,用0补空位

如果最高位1,右移后,用1补空位

>>>:无论最高位是什么,右移后,都用0补。

7^4

  111=7;7^4^4=7;

"^"一个数异或同一个数两次,结果还是那个数。

位运算符 练习

1: 最有效率的方式算出2乘以8等于几?

                         答案   2<<3 

 

2: 对两个整数变量的值进行互换 (不需要第三方变量)  

答案 1 : 通过第三方变量   

   int c=a;a=b;b=c;

  system.out.println("a="+a+,m="+m);

2:不用第三方变量 

 a=a+b

  b= a-b 

  a=a-b

system.out.println("a="+a+,m="+m);

3: a=a^b;

     b=a^b;//(a^b)^b

    a=a^b;//a^(a^b)

system.out.println("a="+a+,m="+m);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: