运算符,优先级,结合性,交换数据的三种方式

优先级和结合性

运算符的运算优先级共分为15级,1级最高。在表达式中,优先级较高的先于优先级较低的进行运算。 而在一个运算量两侧的运算符优先级相同时, 则按运算符的结合性所规定的结合方向处理。左结合性:如有表达式x-y+z则y应先与“-”号结合, 执行x-y运算,然后再执行+z的运算;右结合性:如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。【优先级见最下方 图1-1】

运算符分类

1.算数运算符
1).概述:对数据进行算数运算的符号
2).分类:
1.常见的算数运算符:+、-、*、/、%

常见的运算符用法
+数学加法;正数;拼接
-数学减法;负数
*数学乘法
/数学除法
%取余
*注意:
+:字符串与任意数据类型做+(拼接)时,会先把其他类型转变为字符串,再拼接为更长的字符串
-:字符之间也可减法
/:整数与整数相除还是整数(直接取整)
%:只能用于整数

2.还有的算数运算符:++ 、 - -

	注意分为前加加(减减)和后加加(减减),例如:++n:先做自加运算;n++:做完其他操作,再做自加运算

2.赋值运算符:
基本赋值运算符:=
扩展赋值运算符:复合算数赋值(+=、-=、*=、/=、%=)、复合位运算赋值(&=、|=、^=、>>=、<<=)、>>>=

  • 用法:右边数据与左边数据运算后,再赋值给左边,例如:
	int i=10;
	i +=1;
	Ssytem.out.println(i);//11

3.比较运算符:
判断是否相等:==、!=
比较大小:>、<、>=、<=

	注意:整数、小数、字符类型可以比较大小

比较结果为:true、false
4.逻辑运算符:
含义:用于处理逻辑值,判断是非的一些运算符
分类:

  1. 基本逻辑运算符:&、|、^、!
  2. 短路逻辑运算符:&&、||
逻辑运算符用法
&(逻辑与)全真为真,其余为假
\(逻辑或)见真为真,其余为假
^(逻辑异或)不同为真,相同为假
!(逻辑非)取反
&&(短路与)全真为真,其余为假 【&&前面为false时,不在继续运算,直接为false】
\\(逻辑或)见真为真,其余为假【\\前面为true时,不在继续运算,直接为true】

&:

判断字符是否为大写字母
char x='A';
System.out.println(x>='A' & x<='Z');
//true

|:

判断字符是否为字母
char x='A';
System.out.println((x>='A' & x<='Z')|(x>='a' & x<='z'));
//true

&&:

int i=100;
boolean b1=i<1 && i++>200;
System.out.println(i);
//结果为100,说明前面为false时,直接结束运算了

||:

int j=100;
boolean b2=j++<1000 || j-->200;
System.out.println(j);
//结果为101,说明前面为true时,直接结束运算了

5.条件运算符(三元运算符、三目运算符)
格式:表达式1 ? 表达式2 :表达式3
说明:

  1. 表达式1运算结果必须为boolean类型
  2. 表达式2和3必须有运算结果,类型不限
  3. 表达式1为true,结果为表达式2;表达式1为false,结果为表达式3
//判断奇偶性
int i=1;
System.out.println(i%2==0?"偶数":"奇数");

6.位运算符
含义:参与运算的量,按二进制位进行运算
分类:位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)、无符号右移(>>>)

符号用法(0为false,1为true;都操作补码)
&全1为1,其余为0
/全0为0,其余为1
^相同为0,不同为1
~1变0,0变1
<<左移一位,翻倍
>>右移一位,减半
>>>右移一位,减半(针对正数)
eg:
1)5&20=4
	将5和20都变成补码,再根据规则得到结果的补码,再将结果补码变成原码,得到最终结果4
2)3^5^5=3
	**异或同一个整数两次得到本身**
3)20<<1 = 40
   20>>1 = 20
   -5>>1 = -3
   20>>>1= 10
  • 交换数据的三种方式
	int a = 10;
	int b = 20;
//第一种:
	int c ;
	c=a; 
	a=b;
	b=c;
//第二种:
	a = a+b;
	b = a-b;
	a = a-b;
//第三种:
	a = a^b;
	b = a^b;
	a = a^b;
	

7.逗号运算符
含义:用于把若干表达式组合成一个表达式
符号:,
8.指针运算符
含义:用于取内容和取地址二种运算

符号用途
*取内容
&取地址
9.求字节数运算符
含义:用于计算数据类型所占的字节数
符号:sizeof
10.特殊运算符
有括号(),下标[],成员(→,.)等几种

在这里插入图片描述
(图1-1)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年_H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值