java学习笔记--运算符

java运算符

运算符:用来指明对于操作数的运算方式

按照操作数的数目来进行分类

单目运算符
例如:a++

双目运算符
例如: a+b

三目运算符
例如:(a>b)?x:y (表示如果a>b为真,执行(或输出)x,否则执行y)

按照运算符的功能来进行分类

一、算术运算

+(加),-(减),*(乘),/(除), %(取余,取模)
++(自增) ,- -(自减)

public class Text{
	public static void main(String[] args){
		int x = 1;
		int y = x++;//先赋值,后自增
		System.out.println("x = "+x+"  "+"y = "+y);
		//x = 2  y = 1
	}
}
public class Text{
	public static void main(String[] args){
		int x = 1;
		int y = ++x;//先自增,后赋值
		System.out.println("x = "+x+"  "+"y = "+y);
		//x = 2  y = 2
	}
}

特别的有:

public class Text{
	public static void main(String[] args){
		int x = 1;
		for(int i=1;i<=100;i++){
			x = x++;
		}
		System.out.println(x);
		//x = 1
	}
}

二、赋值运算

= 赋值符号
将 = 右边的内容(或值,或引用)存入到 = 左边的变量空间内。
+= , -= , *= , /= , %=

int x = 1;
x+= 10;// <==>  x = x+10;

关系运算符(比较)

<(小于) , <= (小于等于), >(大于) , >=(大于等于), !=(不等于) , ==(等于)

1) = 与 == 的区别

= 是赋值符号,将 = 后面的结果(值 或引用)存入 = 左边的变量空间内。
== 是比较符号,比较 = = == == 前面和 = = == == 后面的元素(值 或引用)是否一致。

2)比较运算符的最终结果是什么?

比较运算符的最终结果是boolean类型: true或者false。
例如:
(3<8)–>true
(5>6)–>false

三、逻辑运算.

逻辑运算符前后连接的两个都是boolean类型的值,逻辑运算最终的结果还是boolean类型。

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

(3>2)&(5<6) ==> true
&逻辑与 表示:和,并且。前后两个全为true,整体才能为true

(6<8)|(9>15) ==> true
|逻辑或 表示:或。前后两个,只要有一个为true,整体便是true,只有两个都为false时,才为false。

(6>2)^(7>1) ==> false
^逻辑异或 表示:异(不同的)。前后两个的结果不一致,整体便为true。

!(5>3) ==> !true = = == ==>false
!逻辑非 表示取反。将原来的结果取反。

总结:
&逻辑与可以理解为中文的"和", 并且”意思&前后两个条件必须同时满足最终才为true。

|逻辑或可以理解为中文的“或者" I前后两个条件只要有一个满足最终就为true。

^逻辑异或前后两个表达式只要结果不相同最终结果就为true(专治强迫生)

!逻辑非可以立即为中文的“不"将原来的结果取反

(3>1)&&(4>2) ==> true
&&短路与 :前后两个条件同时满足才为true,如果当第一个条件已经为false时,最终肯定为false,便不会执行(运行)第二个(后面)条件,这便是短路。
&&短路与
1)短路什么情况下才会发生短路?
当前面的值结果为false的时候会发生短路。
2)短路到底短路的是什么?
短路的是&&之后所有计算(执行或者判断)的过程。
3)如果发生了短路情况性能比&稍微好点。
4)&逻辑与和&&短路与从执行的最终结果来看没有任何区别。
5)短路与不一定提高了性能只有当前面为false的时候才会发生短路才会提高性能。

||短路或类似
||短路或 :前后两个条件有一个为true,则整体为true,如果当第一个条件已经为true时,最终肯定为true,便不会执行(运行)第二个(后面)条件。

四、位(bit)运算

&按位与
I按位或
^按位异或
~按位取反
< < << <<按位左位移
> > >> >>按位右位移
> > > >>> >>>按位右位移(无符号)

例如:

public class Text{
	public static void main(String[] args){
		System.out.println(5^3);
		//结果为:6
	}
}

5^3
1.将5和3转化成二进制表示形式。
在这里插入图片描述
(int型为32位,这里省去了前面的24个0)
2.竖着按照对应位置进行异或运算(1–>true,0–>false)。
3.将计算后的二进制结果转化成十进制。
4.&按位与,I按位或和~按位取反 类似

< < << <<按位左位移
例如:
6<<2 ==24
在这里插入图片描述
> > >> >>按位右位移
在这里插入图片描述
> > > >>> >>>按位右位移(无符号)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值