Java小秘籍之运算符

运算符

运算符是对常量或者变量进行操作的符号,Java的运算符有六类:算术运算符、赋值运算符、自增自减运算符、关系运算符、逻辑运算符,三元运算符。用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。

算术运算符
运算符含义
+
-
*
/
%取余

注意:

  • “/”和“%”的区别:两个数据做除法,“/”取结果的商,“%”取结果的余数。 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

    int x = 7;
    int y = 2;
    System.out.println(x / y);//结果为3
    System.out.println(x % y);//结果为1
    
  • 在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。

    System.out.println(1+1+"等于2");//输出结果为:2等于2
    System.out.println(1+2+"不是"+1+2);//输出结果为:3不是12
    //可以使用括号来改变运算的优先级
    System.out.println(1+2+"不是"+(1+2));//输出结果为:3不是3
    
赋值运算符

​ 赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。

运算符含义说明
=赋值x=1,将1赋值给变量x
+=加后赋值x+=y,将x+y的值赋值给x
-=减后赋值x-=y,将x-y的值赋值给x
*=乘后赋值x*=y,将x*y的值赋值给x
/=除后赋值x/=y,将x/y的值赋值给x
%=取余赋值x%=y,将x%y的值赋值给x
int x = 7;
int y = 3;

System.out.println(x);//结果为:4
System.out.println(x += y);//结果为:10
System.out.println(x -= y);//结果为:4
System.out.println(x *= y);//结果为:21
System.out.println(x /= y);//结果为:2
System.out.println(x %= y);//结果为:1
自增、自减运算符

​ 自增、自减运算符“++”“–”是单目运算符,既可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量,作用是使变量的值增1或减1。

​ ++x(–x)表示在使用x之前,先使x的值增(减)1。

​ x++(x–)表示在使用x之后,使x的值增(减)1。

关系运算符
运算符含义
>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于

注意:

  • 所有的关系运算符的运算结果都是波尔类型,不是true就是false,不可能是其他值。
  • 千万不要把“==”误写成“=”,"==“是判断是否相等的关系,”="是赋值。
逻辑运算符
运算符含义结果
&逻辑与(可以翻译成并且)两边都是true,结果才是true(一假则假)
|逻辑或(可以翻译成或者)有一边是true,结果就是true(一真则真)
!逻辑非(取反)!true = false,!false = true
&&短路与两边都是true,结果才是true(一假则假)
||短路或有一边是true,结果就是true(一真则真)
短路与(&&)和逻辑与(&)有什么区别?

首先这两个运算符的运算结果没有任何区别,完全相同

只不过“短路与(&&)”会发生短路现象。

int x = 2;
int y = 3;
System.out.println(x > y & x > y++);//结果为false
//通过这个测试得出:'x > y++'这个表达式执行了
System.out.println(y);//此时y = 4

//测试短路与(&&)
int p = 5;
int q = 6;
//使用短路与(&&)的时候,当左边的表达式为false,右边的表达式不执行
//这种情况称之为短路。
System.out.println(p > q && p > q++);
System.out.println(q);//此时q=6;
什么是短路现象?

右边表达式不执行,这种现象叫做短路现象。

什么时候使用&&,什么时候使用&?

从效率方面来说,&&比&的效率高效一些。

因为逻辑与(&)不断第一个表达式结果是什么,第二个表达式一定会执行。

在以后的开发中,短路与(&&)和逻辑与还是需要同时并存的。

大部分情况下都建议使用短路与(&&)只要当吉需要左边表达式执行,又需要右边表达式执行的时候才会选择逻辑与(&)。

段落或(||)和逻辑或(|)同短路与(&&)和逻辑与(&)一个道理。
三元运算符
格式
关系表达式 ? 表达式1 : 表达式2;

解释:关系表达式就是判断的条件语句,判断的结果为boolean类型,结果为true则执行表达式1,结果为false则执行表达式2.

int a = 2;
int b = 3;
int c = a > b ? a : b;//判断a > b的真假,如果为真,就取a,如果为假,就取b
//结果为:c=3,因为a > b是假,所以c=b
小拓展
转义字符

​ 转义字符:通过“\”来转变后面字母或者符号的含义。

“\n”:换行。

“\b”:退格。相当于backspace键。

“\r”:按下回车键。

“\t”:制表符。相当于tab键。

instanceof运算符

​ instanceof运算符是二目运算符,左边的操作元是一个对象,右边是一个类。当左边的对象是右边的类或子类创建的对象时,该运算符运算的结果是true,否则是false。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值