Java——运算符

1.运算符和表达式

运算符:对常量或变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合Java语法的式子

int a = 5;
int b = 10;
int c = a + b;
//+:是运算符
//a + b:是表达式

2.算术运算符

  • 加、+
  • 减、-
  • 乘、*
  • 除、/
  • 取余、%
  • (前)++、(前)- -:先自增自减,后运算
  • (后)++、(后)- -:先运算,后自增自减
  • 字符的 “+” 操作:拿字符在计算机底层对应的数值来进行计算的
  • 字符串的 “+” 操作:
    在 “+” 操作中出现字符串时,这个 “+” 是字符串连接符,而不是算数运算符
    在 “+” 操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行 “+” 操作时,从左到右逐个执行(碰到字符串就作连接符)
System.out.println("nb" + 66 + 6)//nb666
System.out.println(6 + 66 + "nb")//72nb,“+”先做运算符,碰到nb 作连接符

3.赋值运算符

  • =
  • +=、-=、*=、/=、%=(扩展运算符)
  • 扩展运算符隐含了强制类型转换
 int i = 10;//把10赋值给int类型的变量i
 int a = 10;
 a += i;//把a + i 的值给a 等价于 a = a + i
 a *= i;//把a * i 的值给a 等价于 a = a * i

 short b = 10;
 b += 20;//30 隐含了强制类型转换: b = b + (short)20
 b = b + 20//报错,20是int类型的,b为short类型

4.比较运算符

  • ==:等于,判断两个值相等,一定是双=
  • !=:不等于
  • >
  • <
  • >=
  • <=

特别说明

  • 比较运算符的结果都是boolean类型
  • > < >= <= :只能使用在数值类型的数据之间。
  • == 和 !=:不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。

5.逻辑运算符

  • &:与
  • |:或
  • &&:短路与
  • ||:短路或
  • !:非
  • ^:异或

区分&与&&

  • 相同点1:&与&&的运算结果相同
  • 相同点2:当符号左边是true时,二者都会执行符号右边的运算
  • 不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算
  • 开发中,推荐使用&&
		boolean b1 = true;
		b1 = false;
		int num1 = 10;
		if(b1 & (num1++ > 0)){
			System.out.println("hello");
		}else{
			System.out.println("hi");
		}

		System.out.println("num1 = " + num1);
		boolean b2 = true;
		b2 = false;
		int num2 = 10;
		if(b2 && (num2++ > 0)){
			System.out.println("hello");
		}else{
			System.out.println("hi");
		}

		System.out.println("num2 = " + num2);

区分|与||

  • 相同点1:|与||的运算结果相同
  • 相同点2:当符号左边是false时,二者都会执行符号右边的运算
  • 不同点:当符号左边是true时,| 继续执行符号右边的运算,而 || 不再执行符号右边的运算
  • 开发中,推荐使用||
		boolean b3 = false;
		b3 = true;
		int num3 = 10;
		if(b3 | (num3++ > 0)){
			System.out.println("hello");
		}else{
			System.out.println("hi");
		}
		System.out.println("num3 = " + num3);
		boolean b4 = false;
		b4 = true;
		int num4 = 10;
		if(b4 || (num4++ > 0)){
			System.out.println("hello");
		}else{
			System.out.println("hi");
		}
		System.out.println("num4 = " + num4);

6.三元运算符

  • 格式:关系表达式 ? 表达式1 : 表达式2;
  • 范例:a > b ? a : b
  • 计算规则:首先计算关系表达式的值,如果值为true,运行表达式1;如果值为false,运行表达式2
  • 表达式1和表达式2要求是一致的
  • 三元运算符可以嵌套使用
  • 凡是可以使用三元运算符的地方,都可以改写为if-else。反之,不成立。
  • 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值