00:00
大家好,我是海波老师,接下来我们来学习Java中的算术运算符啊,咱们写上咱们的算术啊运算符好,那么咱们的算术运算符啊,咱们这里说了啊,它分两个,一个叫二元运算符,一个叫一元运算符,咱们写上。咱们叫二元啊运算符,还有一个我们叫一元运算符。那么怎么理解里面的二元和一元的概念呢?其实也很好理解啊,所谓的二元运算符呢,就是我们的两个啊来咱们的两个元素,它参与咱们的运算的运算符A就是这样的,呃,举个例子啊,咱们的一加二对吧?那么一加二当中的这个加号,这个符号啊,它就属于二元运算符了,那么一和二呢,就是我们的两个元素,这个还是比较好理解,对不对?那么相对应的呢,我们的一元运算符呢,就是我们一个元素,它参与运算的运算符了,所以我们写上它,哎,咱们的一元运算符。好,接下来我们来分别演示一下二运算符和一元运算符的使用,那么首先我们先看二运算符来往下。
01:05
那么二运算符的使用呢,相对来说还是比较简单的,咱们小学学的那些什么加减乘除啊,它的运算呢,就属于我们的二运算符的运算啊,那么我们这里呢,直接写上啊,咱们写上它,我们叫做打印,咱们写上一,再加上二,哎,非常简单是吧,一个加法运算,那么我的一和二就是两个元素了,它们的结果呢,应该就是我们的三了,诶好了,咱们再来复制一下,我们再写上一个什么呢?二减去二,这个减号呢,就是一个横线了,对不对,那么我们这个二减二,那不用说了,减法呢,就是零了嘛,非常简单啊好,再来一个,我们写上一个三,我们再写上一个什么呢?我们的星号,在加法当中,我们的星号表示乘号的意思,所以三乘二它的结果应该是我们的六啊,还有一个呢,我们写上一个四。我们有个加减乘除,那这个除呢,就是一个斜杠,这个斜杠呢就表示除法,所以四除以二结果应该为二就可以了,那么除了加减乘除以外,还有一个用的比较多一些,就是我们的百分号,这个百分号呢,我们称之为叫取啊,所以呢,我们来写上它,我们叫取。
02:07
咱们也称之为呢,叫模运算啊,咱们叫模运算,诶好了,那么取余数的话,那我五给它做一个模运算,取余的话,那么五除以二,那么余数不应该是一嘛,所以我们的结果呢,应该就是一,好了,那我们写完以后,咱们运行一下,看看结果吧,运行。运行以后30621,这是我的实际结果,这个是我的预期结果,没有任何的问题,对不对?好了,确实比较简单啊,但是简单是简单,但是我们有几个地方需要注意一下,首先我们这个四除以二呢,我们来复制一下,我把这个四呢,我改成一个一,哎,同学们这个结果应该是多少呢?我相信啊,同学们一看,这不还是小学数学嘛,对不对,我们一除以二,那不就是小数当中的零点五一半的感觉嘛,对不对?所以呢,我们这里的结果应该是什么?0.5。对不对,应该是吧,所以呢,我们运行一下,运行以后看结果。
03:01
运行以后你就会发现它的结果并不是0.5,而是零对,老师,这是什么意思啊,一除以二的结果不就应该是0.5吗?这里呢,就得给大家解释一下了,咱们的二元运算符呢,是这样的,咱们叫元素一,咱们的二元运算符,然后再写上我们的元素二,其实啊,我们把元素和我们的运算符组合在一块儿,它就形成了一个叫算术表达式,诶就是这样的,这个算术表达式的基本写法呢,其实就是这样,但是你要注意这个我们的表达式它是有结果的。那么既然有结果,它就需要有类型,哎,老师呀,那我们这个表达式的结果是什么类型呢?这里给大家解释一下这里的啊,这里的类型它是什么呢?是我们元素中类型最大的那一种,哎,老师,什么意思啊,咱们回头看一下啊,咱们这里的除法运算A就是我们的二运算符了,那么一和二它们组合在一块就是一个算术表达式,那么它的结果呀,其实它的类型就是看看它们一和二哪个类型更大一些,那么我们这里一是个int类型,我们的二也是个int类型,所以它们组合在一块就是我们的int int,对吧?那你想想吧,你int int的结果不还是int吗?诶,所以呢,我们应该是个int,老师,不对呀,那你这个结果是0.5啊,诶,对了,你的结果是个double类型,但是我们的类型是一个int,所以它就不可能有小数,也就意味着它这里就会把小数去掉,因为它没有所谓的四舍五入,所以啊,我们的零。
04:36
0.5,把小数去掉,那可不就是零吗?哎,老师,那我怎么能得到0.5呢?其实很容易,我不说了吗?我们要取决于我们类型当中哪一个大,咱们就是哪一个,那我如果把这个一我改成1.0,大家想想什么意思?那么这个时候它里面的int不就变成double了吗?如果你变成double了,Double和int它大呀,所以它的结果应该是double,对不对?诶,就是这个意思,所以啊,咱们现在来看一看运行。
05:06
运行以后你看结果,你会发现它确实就是0.5,诶你看这就没问题了,所以啊,这是我们需要注意的地方啊,类型最大的那一个是它的结果类型。但是呢,除了这个以外,还有个小细节需要大家注意,我们这里的类型啊,它有一个最小,它最小使用的类型为我们的int类型,哎,老师这是什么意思啊,哎,给大家说一下,来这里咱们给它注掉。做掉以后呢,我们这里写上它,咱们叫做bit,给它一个B1等于十,然后呢,我们再来一个B2啊,咱们再来一个我们的B2,给它一个20行了,那我的B1啊,我的B一再加上B2,诶,这个不就是两个元数吗?这个加号不就是二位运算符吗?它就是一个算数表达式,那么它的结果,记住同学们,咱们来看一看它的这个结果呀,来写上它,咱们叫bite,然后呢,我们叫bit,如果按照我们之前的分析的话,那么它的结果当中应该也是BY,所以呢,我们把它的结果写上一个BY,叫B3,你会发现这是不对的。
06:08
为什么不对,你把鼠标放上去。我们的idea会提示你,你现在得到的是一个int类型的值,可是呢,你需要的是一个bitt类型,有冲突了,为什么?我说过了,最小使用的类型为int类型,这就意味着你虽然说给的是个bitt,但是它会自动的转成类型int,所以把BYT变成int,把这个也变成int,那么它的结果就是int,你把一个int给BYT,当然是不允许了,诶,老师,那该怎么改呢?其实比较简单,你在这里呢,把它包起来。对吧,包起来,包起来以后,你在前面加一个括号,强制转换一下,我们叫做BY对吧,强制类型转换就可以了,哎,所以这是一个细节啊,同学们稍微的注意一下好了,那说到这个括号呢,我们需要再给大家补充一下,咱们来往下看一看,比方说我打印一下,我们写上一,再加上二,再乘以三,我把上面的给它注掉。
07:05
同学们,这个结果是多少啊?那我相信同学们一看这题也简单嘛,这不还是我们的小学数学吗?这里面一个加法,一个乘法,那么我们的这个运算呀,它是有优先级的,那么乘法要优先于我们的加法,所以二乘三先计算是六,一加六是七,所以这个结果应该是七,没问题吧。诶,没错,我们的结果应该就是七,因为咱们Java中也有这个优先级的概念,大家看一下就是七,没错,但是呢,我想改变它的这种什么,我们执行顺序,我想让一和二先计算,那么我再乘以三怎么办?那这个时候呢,我们就需要去把一和二先给它加起来,那么先加的话,我就加上一个小括号。这里的小括号呢,其实就是改变了它的什么计算顺序先,我们优先把小括号内的运算先执行了,所以啊,一加二等于三,三乘以三应该就是九。我们加号中会有很多的运算符,他们都会有不同的优先级,如果你每一个都去记的话,那么这个太麻烦了,所以我们也不用去记啊,我们只要把我们想先计算的运算符加上括号其实就可以了啊,来咱们运行一下,看看结果,运行运行以后我们会发现我们的结果就是七和九跟刚才说的是完全相同的啊。好了,同学们,我们二元运算符就先讲到这里。
我来说两句