00:00
行,那么接接着昨天的内容呢,往下讲,讲完边量以后呢,我们下边来系统来说一下Java当中都有哪些运算符,那实际上呢,昨天我们已经也用过一些了,比如说呢,像这个加减乘除啥的啊,像这个string呢,和其他数据基本数据类型的这个连接啊,这其实已经算是运算符了,但是呢,这只是属于运算符其中的几个而已,那下面的话呢,我们系统的来讲一讲Java当中都有哪些运算符。啊,Java中的运算符呢,哎,我这呢给它归了归类,那一共呢,可以分成这样的一些类,第一类算术运算符啊,复值运算符,比较运算符,或者也叫做关系运算符,逻辑运算符,位运算符,三运算符啊整体的话呢,就这样一些啊这呢是我们这个Java层面的,那其他的语言的话呢,也都会定义一些运算符,但是呢,不一定有Java这么丰富。当然也有可能有些这个Java没有的其他运算数,那其他语言有的啊,也不排除在这呢,大家主要呢,就关注Java是定义了哪些运算数,我们平常都怎么用。
01:09
好,然后在这些运算符当中呢,我这有一个紫色的,这颜色啊叫未运算符,对这个呢,我其实就想表示它跟别的不太一样啊,就是说呢,他呢,我们开发中用的比较少一些,哎,所以讲到这儿的时候呢,当然这个它大家可能刚开始学习感觉稍微有点难度似的啊,哎,这个呢,我们讲的时候呢,大家注意一下,就是你主要听一听,呃,咱们开发中基本上很少去用位运算符。但是呢,我们后边呢,看系统的一些源码的时候呢,诶会出现位运算符,到那个时候呢,你知道人家用这个符号想干什么事儿就可以了,哎,咱们讲的时候也会说,哎,真正咱们自己用的话呢,用它比较少,那除了位运算运算符之外呢,其他一些运算符,那我们开发当中还都是会用的啊,像这些算元数运算符里边,它可能有很多哈,每一个都是,那比如说五六种,五六种里边呢,可能有两三种是我们比较常用的,那大家呢,需要把这些常用的呢,要用熟。
02:06
而且呢,你得知道它有哪些注意点,这就是我们讲运算符的一个这个这个要求啊,常见的一些运算符呢,大家一定要会用,而且呢,知道该怎么用啊,这样就可以了,那后续呢,咱们只要是做开发,那一定少不了使用运算符,所以呢,翻来覆去的用,自然而然的你也就熟了,行,那我们就按照这个顺序一个一个来说,第一个呢,叫做算术运算符,好,那算术运算符呢,一共呢有这样一些。哎,首先呢是正负,这也算了啊,然后加减乘除到这,哎,这个符号呢,叫做取模,对,或者也叫做取鱼啊,从这呢,可能稍微有点迷糊了啊,什么叫取模或者取鱼呢?对,这个比较清楚啊,就是取余数的意思,对,你像咱们说这个七取模五,哎,商一余二,对,所以这个取模的结果呢,就是二。
03:07
啊,那如果说前面这个数取膜,后边这个数是零,意味着什么呀,意味着就是除尽了呗,是吧,对,这是咱们经常的用的一个这个这个效果啊,比如说呃,我想着把所有的偶数调出来。怎么调啊,别别除以二啊,是不是曲目二啊,对曲目二啊,曲目二的话呢,如果结果是零。哎,那就是偶数是吧?哎,结果除了零,那取目二的话呢,不是零是不是就是一呀,对,你要是一的话呢,它就是一个奇数。哎,这是曲模的一个运算操作啊啊呃,这个曲模运算,再说一句,就前面这个呢,我们把它叫做被模数,这个呢叫模数啊,后边这五叫模数,然后呢,下边有一个叫加加,加加呢,这写了两个啊,一个呢叫做前加加,一个叫后加加,有什么区别,一会我们展开说,那对应的呢,有加加呢,就有一个减减啊,前减减后减减啊,最后一个呢叫字符串的连接,这个咱们昨天已经讲过了啊,这里边呢有几个呢,需要咱们重点强调一下,因为大家用的话呢,可能不太会用啊,尤其像像这个啊,所以我们把这个呢上分院符,整个呢我们建一个啊这个文件啊去说明一下它的使用在后的A03下。
04:25
我们新建一个Java文件,呃,算术呢叫arithmetic是吧?哎,我这就简写arra了啊,它的一个test,哎,对,习惯上呢,大家建立个类名的时候,我们想测试一个什么结构,哎,前面呢,就是你想测试的那个东西,后面呢就是关于它的一个test的测试,哎,这是呢一种命名的习惯啊。CTRLCCTRLSCTRLV一下保存。好,这呢是咱们讲这个运算符的第一类啊。
05:02
哎,运算一啊,运算符之一,这样叫算术运算符,哎,刚才我们也看了一下算术运算符都有哪些。哎,有正号负号加减乘除取模,然后哎对加加,这个加加呢分成两种,对一个呢叫做前加加。哎,后加加。然后对应的呢,有一个前减减后减减,对还有一个哎连接运算符,所以这里边这个加号呢,出现的频率很高哈,哎,这个正号负号也是个加,加减程度也是加,连接也是加。哎,后边呢,我在使用的过程当中,有的时候可能会都说它是加号啊,那比如说我string加上一个什么,呃,其实那个加号呢,它它不是一个加,是一个连接是吧,那有时候咱们就都习惯上都说成是加了啊,这个大家注意一下这个事就行,那好了,咱们把这里边呢,有几个需要大家注意的呢,咱们讲一讲啊,那从前往后这个正号负号加减乘这块其实没太多可说的,那从这个除号这块呢,我们稍微的谈一谈。
06:27
好,这个除号啊,嗯,其实这个上小学的时候,大家学这个加减乘除,肯定是先加减后乘除了啊,像这个乘的话呢,这个概念可能还好说,三乘二啊,相当于两个三相加,像这种除法呢,稍微就有点抽象了啊,就是对于这种往上加的东西呢,其实好理解,然后减的东西呢,在小学你那个智商层次上是吧,这种简单除的呀,有时候很难理解是吧。嗯,那这呢,其实大家都清楚啊,除了就是给它分成几份的意思了,那在我们这里边有什么特殊情况,来举个例子,比如说我这int型的一个叫啊这个NUMBER1了12啊int型的一个NUMBER2呢,这个是五好现在呃,现在呢,我in的一个这个这个。
07:13
这个我叫result嘛,叫结果啊,结果呢叫NUMBER1除以NUMBER2,问结果是多少。对,有的同学呢,说是二啊,嗯,还有别的结果吗?哎,你总不能是2.4吧。是吧,哎,这个结果呢,哎,就是二啊,嗯,这个两方面啊,就是我们这呢是一个因特形,这也是个因特形,昨天呢,我们讲了规则了。Int和int之间做运算,结果呢,首先它还是一个int,所以从语法上这肯定是对的。啊,那其次其次的话呢,就是呃,你既然是个整形了,那这本身除不尽,那你那个小数点的东西呢,自然而然的也就省略掉了,哎,所以结果呢,就是一个二啊来执行一下。
08:11
那结果就是一个二。行,这个结果是一个二,然后呢,我再这样一下啊,我一个result,哎,我写个二啊,等于number。哎,NUMBER1啊,说除以一个NUMBER2,我再乘以一个NUMBER2,这个结果是多少?哎,同学说,哎,这个小学时候老师也讲过了,说我们这个A这个数除以B这个数,我要乘以B这个数,那不就还是A吗。对,你要这样理解,这个结果就成12了是吧,但是这个结果呢,对是十。边译边行啊,是十,哎,这个你也不用把它当成一个特例啥的啊,就是往规则上去靠就完了,这样一个式子列完以后呢,就是从前往后算啊,这个算完以后是不是就是二啊,对啊,你既然是二乘以乘以零五,那不就是十。
09:13
哎,就是这样的一个结果啊,你要能够去理解啊,行,那这个完了,那接着我们再说一个事啊,比如说现在有的同学就想,我希望呢,12除以五这个结果呢,能够算出来一个精确的叫2.4。而且呢,我就是让这个NUMBER1和NUMBER2出的,有同学说说这样写就可以,大家看对不对,我定一个double型的,哎,我这呢叫RESULT3等于NUMBER1除以NUMBER2。哎,说你不是说这个整形出来结果是整形,我现在拿double接收,这样不就是2.4了,能行吗?多少啊,哎,对大家说的是对的2.0。
10:04
来看一下。A,运行这是2.0,为什么2.0啊,嗯,这块呢,先运算的结果是不是一个int呀,对,其实这块呢,先算出来是个int已经是二了,只是相当于你把这个结果二呢赋值给一个double了,对,咱们昨天不是也讲过,我要这个整形二赋给double,后边就给你补个点零呗,哎,所以呢,会出现这样的情况,哎,没有达到你的要求啊,那问怎么就能达到要求,结果是2.4了。用浮点,这不就是浮点啊,这这块不能改啊,这块人家给的这个就不能动了,你只能是在你这块去操作,Result这写一个四有同学说这样写,你看这样行不行啊,这样行吗。
11:09
这样好使吧?这样写的话呢,结果是不是还是2.0。这样的话呢,你不是也得先做这个,这个结果是二二加个0.0,这不还是2.0吗?哎这个不行啊,怎么着,哎就写个五加,前面我我就写到这儿,这样处理一下可以吗。可以吗?你同学就懵了,哎,你得把握这个问题的本质啊,我怎么变呢?你都能够把握住这个本质,这个规律,那怎么出他都错不了啊O,不OK,这样2.4行吗?啊,不行行,咋就不行了呢。
12:04
啊。边运行看这8.c出来了,这个要行啊。对,你这个分母,呃,分分母除这个除数吧,你这个除数这不是它已经是一个浮点型了呀,对小括号咱们不得先运算吗?你这已经是个浮点型了,我这是一个整形,那结果肯定是浮点型,所以自然而然的你那个小数点就不会给你省了。啊,就不会给省了啊,那这个呢,嗯,或者大家还有别的写法不?嗯,你要是把这个0.0加到前面这个也可以是吧?还有别的不强转强转怎么强转啊,NUMBER1或者NUMBER2前面呢,或者或者你俩都加也行,我加上一个double这样行不行?
13:03
嗯,这样的话呢,行的,前提呢,得是先让它运算是吧,哎,对我们这加了个double,看一下这个结果先CTRLC,这是一个六保存编译运行,哎,也是OK的。啊,其实你也能发现,就是它呢是先运算的啊,把它呢变成是一个double,然后呢,再对再除这个对,结果也是个double了啊,但是要这样写是不是就不行了呀。哎,这这个我我保留吧,至少点四。就改成个七,然后呢,我把后边的加括号,这样结果是多少,对,这又成2.0了。啊,你又让他先做一个整形出现了是吧,然后呢,结果是二法,你再转换成W是2.0的,对啊,所以呢,不管我这怎么去变,大家呢,把握这个本质,这个运算的规则和这个这个这个要求是吧,这个就可以了,咱们呢,这不前面都讲过了啊,那就是你得会去变通啊,根据实际问题的需要呢,你看怎么能够达到你的一个要求,到底是想要谁想清楚啊。
14:17
好,这呢是关于这个叫除号了,哎,在后边呢,就关于这个取模,刚才咱们也说这个问题了啊,在这再明确一下啊,这呢叫曲模或者叫取运算。哎,取运算啊,这个大家呢,真正开发用的时候呢,发现经常把这个除号跟除法和这个取模呢,就用混了啊,这个千万不要混,这个除法的话呢,实际上呢,前面呢叫被除数,这个叫除数,我们这个结果得到的你要的是那个商对吧,你要的是那个商啊,而这个要的是那个余数,对啊,七除以二商三余一是吧,这是除法要的数,这是取模用的数。
15:02
啊,可能一说都肯定写不错,但是真正写的时候呢,经常呢就写错了,而且写错以后呢,还很难排出来这个错。啊,这个要小心一点啊,取模运算,我们再举个例子啊,我in型的,哎,我这叫NUMBER3,这个呢,我叫啊行,我这就叫M吧,M1这样这叫12。N1啊,这个我还是一个五吧,哎,我让他俩去取模看看结果行,那这呢,我们前面也讲了这个运算了哈,让M1去摸一下这个N1。啊,这个等于。那这个M1。哎,取面这个N1好,这是它的一个运算结果啊,保存一下就比较简单啊。哎,这就是一个二。行,这呢是这种情况,然后呢,我们这里这个M和N呢,实际上它的正负呢,是没有要求的啊,是可正可负的,那我们把这几个情况呢都说一下啊,那对应的这里边呢,我们就得去改这个变量了啊,N2这是NM3N3这是四。
16:14
嗯,然后呢,这也得改。好,然后呢,我们让这里边儿呢,像这呢叫被魔数,这个叫魔数都是正的,这个我让这个被魔数呢是负的,这个我让魔数是负的,这个我让他俩都是负的。那现在我们看下这个结果的一个情况。好看一下啊,我们看这个结论呢,应该怎么去总结。这俩都是正的,结果是一个正二,这个被模数是负的,结果就是负的,呃,这个,然后它的话呢,结果还是正的,这个呢,结果还是负的,这个总结一个结论,那么被模数,呃这个最终这个结果的符号跟谁一样?对,和这个被模数是一样的啊,所以这个我们总结一下啊,说结果的符号与被模数的这个符号相同。
17:26
好,这就是他的一个结论啊,那另外一个关于这个曲模运算,或者叫取运算,我们可以说的呢,就是这个符号呢,咱们后后面啊经常呢,呃是用来判断说一个数能不能被另外一个数除尽,或者说呢,这个除不尽的话呢,余数又分成啊1234等等几种情况啊,分分类。啊,然后每种情况怎么去处理啊,这个也会有啊,就是我们后面啊开发中啊,经常这个使用这个取模符号来判断。哎,这个能否被这个除尽的情况啊。
18:06
哎,这呢只是一个简单应用了,哎,能被除尽呢,那就意味着就是你的最终结果是零吧,零不就是除径对吧?嗯,好,这个呢,就是关于取膜了。
我来说两句