Java笔记(3)

Java语言基础(3)

运算符

1.算术运算符

运算符运算
+加或正号或连接字符串
-减或负号
*
/
%取模
++自增
--自减

++在前时,先自增,后使用;a=2;b=++a;a=3,b=3;

++在后时,先使用,后自增;a=2;b=a++;a=3,b=2;

--在前时,先自减,后使用;a=2;b=--a;a=1,b=1;

--在后时,先使用,后自增;a=2;b=a--;a=1,b=2;

2.赋值运算符

运算符运算
=赋值
+=a+=b  => a=a+b
-=a-=b  =>  a=a-b
*=a*=b  =>  a=a*b
/=a/=b  =>  a=a/b
%=a%=b  =>  a=a%b

3.比较运算符

运算符运算
==相等于
!=不等于
<小于
>大于

<=

小于等于
>=大于等于
instanceof检查是否是类的对象

比较运算符返回的都是boolean值

4.逻辑运算符

运算符运算
&AND(与)
|OR(或)
^

XOR(异或)

Not(非)
&&AND(短路与)
||OR(短路或)

&和&&的区别

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

5.位运算符

运算符运算范例
<<左移3<<2=12 --> 3*2*2=12
>>右移3>>1=1 --> 3/2=1
>>>无符号右移3>>>1=1 --> 3/2=1
&与运算6&3=2
|或运算6|3=5
^异或运算6^3=5
~反码~6
位运算符的细节
<<空位补0,被移除的高位丢弃,空缺位补0
>>

被移位的二进制最高位是0,右移后,空缺位补0;

最高位是1,空缺位补1

>>>被移位二进制最高位无论是0或者是1,空缺位都用0补
&二进制位进行&运算,只有1&1时结果是0,否则结果是1
|二进制位进行|运算,只有0|0时结果是0,否则结果是1
^任何相同二进制位进行^ 运算,结果是0;1^1=0 , 0^0=0
不相同二进制位^ 运算结果是1。1^0=1 , 0^1=1


我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:

<<        左移            将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。
>>        右移            将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。右移几位就相当于除以2的几次方。
>>>      无无符号右移    将二进制的每一位向右移,高位补0。正数移动没区别,负数移动后变为正数。

练习: 有两个int型变量a和b,在不使用第三个变量的情况下交换两个变量中的值

/**
 有两个int型变量a和b,
 在不使用第三个变量的情况下交换两个变量中的值
*/
class SwapTest 
{
	public static void main(String[] args) 
	{
		int a,b;
		a = 3;
		b = 4;
		System.out.println("交换前:a="+a+";b="+b);
		swapNum(a,b); //调用方法,传参		
	}

	//定义方法体
	public static void swapNum(int a, int b)
	{
		a = a^b;
		b = a^b;
		a = a^b;
		System.out.println("交换后:a="+a+";b="+b);
	}
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值