00:00
我们接着刚才讲的内容哈,来讲一下下面运算符,位运算符,那位运算符呢,我们先单说一句哈,位运算符呢,它。它是作用于胃的,就是这个bit。而这个微运算符呢,大家看到我这里专门说了一句话,要彻底搞懂微运算符呢,需要先学习二进制。因此呢,这个微运算符我们放在二进制过后再讲。只是现在呢,先告诉大家,微算符我们会讲的。会问算分在哪呢?二进制过后我们会讲那么位运算符,我们这先简单的介绍它有几种哈,有这么几种,按位与。暗位或暗卫,抑或按位取反,还有左移,还有右移,大家看这里面是不是都有提到二进制。看到没有?是不是都有二进制,而二进制这个内容呢?我我想单独的拿一个章节来讲,因为它比较重要,而且相对比较困难,所以说关于未算服的介绍呢,我们会放在就是哪里呢?把二进制讲完了过后,再回头单独的详细的介绍一下未运算,这个位运算还蛮重要,好吧,所以说我跟大家同学们先说清楚,不是不讲一会儿在讲完二进制过后,有了二进制的基础过后再来讲微运算符,大家就。
01:31
一下就会明白了啊,一下就会搞清楚,所以说这个呢,我们后面单独说,下面呢,我们来看一个三元运算符,三元运算符,那三元运算符它的基本语法我们先漏一,它是前条件表达式一个问号,后面呢有表达式一,表达式二。那我们看看一下它的规则是什么。注意看这句话,如果条件表达式就这个。如果为真,则运算后的结果是表达11的结果,就他会把表达11这个结果呢给你返回。
02:08
如果说呃,条件表达式为甲,就是这边为是个甲,它会把表达式为二这个结果给你返回。那怎么记这个句这句话呢?我是给大家一个口诀,同学们,诶,到同学们有没有看过射雕英雄传呢?射,射雕英雄传里面是不是有一个人物叫做伊登大师?有个叫一真大师的吧,你这样记,你把它改一下,叫做一真大师。这下就明白了。什么意思呢,就是如果我们。如果我们为真。条件表达式为真,就返回第一个表达式,一个你一嘛,增对应一就行了。啊,这样子就说如果我们条件表达式为真,就返回第一个表达式,就叫一帧大式,一下就记住了哈,不然的话,你在你在这一个什么呀,你在乘客这个学习过程中,或者说。
03:07
怎么说呢,或者说同学们在在这个,呃,写完成。计算机考试的时候呢,老容易搞混了,诶到到底这个为针是一还是二,记不清楚,你只要记住一帧一帧大师就可以了。你记不住一证大师,你就记一增大师啊,一下就记住了,那么我们来举个例子吧,同学们看,这有个A,这有个B,我们把这个代码拿拿过来给它运行一下。跑起来。好,我现在呢,在这里哈,在这里我们新建一个,这个叫做什么呀,这个叫什么符号,我们看一下三元运算符。三元顺服我们写到这来。那先把这个注销了。我们取个名字叫三元运算,三元运算其实就是多运算符的意思,是不是我就写个。啊。
04:01
叫。Operator。这样一下就记住了,走起来,那同样呢,我们还是把这个名称给他改一下。改成一个C,好,同学们跟上老师思路哈,Include ST dl是吧,然后呢,仍然是我们的一个主方法,我们把这个代码往这一放,我们来看一下结果就可以了。我们先来分析一下这个结果是什么呢?前面两个不说了,定义了两个变量,大家看A大于B。为真还是为假?A是十,B是99,显然这个为甲。如果为假的话呢,你记住这个口诀一真。一尊大师。一真。大师,那你想他这个。为就是为真的时候返回一,那这个为假呀,为假就应该是这个值,那这个值实际上就是B减减。
05:02
那么这个B减减它是后减减,大家发现没有是这个减减是在后边,因此呢,它实际是把这个B的值先返回给这个result RS,然后再自己剪一剪,我们可以看一下这个结果。来走一个print f,为了好看呢,我们来一个换行,我们输出这个A。输出这个B大家看一下就一下就明白了,输出RS,我们看一下结果是什么ABRS。那为了让这个控制台停在这呢?我们get一下。Get。同学们来分析一下这个结果应该是什么呀?我们先不运行,我们分析一下是不是ABAB这个地方因为没有执行过,所以说它还是十没问题吧,BB是不是它最终还是减减了。它最终还是减减,只是说它先把这个值返回过后再减减,但是还是减减了,因此呢,B它应该等于98,这个能理解res等于多少呢?Res实际上是在减之前返回去的,它是相当于说。
06:15
这个B减减,它先把B的值。返回给我们这个res,然后自己再减减,注意T是然后,所以说res实际上它是等于99的,能理解。那同学们,我们预习一把,看效果。运行起来,运行起来过后呢,我们看这个结果跟我们想的是不是一样的呢,同学们看完全的一样。是不是这样子的A。BS,好,同学们,第一个小案例我们就过了,那紧接着呢,我们来看三元运算符的细节问题。细节问题,那第一个需要同学们注意的是表达式一和表达式二要为可以付给接收变量类型,或者可以自动转换,否则有精度损失。我举个例子,比如说你这样写,大家看他会怎么样哈,打个比方。
07:08
打个比方,嗯,咱这样写吧,各位同学跟上我的思路,比如说我。嗯,我这样写有一个double第一。等于A大于B。然后呢,如果微针我返回一点,返回一个这样的。我故意这样写啊。Int。TNN1,然后郭宇这边如果为针返回1.1,冒号返回1.2,大家想一想。这样子的话是不是像说。这个A大于B,它不管为真还是还还是怎么样,最终返回的是一个。Double类型的呀,但你接收者是一个什么。是不是一个特呀,因此这个地方其实呢,他会给出一个警告。他会给出一个警告,为什么?因为他认为你是把一个double,把一个double给到了一个int。
08:08
给到一个特,他会警告,那是不是给警告呢?我们来生成一下这个解决方案。同学们看是不是给了,诶是这还没有关闭,咱重新再生成一次,跟着老师思路。同们可以看到,在这里。是不是这提示这个信息啊,Warning是不是这个这个文件。给点一下,他说从double到int可能丢失数据,给了一个警告,当然说老师,那我运行可不可以,运行是可以的,但是呢,小数点没有了。所以说同学们要注意这个老师说的这句话,还有一点呢,三元运算符其实也可以转成if else语句,比如说这句话,这句话其实它的本质呢,就是如果怎么怎么样,A2怎么怎么样,后面我们再讲分支,也就是说如果面试人问你说三元运算符可不可以转成一二十,你靠,你告诉他没问题。
09:05
就这意思好,下面呢,还有。两个课堂练习题,我做其中第一个题好不好?第二个题同学们自己去做,想一想就行了,第一,呃,课堂练习题呢,说实现两个数的最大值,就是返回两个数的最大值,是不是特别的简单呀?哎,我一下写写出来就行了,Int max。等于,比如说我要求A和B的,比如说我要求A。AB的这个最大值。那怎么写呢?非常的简单,一句话就搞搞定了。我用一个特来接收。我有一一个in特来接收,来跟着老师思路哈,A大于B的话。A大于B的话,返回A,否则返回B完事了。那有些同学老师,假如我们要实现三个数的最大值呢?也很简单,你看我在写MAX3。那MAX2吧,MAX2MAX2大家看是不是这个max已经是AB里面的最大值了。
10:06
但是这还有个C吗?那怎么办呢?可以这样写,Max。大于C吗?如果大于,返回max,否则返回C。可以这样写,那甚至有人这样写也可以咯,胡老师,我这样写行不行,我不想中间用这个max,我这样写这个max本身其实就是这个值吗?我可可不可以这样写呢?说我走一个哈,这个。如果它大于C,我就返回这个,但我为了好看呢,把它括起来。过去了。否则返回C可不可以,这也是可以的。这样可以,但是这样写呢,感觉特别的长,阅读起来比较麻烦,所以一般建议大家可以分步写,好吧,这就是我们课堂练习,这是我们三元运算符的课堂练习,好的同学们,关于三元运算符我们就先聊到这里,然后呢,我把刚才讲的内容给大家梳理一下。
11:07
有一个。刚才我们讲了什么呢?首先我们给大家提了一个未运未运算符。位于顺服,那位于算符呢,我们这儿没有细讲,只是给同学们提了一下,原因是因为我们需要先学二进制,肯定是要讲的,而且会讲的比较细,比较清晰,但是因为二进制同学们还没学嘛,所以说我们往后面推一推啊。好,我先把这个整理到这。这块我们先做了一个介绍是吧,然后呢,我们这有一个负值运算,哎,这个是这写错了,这就不是负值运算,是未运算。位运算符的一个一览表,那这边我们就稍微改一改位运算啊为。运算符,那我们就把这一个未运算符的图表给各位朋友板出到这里。
12:05
大家一目了然,紧接着我们继续往下走,是不是给大家讲了三元运算符?那上面预算服他到底是干什么的呢?我们首先给大家说一下它的基本语法,是不是后面又举了一个例子啊,诶那一下就明白了,对不对,很简单的那三元运算符基本语法,我们先看一下是这个基本语法。用蓝色的把它标起来。蓝色字体。那在这里,然后这边呢,有它的几个,呃,关于我们三元运算符的说法。就是记住一个口诀吧,一针大师记住了,就说只要我们这个为针,它返回的是第一个表达式的结果。第一个表达式的结果,好的,那案例演示我们也把它梳理一下,案例演示是不是就这个题嘛,说白诶这个题我们在这有。是不是我直接把它放放这边来。
13:01
案例给各位同学放到一个表格中即可。紧接着我们又讲什么,同学们是不是我们又说了一下三元运算符的细节,以及以及我们的课堂练习。把这个都拿过来吧,整体啊,不学。首先我们讲的是使用细节,使用细节呢,这整理了两点也不多。大家也要有一个印象,然后呢,我们举了课堂练习,对课堂练习,课堂练习呢,我们举了两个案例。其实是,其实你可以理解成一个案例对吧,好代码给他写过来,代码演示。代表演示呢,就在我们的笔记中这写的。复过来。给同学们插入一个表格就可以了。好的同学们,那这个呢,就是我们对三元运算符的一个讲解,大家看看理解了没有。
我来说两句