00:00
好,那我们来看一下这个下一道这个例题啊哎,通过这个例题呢,我们再说明几个关于falses使用的这个知识点,好看这道题说从键盘呢,输入三个整数,分别呢,存入变量NUMBER12和三当中,呃,要求呢对它们进行排序,哎,注意这时候是排序哈,不管让你找到最大最小了,把这个从小到大或者从大到小的顺序呢给输出啊行,然后把这个题呢CTRLC过来,看看怎么写。嗯,D04新建一个Java文件,衣服的一个测试二。CTRLV,诶这呢,也是咱们关于这个if的一个使用的一个例题,例题啊,保存一下CTRLCCTRLSCTRLV一下。好,CTRLS看一下啊,嗯,首先呢,这里边提到说从键盘呢,输入三个整数,这个又是咱们对scanner的一个使用,诶大家呢,再去强化熟悉一下啊,首先第一步import,诶java.into.scanner对第一步啊,第二步scanner的一个实例化是吧?诶叫scan等于new一个scanner,然后system点进这个变量的话呢,叫什么名都行,比如我这也叫叫scanner也行啊呃,这呢是它的变量名,下一步呢,通过这个变量的名,我们去调用它内部的这个结构,现在呢,获取的是三个整数,这呢我们也做一个友好的提示啊,请输入第一个整数整数。
01:46
好,这块呢,用户就输入了,相当于我们用scanner调next int方法,呃,接收为int型的一个NUMBER1,这是第一个整数,然后呢一共是有三个。
02:01
CTRLCCTRLVCTRLV,请输入第二个整数,然后第三个整数,哎,我们在同一个作用域内呢,不能定义这个同名的变量了啊,这咱们都讲过了,OK,接下呢,三个整数呢,我们就获取到了,那接下来呢,我们需要对这三个数呢进行排序啊,使用E这个结构从小到大呢去输出。哎,这个呢,在写大家可能方式方法呢,就。就有不一样的了哈,呃,这个咱们早上好像考这个,呃,咱们早上考的话呢,只是让你获取最大值是吧?呃,现在呢,是让你这个最大的最小的,还有中间那个都得输出啊,稍微还有点儿区别,嗯,这个怎么着?从小到大。不光要找到最大的,剩下的这俩的顺序呢,也都得是确定。人都是先找到最大的。那那你就做起来有点复杂了,就啊先这么着,先找最小的,那不跟找最大的一回事较,先比较其中的两个,嗯,比较其中两个,看谁大谁小是吧,比如说呢,要是NUMBER1大这个从小到大排列啊呃,那NUMBER1大的NUMBER1在这儿,NUMBER2就在这儿,然后呢。
03:23
然后然后比谁,嗯,对,让看这两个,如果这个NUMBER1要大了,那就是已经是这样了,那剩下的剩下那个NUMBER3是不是也只能是放置三个位置其中之一啊对,那那你就看NUMBER3,如果发现它呢,比这个大的还大,是不是就在这了,对比这个小的呢,还小,哎,那不就在这吗。哎,除此之外,哎不就在这吗?哎这就相当于把这个整清楚了,当然了,我们说这个这个NUMBER1NUMBER2可能是NUMBER1大了,那当然也有可能是不是NUMBER2大呀,对,但是这种情况是不是类似的。
04:09
啊,也只有这三种情况,去放这个三。哎,其实这个呢,我们逻辑基本上就捋出来了啊呃,下边呢,咱们我我我来这个咱们一起来写一写啊嗯,首先呢,咱们刚才说了,先判断一下NUMBER1和NUMBER2的关系,哎说呢,一是不是要大于二啊,如果说这个一大于二了,哎这个时候呢,脑子里边你先浮现一下这个NUMBER2在,呃那呃NUMBER1呢在这边,NUMBER2呢比它小是在这儿啊下边呢,又空出来三个位置放NUMBER3。在这个基础之上。哎,这里想说明一个问题,就是我们这个例题要说的if else结构呢,是可以相互嵌套的。哎,在这种情况下呢,如果我们又发现了,哎,NUMBER3呢,比一还大。
05:06
这种的这个时候顺序其实就出来了,对吧,那点点。这个呢,我们就这样写了,最小的是200,然后我们这样,我来个吧,NUMBER1对,然后在NUMBER300。哎,那要是出现他们可能有等的情况,你可以把等号也归到这也行。两条等号了,其实这个谁大谁写右边谁写左边无所谓了,就啊诶那我这样处理一下,这是其中一种情况,也有可能呢,我们这个NUMBER3呢,比他俩里边这个小的这个还小,就这样呗。他俩里边不是二小吗?比二还小。
06:04
V,那这谁最小三百对,然后这个是二来这个一对啊哎321啊行,那剩下的情况对,剩下情况呢,你这个三得在中间。嗯,这个这会儿呢,是说这个二小是吧,一大,然后三呢,这不在中间嘛,哎这就OK了,哎这个呢,都是基于这个呃1:2呢,呃大于等于的情况,那这块呢,对应的还有一个else,哎,那这时候else呢,就是二呢比一大,哎然后这时候还是来考虑这个三的这三个情况啊,选一个就行了,还是一样的啊,首先我们判断一下这个三如果要是比二大,这就是比大的还大。
07:06
怎么拍对123,嗯,对,然后L比小的还小,小于等于一比小的还小,这块是312对,哎,那除此之外呢,就是在中间呗,中间的那就是132。就是那跟上这个节奏,别给整懵了,就因为咱们这里边这比的都是这个,先是基于这个一跟二嘛,哎,基于一跟二以后呢,发现呢,如果这个三呢,比二还大,那就在这边,比这个小的还小呢,就在这边,呃,除此之外呢,它就在中间。那就这样写上面的,这不也类似的这样,诶这个是不是这个题基本上就就这样做就OK了。
08:05
呃,当然了,这个大家要写的话呢,可能也有不同的做法啊,有同学呢,就写成一层,说如果一呢大于等于二,那还是有点难度的是吧,且呢二这个一呢大于等于三啊,且呢二又大于等于于三啊出来了,然后那要一分的话呢,这个情况好像还挺多种的哈。嗯,这个你看看这个下边呢,有没有一些更好的一个方式,这个呢,应该算是还好的一个方式的哈,来做的行,呃,这个呢,咱们就先说到这儿,然后通过这个呢,咱们想说明的问题,哎说明的问题啊,第一个呢,咱想说明就是if else这个结构,哎是可以相互嵌套的,哎这呢就是咱们所谓的这个嵌套使用啊,就是根据大家的需要呢,不是说我们程序中只能写一层一方,如果里边呢,你还有这个分支结构,那就接着分,相当于画个图的话呢,就是这块下来可能有两个或者三个分支,这个再往下走的话呢,还会分支,那就再分,这个再会分支,那就还分,根据你情况呢,就往下分就完了。
09:15
啊,这样就行,这呢,就是我们所谓的这个叫套啊,但是但是咱们开发当中这个嵌套的情况呢,肯定不会太多。你想想,你套一层是不是脑子就晕,一层撑死呢,咱们现在开发中啊,至少呢,我没见过说三层以上的。啊,这块呢,分了分了三种情况,然后这个呢整搞不定了,又分了三种情况,这块呢,哎呀好像还是分不透啊,又分了三种情况,然后还搞不定这时候呢情况。别别写了,这时候想一想,八成那写的有点问题啊,倒不是说你下面这样做做不出来啊,但是你这样写着写着你自己就晕了啊,你像你这块分支呢,我这都还没展开这些分支呢,你这要展开的话,这得多少分支啊,差太多了啊。
10:04
嗯,一旦呢,自己大家写这个E,你写了三层了,发现还搞不定,这候停下来重新构思一下,这个时候通常呢,还会有其他的这种方式,让你这个层数呢变少。啊,这时候呢,就要果断的放弃了,得重新再接着来思考才行啊行,这呢是咱们说的这个问题,然后另外一个问题,这是第一个啊第二个哎,就是说当我们这呢,是咱们说的这个所谓的执行语句了啊,如果发现if else if,包括else当中这个执行语句如果只有一行的话呢。我们这一对大括号呢,是可以省略的。哎,如果只有一行就可以省略我这儿呢,对于这个if来讲,这不是有多行了,这个就不能省了。嗯,下边呢,对于他们来讲,这个呢,又可以升。哎,这个可以省好,省完以后我们来测试一下,看看扎C,哎,衣服的一个test,这是二号这张网。
11:12
Java啊一负TEST2啊回车来请输入第一个整数,这个我们就随便来写了啊,第二个整数,嗯,负的98啊,第三个来一个零啊回车,哎,这是可以的啊没问题啊,哎,包括咱们刚才测试的时候呢,你发哎这个编译的时候,你发现有没有报错啊,那说明的话呢,就是这个语法呢也是对的。行吧,有啥问题吗,大家。这样可以啊,有啥问题啊,没了啊行这呢,我们把这个点呢写出来哈,就是如果啊,如果这个if else结构中的这个执行语句啊,只有一行时。
12:04
啊,那么这个对应的这一对这个大括号呢,是可以省略的啊,紧接着,但是不建议大家这这这。好看不好看了便也挺好看的呀,不方便看了,哎,不方便看还行是吧,有时候你这个不太好确认了哈,嗯,但是还有一个原因就是因为经常会出错哈。什么叫经常出错呢?就是一开始你写的时候,你觉得诶我这一行就能搞定啊,帅挺帅的啊,把这个大括号省下了,诶代码执行执行写到后边,突然发现诶这个行一行搞不定,我还得再做个事儿,比如说我还得做个复值操作啊,突然在这我这随便写一下,比如说哎,我还得再做个这个事儿,结果这个你想我要这样一写的话呢,你就你就可能通常情况下都会忘了把这个账号补上。
13:06
因为这时候呢,我可不止一条直行语句了啊,在这种情况下呢,你省略大括号呢,我们看编译,那这时候这不就挂了,为啥这是这种错了26行啊,他是在这保的是吧。诶就是像这种情况下这种代码啊,诶你省略这个大框了,我就默认呢,你这一条语句呢,是它的执行语句,这条语句呢就不是了,所以相当于呢,这个代码呢,你得跟它去对应啊,你要跟它对应的话呢,这呢相当于把它呢看成是我们这个if讲的第一种结构了,你下边这个呢,平白无故的没有衣服的情况下,上来就蹦了一个l if,这不就错了。因为此时呢,他不能跟他配对了,你要想配对呢,那必须得显示的说,你你得这么着一下。
14:02
是吧,这样的时候呢,才表示的就是我,我是跟他呢配对的。哎,所以呢,总结一下呢,就是说呃,大家写程序的时候呢,如果只有一行执行语句,也不建议你把这一段大括号省略掉啊,但是呢,如果你要是呃,见到别人这样写了,或者尤其是笔试面试的时候呢,他故意给你这个没有加大括号,这时候呢,大家也能看得懂,对就OK了啊,这就是一个简单的一个要求啊。行,那这个题的话呢,我们就呃说到这,通过这个例题,我们想说明的就是这样的两个点啊。
我来说两句