运算符及运算符的优先级

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

①算数运算符

在这里插入图片描述
(前)++:先自增1,后运算
(后)++:先运算,后自增1
(前) - -:先自减1,后运算
(后) - -:先运算,后自减1

②赋值运算符

在这里插入图片描述
当“=”两侧数据类型不一致时,可使用自动类型转化或者强制类型转换原则进行处理。支持连续赋值。
拓展赋值运算符:
(1).在开发中如果希望变量实现+2的操作,有以下两种方式:(前提:int num = 10;)
方式一:num = num + 2;
方式二:num += 2;(推荐)

(2).在开发中如果希望变量实现+1的操作,有以下三种方式:(前提:int num = 10;)
方式一:num = num +1;
方式二:num += 1;
方式三:num++;(推荐)

③比较运算符(关系运算符)

在这里插入图片描述
比较运算符的结果都是Boolean型,也就是在true和false中二选一
比较运算符在使用时需要注意一个问题,不能将比较运算符“==”不能误写成赋值运算符“=”。

④逻辑运算符

在这里插入图片描述
逻辑运算符操作的都是布尔型的变量

区分&和&&

class Test{
	public static void main(String [] args){
	boolean b1 = true;
	b1 = false;
	int num1 = 10;
	if(b1&(num1++>0)){
	System.out.println("我在北极");
	}else{
	System.out.println("我在南极");
	}
	System.out.println("num1 = "+ num1);
    //******************************
	boolean b2 = true;
	b2 = false;
	int num2 = 10;
	if(b2 &&(num2++ > 0)){
	System.out.println("我在北极");
	}else{
	System.out.println("我在南极");
	}
	System.out.println("num2 = "+ num2);
	}
}

总结:
相同点:1.&与&&的运算结果相同。2.当符号左边是true时,二者都会执行符号右边的运算。
不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。

区分:|和||

class Test{
	public static void main(String [] args){
	boolean b3 = true;
	b3 = false;
	int num3 = 10;
	if(b3 | (num3++>0)){
	System.out.println("我在北极");
	}else{
	System.out.println("我在南极");
	}
	System.out.println("num3 = "+ num3);
    //******************************
	boolean b4 = true;
	b4 = false;
	int num4 = 10;
	if(b4 || (num4++ > 0)){
	System.out.println("我在北极");
	}else{
	System.out.println("我在南极");
	}
	System.out.println("num4 = "+ num4);
	}
}

总结:
相同点:1. | 与 || 的运算结果相同。2.当符号左边是false,二者都会执行符号右边的运算。
不同点:当符号左边是true时,| 继续执行符号右边的运算。 || 不再执行符号右边的运算。

开发中推荐使用&&和 ||

⑤位运算符(了解即可)

在这里插入图片描述
在这里插入图片描述
位运算是直接对整数的二进制进行的运算。
结论:位运算符操作的都是整型的数据
<<:在一定范围内,每向左移一位,相当与*2
>>:在一定范围内,每向右移一位,相当于/2

⑥三元运算符

在这里插入图片描述
1.结构(结构表达式)?表达式1:表达式2;
2.说明:①条件表达式的结果为Boolean类型
②根据条件表达式为真或假,决定执行表达式1,还是表达式2
如果条件表达式为true,则执行表达式1
如果条件表达式为false,则执行表达式2
③表达式1和表达式2要求是一致的
④三元运算符可以嵌套使用
3. 凡是可以使用三元运算符的地方,都可以改写为if-else。 反之,不成立。
4. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。
因为它简洁、执行效率高。

class Test{
	public static void main{(String[] args){		
	//获取两个整数的较大值
	int m = 12;
	int n = 5;
	int max= (m>n)?m:n;
	System.out.println(max);

	double num = (m > n)?2:10;
	n = 12
	String maxStr  (m>n)?"m大"((m==n)?"m和n相等":"n大");
	System.out.println(maxStr);
	//*****************************
	//获取三个数的最大值
	int n1 = 12;
	int n2 = 30;
	int n3 = -43;
	
	int max1 = (n1 > n2)? n1 : n2;
	int max2 = (max1 > n3)? max1 : n3;
	System.out.println("三个数中的最大值为:" + max2);
	//不建议
	//int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3;
	System.out.println("三个数中的最大值为:" + max3);
	//该写成if-else:
	if(m > n){
	System.out.println(m);
	}else{
	System.out.println(n);
	}
}

运算符的优先级

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序(如图)
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值