已知的运算符都有加减乘除,在计算机中对应的是+、—、*、/,用于数学运算,对于这样的基本用法大家已经很熟悉了,我们专门挑重难点来做:
1、“+”号的三种用法:
第一种就是我们常规的数学加法用于整型数据:inta=10+5;
第二种是用于char类型的加法:charb='a';intc=b+3;结果是c=100;相信看了上篇我们提到ASCII码表,就知道'a'对应int值为97;
第三种才是我们的重点,用于连接字符串:Stringstr="Ja",Stringstr1="va";Stringstr2=str+str1;结果是str2="Java";
2、前++与后++的区别:
前++:如inti=1,j;j=i++;则结果为j=1,运算完的i变为2;前++中变量在++前,因此先把变量的值赋给等号左边,再进行自增;
后++:如inti=1,j;j=++i;则结果为j=2;运算后的i也变为2;后++中变量在++后,故先进行自增,再赋值;只需要记住变量在前还是后即可灵活判断。
注意:(1)单独使用时,如:++i或i++,前++与后++一样,都是进行自增运算。
(2)前减减与后减减和加加用法一致,不再举例。
(3)只有变量可以进行加加或减减。
3、“=”的多种用法:
(1)赋值:如inti=19;
(2)+=和-=:如inti=0;i+=1;结果i=2;i+=相当于i=i+1;换成减号时用法一样,也可等效为后++和后--。
(3)*=和/=:与+=用法一致,改变符号即可。inti=9;i/=3;结果i=3、
(4)比较常用的%=取余:inti=10;i%=3;结果i=1;求余数,取整数。
4、这里我们补充一个知识点,在jdk9之后的开发工具中隐含了强制转换。
这一特性被称为“常量优化”,只针对char、short、byte类型的变量在进行数学运算时:
示例如下,注意类型的变化。
我们使用的是JDK11的版本,自动进行了常量优化。
5、关于逻辑运算符中的“短路”现象:
当我们在条件判断时使用&&和||时,根据左边的运算结果已经能够得到整个条件判断的结果时,后边的表达式将不再进行运算,导致右边表达式像被短路了一样不运行。
例如:if((a+=3)>10&&(b+=3)<5),若(a+=3)>10为假,则结果为if(false);那么这时右边的(b+=3)<5将不会被运算,即被短路。
6、三元运算符:
格式:结果=布尔表达式?a:b;布尔表达式的结果为true,则返回结果a;若为false,返回结果b;
使用场景:二选一。
注意,三元运算的结果必须被接收。
例如:intmax=a>b?a:b;//求a与b中的最大值。
7、条件判断中运算符==和!=的注意要点:
==用于基本数据类型时,是判断值是否相等;用于对象时是判断地址是否相等。
若要判断对象的值是否相等,可使用equals方法:对象1、equals(对象2);
使用equals()需注意,对于java自带的工具类中已重写Object类的equals()方法,因此使用equals()方法时是判断值是否相等;
但对于我们自己编写的类的对象,如果我们没有重写equals()方法,则默认判断地址,相当于==。
关于equals()方法的用法,后面我们会再详细介绍。
!=用于判断是否不等,与==相反。
以上就是开课吧广场小编为大家整理发布的“Java基础教程之运算符”一文,更多Java教程相关内容尽在开课吧Java教程频道。
