这是我参与11月更文挑战的第 14 天,活动详情查看:2021最后一次更文挑战
运算符概述
运算符是指对操作数的运算方式。运算符按照其要求的操作数数目来分,可以由单目运算符(1个操作数)、双目运算符(2个操作数)和三目运算符(3个操作数)。按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、字符串连接运算符和其他运算符。
运算符详解
1,算术运算符
算术运算符包括:+、—、*、/、% (两个数字取模或者求余)、++ (单目运算符,对数字自加1)、--(单目运算符,对数字自减1)。
++ 或-- 可以出现在变量前也可以在变量后。++ 出现在变量后会先进行赋值运算,在自加1;++ 出现在变量前会先加1,在进行赋值运算。
2,关系运算符
关系运算符就是完成数据与数据之间的比较,看以下代码:
class RelationOperatorTest{
public static void main(String[] args){
int a=10;
int b=10;
System.out.println(a>b);//结果是FALSE
System.out.println("abc".equals("abc");//结果是true
/*比较两个字符串是否相等,不能使用“==”,必须调用equals方法*/
}
}
通过以上代码可以看出,任何一个关系运算符的运算结果都是布尔类型,最后结果不是true就是false,没有其他值。
3,逻辑运算符
逻辑运算符主要包括逻辑与(&),逻辑或(|),逻辑异或(^),短路与(&&),短路或(||)。所有逻辑运算符的特点是操作数都是布尔类型,并且最终的运算结果也是布尔类型。
规则见下表:
| 操作符 | 例子 | 结果 | 描述 |
|---|---|---|---|
| & | ture&ture | true | (5>3)&(5>4):5大于3并且5大于4,有道理 |
| ! | !false | true | false取反是true,true取反是false |
| true^false | true | 异或运算符,只要两边的操作数不同,结果就是true | |
| && | true&&true | true | 短路与(&&)和逻辑与(&)最终结果相同,只不过短路与(&&)会存在短路现象。 |
举个例子,短路与(&&)在左边的表达式结果为false 的时候,右边的表达式则不再执行,这种现象就叫做短路现象。这种机制使得其效率更高一些,所以在实际开发中短路与(&&)要比逻辑与(&)用的多一些。
4,条件运算符
条件运算符属于三目运算符,它的语法结构是:布尔表达式?表达式1:表达式2. 它的运行原理是这样的,先判断布尔表达式的结果是true 还是 false,如果是true ,则选择表达式1的结果作为整个表达式的结果,反之则选择表达式2的结果作为整个表达式的结果。 看下代码进行体会:
class ConditionalOperatorTest{
public static void main(String[] args){
boolean sex=true;
char gender=sex?'男':'女';
System.out.println("性别:"+gender);//结果是:男
boolean sex=false;
char gender=sex?'男':'女';
System.out.println("性别:"+gender);//结果是:女
}
}
由此可见,条件运算符和if 控制语句可以达到同样的效果。但条件运算符会让代码看起来更加整洁,达到意想不到的效果。
5,字符串连接运算符
在Java 编程中对字符串的操作是非常频繁的,例如字符串的连接操作,此时就需要用到 “+” 字符串连接运算符了。
实际上“+”运算符在Java 中有两个作用。一,对数字进行求和运算;二,字符串连接运算。那什么时候进行求和,什么时候进行连接呢?简单的理解:当两边的操作数都是数字的话,一定会进行求和运算,只要其中一个操作数为字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果还是字符串类型。
总结
本篇不仅仅是在Java语言中可以使用,在其他编程语言中也可以使用。运算符在实际的开发中使用频率很高,我们应学好每一个运算符的用法,为后面的学习打下扎实的基础!