Java学习记录(三)

算术运算符与算术表达式

一元运算符

运算符运算用法意义
-取相反值-a将a表示正负的符号取相反
++自加1++a或者a++运算前a自加1或者运算后a自加1
--自减1--a或者a--运算前a自减1或者运算后a自减1

二元运算符

运算符运算用法意义
+加法

a+b

a的值加上b的值
-减法a-ba的值减去b的值
*乘法a*ba的值乘以b的值
/除法a/ba的值除以b的值
%除法a%b

a的值除以b的值取余数

运算关系符

运算符运算用法意义
==等于a==b

当a与b完全相同时结果为true否则为false

!=不等于a!=b

当a不等于b时结果为true否则为false

>大于a>b

当a大于b时结果为ture否则为false

<小于a<b

当a小于b时结果为true否则为false

>=大于或等于a>=b

当a大于等于b时结果为true否则为false

<=小于或等于a<=b

当a小于或等于b时结果为true否则为false

注意:在应用==运算符时比较的是两个对象是否相同,而不是比较内容。

逻辑运算符

运算符运算用法意义
条件非!a当a为假时结果为真否者为假
&&条件与a&&b

当a与b都为真时结果为true否者为假

||条件或a||b当a,b之中有至少一个为真时结果为真否则为假

这里单独说一下^运算符,该运算符为条件异或运算符,因为在c语言中是代表的是平方,所以一开始有点懵。

public static void main(String[] args)
	{
		int a=2;
		int b=2;
		int c=3;
		int d;
		d=a^b;
		System.out.println(d);
		d=a^c;
		System.out.println(d);
	}

这里第一个输出的d为0,因为a的值与b的值相同,而异或运算符当两边的相等为假,用0表示,

同样第二个输出为1,a不等于c,a^c为真,用1来表示。

位运算符

位运算符是将整数转化为二进制数进行运算的,即使用位运算符时先将整数转换为二进制数在进行运算。

位运算符运算用法意义
&按位,与a&ba与b的二进制数按照位,进行与运算
|按位,或a|ba与b的二进制数按照位,进行或运算
^按位,异或a^ba与b的二进制数按位,进行异或运算
~按位,取反~aa的二进制数按位取反
>>算术右移a>>n将a的各位右移n位
<<算术左移a<<n将a的各位左移n位
>>>无符号右移a>>>n将a的各位右移n位,空位补0

 

public static void main(String[] args)
	{
		int a=16;//二进制数为0001 0000(前面的0我没全打出来知道还有就行了)
		int b=15;//0000 1111
		int c=14;//0000 1110
		int d=2;//0000 0010
		int e=1;//0000 0001
		int m;
		m=a&b;
		//a的二进制数与的b的二进制数按对应的位,进行与运算,如对应位0&&1为假取0,全部取完
        //后得0000 0000,只有当对应位上都为1时才取得1,有一个为0则取0
		System.out.println("a与b按位与为:"+m);//输出结果为0
		m=b&c;
		//b的二进制数与c得二进制数按位取进行与运算(同上),有取后为0000 1110换为整数为14
		System.out.println("b与c按位与为:"+m);//输出结果为14
		
		m=a|b;
		//a的二进制数与b得二进制数按位或,如对应位0||1为真取1,结果为0001 1111换为整数为31
		System.out.println("a与b按位或为:"+m);//输出结果31
		m=b|c;
		//二进制数按位或运算后,0000 1111
		System.out.println("b与c按位或为:"+m);//输出结果15
		
		m=a^b;
		/*注意0和1异或,0和0异或都是当或运算,1和1异或时为相反
		这里为  a=1 0000(二位数进制)
		        b=0 1111
		对应为都为0和1的异或,按或取为1 1111=31
		*/
		System.out.println("a与b按位异或为:"+m);//输出结果为31
		m=b^c;
		/* b=0 1111
		 * c=0 1110
		 这里出现了1和1的异或取相反为0,结果为0 0001=1
		 */
		System.out.println("b与c按位异或为:"+m);//输出结果为1
	}

按位取反涉及到计算机的反码与补码,大体上就是正整数取反得其本身+1得负数,负整数取反就是其本身+1的绝对值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值