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

------<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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值