好的,那么接下来呢,我们来学习类型转换的另外一种形式,叫强制类型转换。那么要理解强类型转换呢,咱们呢先做两步,第一步呢是先抛出问题,然后呢再来说一下为什么要使用强力转换。好吧,那我们先来看一下这样一个场景啊,然后引出一个问题, 这场景呢是这样子的,图片可能会去掉一个功能,对吧?那么这个功能呢?他返回的这个结果的数据可能是一个什么?是不是硬的类型的,那么你极有可能会把这个硬的类型的这个数据又传给什么? 是不是另外一个功能啊?而另外功能可能是拿的是一个半类型的变量来接收,这就意味着我们需要把什么 大范围类型的变量复制给什么?九二,小范围类型的变量,比如说一等于二十,然后付给大的 b, 是做这样一个魔力啊。对,那这么做 到底行不行呢?能不能被直接允许呢?咱们是不是可以到 id 中去看一看,好,从这边呢打开我们的 id, 在这个位置呢,我们来新建一个类,那这个类呢叫太虎 dm 三, 然后在这个位置呢,我们来写上一个论方法,也来记录一下咱们的目标,咱们目标的是理解强制类型转换并使用,对吧?那现在咱们做一个什么事情呢? 咱们把一个大范围变量是不是要复制给一个小范围的变量啊?假如说我现在有一个变量是硬的 a 等于二十, 再写一个小范的变量,叫什么呢? get b 把谁付给他?把 a 付给他。好,大家看 报错了没有?报错了,你把鼠标移上去,你看他说了,他说你,呃,需要是拜的,但是你提供是不是硬的呀?是 a 是硬的。那么回到我们的 ppt 啊,我们就需要知道他这个地方为什么会报错呢? 他的想法是这样的,你把一个大范围类型的变量付给一个小范围类型的变量,那么极有可能这个大范围变量里面成的数据是不是很大呀?对,导致你这个小范围类型的变量怎么样?装不下, 他是在提你,可能会有问题啊。对,好,那么说到这呢,可能就会有同学呢,又不禁要发起疑问呢,就是说,如果我非要把一个 大范围类型的变量 a 附给一个小范围类型的变量 b, 能不能行呢?可以,其实也是可以的,但是别人是不是在提你, 你这么干是不是可能会有问题,你自己是不是要注意,但是他也提供了一些方式给你。什么方式呢?就是强制类型转换,咱们可以强行的将什么类型范围大的变量或者数据复制给什么类型范围小的变量。 怎么做呢?你只需要在这个变量或者数据前面带一对小块,填上你需要转型后的数据类型就可以了。 比如说咱们这个 a 变量要转给 b 变量,应该在这个 ab 前面加个什么?加一个小括号,是不是败退啊?对,这样是不是就强转了?好,那这样是不是可以强制转换,然后是不是就不爆算了呢?咱们呢,可以到 id 中去,怎么样? 是不是写一写啊?那我们只需要在这个位置加一个什么小括号,然后在里面写上一个什么,带他是不是就可以了?好, 接下来我们做什么事情?接下来我们来输入一下 a, 再输入一下什么 b 啊?我想问一下同学们,我们这里强行把 a 付给了 b, 其实有没有问题呢?在这个位置 他应该是没有问题的,因为 a 里面存的这个数据, b 好像也可以怎么样?是不是也可以装得下啊?所以两者结果都是多少?二十?好,那么接下来我们就要去搞清楚一个问题了,就是为什么 我们这样强行转过去可以,而且这个结果是不是还没有变化呀?对,那咱们呢,可以回到 ppt 来看一看,他的一个什么,是不是一个底层的原理啊?好,他的原理呢?其实是这样的, 比如说呢,我们的计算机遇到一等于二十这个代码之后,他会先在这个类型中分配一个什么区域?是 a 变量的区域,那么这个区域有多少位? 对,说的很对,是不是三十二位啊?是,他有把二十是不是转成三十二位的二斤是放进去, 那是不是这样一个结果啊?是。你去算一算,这个值呢?是一乘二的二次方是不是四啊?是。这样一乘二的四字方是不是十六啊?是。加起来是不是二十?是。然后呢,再执行正常代码的时候,是不是又要加在一块区域?是 b 变量的区域, 占几位?八位?八位。但类型是不是一个字节是八位啊?是,他接下来要强行把 a 转给 b, 那么他只会把 a 的什么 后八位是不是转给 b 啊?对,因为人家装不了你的三十二位,是不是只能截你的后八位?是,所以他会把 a 的后八位强行的转给 b, 但是转进来之后的话呢?你看一看这个结果啊,他这个地方的手艺是不是也是零啊?代表是正数,而 有价位也是多少?幺零是幺零零,这个是不是也是幺零幺零零,所以他最终结果也是多少啊?二十二十。所以这个地方的强转有没有问题了?没有,没有问题。好,我们再来看另外一种形式, 假如说我这里面数据比较怎么样?比较大,那我强调过去会不会有问题呢?朋友们觉得会不会有问题?会,好,应该会的。咱们到 id 中怎么样?用代码看一看,在这个位置,我们再来定一个变量叫硬的 i 等于,比如说一千五, 这个是不是很大,然后再来一个是败的 j 等于这个,哎,然后人家是不是也报错呀?为什么报错呢?他是在提你,你这么搞的话是不是可能会出问题啊?但是我现在听不听他的?不听我不听,我非要长短啊。我现在告诉大家一种 强转的快捷键,你可以直接按二的键加什么的回车键,这是万能提示键,然后再按第几个,第一个一回车是就把我们自动的强转的,然后我们再把这个什么 捐的值做一个输出,同学们觉得这个值现在还是一千五吗?他应该不是,因为拜他的最高范围是多大, 一百二十七能不能装到一千五?不能,所以这个结果他应该是会出问题的,是不是负三十六啊?是,好,那么接下来我们就需要去知道一下为什么他这个结果变化了,这个原理是什么样子的?咱们是可以到 ppt 中去看一看,好,他是这样的, 首先咱们的计算机遇到了这行代码之后怎么办?是不是在内存中加载一个 i 变量的区域啊?多少位?三十二位。然 他把一千五转成什么三十二倍的二斤是放进去,那么一千五转成二斤是多少呢?好,咱们呢可以为他们呢 算一下是不是打开我们的计算器啊,再找到什么程序员在这个位置输入多少? 一千五?好,大家看你一千五的这个数据是不是零幺零幺,然后是不是这样一段的?好,那咱们呢来到这边来看一看,他是不是这样一个结果,然后呢,再来对比一下, 好,是不是零幺零幺幺幺零幺幺幺,然后零零之类的,是吧?是,好,那就是说一千五的二零制我们是不是已经存到这个 ip 量里面去了?是啊,既然只因拜的尖的时候,他会怎么办? 他会在是不是开壁罐区域,而监狱里面只占几位啊?八位,那他现在要把 i 变量强行转给间, 这有三十二位,这有八位,他是不是要强行的把什么后八位是不是拽过来啊?是,那后八位一拽过来的时候可能就要注意了,他是按照这后八位算结果呀。对,那这个第一位已经是什么 一一代表符号位表示是负数,那么这个结果呢?他最终的结果是不是就一定是一个负数啊?那至于这个结果为什么是负三十六, 我们会在高级篇里面为他们去讲解一下圆码和补码,到大家能够知道这个结果为什么算出来是负三十六,但是现在我们可以看出来他的结果一定是什么发生了变化,并且是负数吧。 好,那么到这其实我们就讲完了什么强制类型转换的一些形式,从中到我们需要注意什么问题啊? 就是强力转换可能会造成什么数据的溢出,或者说是丢失,你看你这个一千五的数据是不是丢了呀?是 好,那么关于强力转化呢?其实呢,还有一个知识点是同学们需要注意的辅点型,强制转换成整形,他是直接丢掉小数部分,保留整数部分返回的, 什么意思呢?伏练型是不是就是打宝类型的?他的范围要怎么样大?你转给,比如说硬的类型范围是不是要小啊?那如果你强转之后的话呢?他会把小数部分丢掉,把整数是不是给你啊?咱们到 id 的时候呢,会给他们演示一下 在列这个位置呢,我们做一个什么事情呢?比如说来一个 w 类型的数据代表是一个分数,比如说是个等于多少呢?九十九点五,这是一个分数啊,然后我现在要强行把它转给什么呢?一个硬的类型。 好,我想问一下朋友们,报,报错是报错了,为什么报错的?你看了他说你需要的是 的类型,但其实我们提供的是不是 w 的数据给他啊?而 w 是几个字节呢?八个字节,他呢四个字节,强制转进去是不是可能会出现数据的溢出啊?所以他就给你报错。但是我现在非要怎么样? 我是非要强转的,二的键,加回的键,非要强转,强转之后呢?你再把这个 id 打出来的话,这个值是多少啊? 他是九十九,我们刚刚说过这个规则,他会把小数直接怎么样去掉,保留整数是不是给你啊?所以这个结果是九十九,这次同学们呢,需要注意的一点,好,回到我们的 ppt, 那么到这呢,我们就完全讲完了强力转化的一些知识了,接下来呢,我们来做一些总结。 第一点是什么是强力转化呢?其实强力转化是什么意思啊?他指的是把大范围类型的变量或者数据是复制给小范围类型的变量啊, 那么他直接来复制的话会报错,为什么呢?因为人家是不是提你,你,你这么干是不是可能会出现一些数据丢失的一些问题啊?但是如果你非要干的话,你也可以进行什么,是不是进行所谓的这样的一些强力转化呢?怎么强转? 是不是在这个变量或者数据前面加这一小块?这样是不是可以强行把大范围类型的变量复制给小范围类型的变量啊?然后中间会不会有问题呢?由你自己是不是来进行负责的?对,对吧,他虽然允许,但是你要对结果负责啊, 有可能会出问题的。那第二点是什么呢?强制性转换有哪些需要注意的?我们刚刚已经说过了,你抢转过去,人家是允许了,但是你是不是很有可能会出现数据的丢失啊? 这个责任由你自己去关注,所以大以后抢转手要小心一点,如果说这个数据范围在他之内,我抢转是没有问题啊,如果 数据明显超过他,那我们能不能抢转呢?就不能呢?那么还有一点是什么呢?就是小数强制转换成整数,是直接截断什么小数,然后保留整数,是不是给你的?好,关于呢强力转换,咱们呢就说到这。
粉丝7.8万获赞29.2万

每周一个扎袜小知识之扎袜数据类型转换类型转换分为自动类型转换和强制类型转换。我们首先来学习自动类型转换。 自动内心转换指的是把一个表示数据范围小的数值或者变量复制给另一个表示数据范围大的变量。我们举了一个例子, w 等于十, 十是一个整数,大宝是一个福点数。在数据类型那个内容里面我们看到过整数能够表示的数据范围是小于福点数能够表示的数据范围的。首先我们写上自动类型转换, double d 等于十,然后我们输出一下 s, y, s, t, e, m, c 特么点儿 out, 点儿口认特蜡输出 这个 d, 然后我们 bne 运行一下 bne 加 c 直行去掉点克拉斯控制台输出了十点零,也就是本身是一个整数十,把它复制给大宝类型之后,他把自动转换为一个浮点数类型,输出的时候带了一个点零, 说明这个是没有任何问题的。接着我们再来定义拜他类型的电量, bet b 等于十, shot s 等于 b, 我把一个 bat 类型的变量复制给一个 shot 类型的变量,这个可不可以呢? 我们来编一下,编一没有报错说明是可以的。我们再来看一下,因他 i 等于 b, 编一走你没报错说明也是可以的。 叉等于 b, 来编一下,认真看啊,报错了,说不兼容的类型,我把这注视掉, 写上一个注视,这是不可以的,类型不兼容。 把一个表示数据范围大的数值或者变量复制给另一个表示数据范围小的变量,这叫强制类型转换。那么强制类型转换的格式是什么样子呢?我们来看一下目标数据类型变量名等于目标数据类型值或者变量这里的值或者变量, 他们的数据类型能够表示的数据范围一定比目标数据类型能够表示的数据范围要大。 看这里我们举了一个例子,印塔 k 等于小括号,印塔八十八点八八,八十八点八八是个福点数,这是 个硬头整数,那么他表示的范围是比他大的,但是在这里我们加了一个强转,那么我们就可以让他什么实现转换,我们在这里写代码来测试一下。这里我们要讲的是强制类型转换, 一点 k 等于八十八点八八,不要着急啊,我先不写强制转换,我们先看一下这样可不可以来编辑走你 现在变异抱错了,说他是不兼容的类型,从大宝转换到 inter 可能会有损失,不行, 那么变异不通过,那么肯定执行不了啊,所以在这里我们加上强制类型转换,那现在我们看他可不可以的呢?来再变异,现在变异不爆错了,说明这个是可以的。那么强转 之后,最终这个 k 的值是多少呢?来我们输出一下 ctim 点奥特点,否认特拉输出这个 k, 来我们一起看一下啊, 编意执行结果是八十八,看到这里我要说的是我原本的数值是八十八点八八,直接付给樱桃是不可以的, 所以我们加了强转,强转完之后呢,你把我小数点后面数字给弄没有了,那这肯定也是不合理的,所以我要说的是强制内心转换,虽然我们可以做,但是不建议,因为他会有数据的丢失。

接下来我们来学习类型转换,学完类型转换之后,我们要知道类型转换分几种,以及每种类型转换的转换规则。来,我们先说一下类型转换的分类。 类型转换分为自动类型转换和强制类型转换。我们首先来学习自动类型转换,自动类型转换指的是把一个表示数据范围小的数值或者变量复制给另一个表示数据范围大的变量看这里 我们举了一个例子, wd 等于十,十是一个整数, w 是一个辅点数。在数据类型那个内容里面我们看到过整数能够表示的数据范围是小于辅 点数能够表示的数据范围的。那么这个表示数据范围从大到小或者从小到大的流程是什么样子呢?这里我给大家准备好了一张图, 就是表示数据范围从小到大的, but 他们不能直接到叉做自动进行转换,而且我这里列出的是七种基本数据类型,而 而且是数值型的类型转换,波轮是非数值型的,所以波轮不参与。来,我们通过代码来验证一下自动类型转换。 看这里啊,首先我们写上自动类型转换, wd 等于十,然后我们输出一下 s, y, s, t, e, m, ctm 点 out 点否认特烂,输出这个 d, 然后我们变异运行一下,变异加 c 走你直行 去掉点克拉斯走你控制台输出了十点零,也就是本身是一个整数十, 在复制给大宝类型之后,他把自动转换为一个辅点数类型,输出的时候带了一个点零,说明这个是没有任何问题的。接着我们再来定义 bit 类型的变量, beat b 等于十,认真看啊,少他 s 等于 b。 我把一个艾特类型的变量复制给一个哨特类型的变量,这个可不可以呢?我们来编一下,走你, 变异没有爆错说明是可以的。我们再来看一下印台二等于 b 来变异,走你 没报错说明也是可以的。来,回到资料,我们看一下,拜他到少他可以,拜他到应他可以,同你拜他到后面的都可以,那么这几个大家自己测好吧,那么看这里,拜他到差是不可以的。来,我们来验证一下, 差等于 b。 来编译一下,认真看啊,编译,走你,好了,报错了,说不兼容的类型,我把这注视掉,写上一个注视,这是 不可以的,类型不兼容。好了,那么这个说完之后,我们回到资料里面,再把这两个流程图好好的看一下。说完了自动类型转换,我们来说一下强制类型转换。看这里。把一个 表示数据范围大的数值或者变量复制给另一个表示数据范围小的变量,也就是我们前面的这张图给他倒过来就可以了,这叫强制类型转换。那么 强制类型转换的格式是什么样子呢?我们来看一下目标数据类型变量米等于目标数据类型值或者变量这里的值或者变量, 他们的数据类型能够表示的数据范围一定比目标数据类型能够表示的数据范围要大。来看这里我们举了一个例子,因而 k 等于 小括号印摊八十八点八八,八十八点八八是个符点数,这是个印摊整数,那么他表示的范围是比他大的,但是 在这里我们加了一个强转,那么我们就可以让他什么实现转换,来,我们在这里写代码来测试一下,这里我们要讲的是强制类型转换,印带 k 等于八十八点八八,不要着急啊,我先不写强制转换,我们先看一下这样可不可以来变异走,你现在变异报错了,说他是不兼容的类型,从 w 转换到硬条可能会有损失,不行, 那么变异不通过,那么肯定执行不了啊,所以在这里我们加上强制类型转换,那现在我们看他可不可以的呢?来再变异 走,你现在变异不爆错了,说明这个是可以的,那么强转之后最终这个 k 的值是多少呢?来我们输出一下, 点 out 点否认特烂输出这个 k。 来,我们一起看一下啊,变异 执行结果是八十八,看到这里我要说的是我原本的数值是八十八点八八,直接付给樱桃是不可以的,所以我们加了强转,强转完之后呢,你把我小数点后面的数字给弄没有了,那这肯定也是不合理的,所以我要说的是强 强制内心转换,虽然我们可以做,但是不建议,因为他会有数据的丢失。好了,到这里我们就 讲完了内心转换的自动内心转换和强制内心转换。自动内心转换按照他的转换流程图进行转换就可以了,强制内心转换他是按照这样一种格式 进行转换的,但是强制类型转换一般我们不建议使用。好了,关于类型转换我们就讲到这里。

本课程的名字叫做一套哇塞的家务基础课。我是本套课程的设计者、讲解者、录制者、表演者,还有后期工作者约翰尼纯情阿神。本套课程一共分为两个篇章,分别呢是基础篇还有进阶篇。我在讲解一些复杂知识点的时候呢,会通过很多生动有趣的例子 辅助大家去理解。 再比如说,接下来呢,我再让下面这两个类跟上面这个员工类建立起一层关系。但是现在上面这类说了,哪来俩倒霉玩意,我东西你俩说用就用啊。 好,那这个时候下面这两个泪就大声喊出了非常有气势的两个字爸爸,你吃饭了吗?爸爸,这都叫爹了,那肯定得让用了呀。我们会在最后呢,动手 编写一款非常经典的案例,叫做学生管理系统。学习了这一套课程之后,你将会收获到扎实的加入基础功底,贴合实际的编程思想,以及市场常见的面试题。最后呢,还想跟同学们说一句话,弹压屁股。

接下来我们来做一个案例,老师和学生什么意思呢?我们来看一下详细的需求。对应老师类和学生类,然后写代码进行测试。最后找到老师类和学生类当中的共性内容,抽取出一个负类,用继承的方式改写代码并进行测试。 看完这个需求之后,我们发现了,这里我们写的代码就是老师类和学生类,分别用继承前和继承后来进行什么来进行实现而已。知道了我们要做什么之后,接下来我们来说一下思路。第一步 定义老师类。那么老师应该有姓名年龄,老师应该有一个教书的方法。第二步定义学生类,学生应该有姓名年龄,学生应该有一个学习的方法。第三步定义测试类,写代码测试。 那这样吧,我们先把前面这三个步骤,也就是继承前的版本先实现了。来,我们看这里 我已经准备好了啊。在这我新建好了一个包,在这个包下有三个类,老师类,学生类和测试类。我们先来看老师类, 它里面有内幕和 a 纸的成员变量,有对应的 get 色的方法,还有一个午餐构造方法和一个代餐构造方法。我们再往下看,这还有一个替尺方法。我们再来看学生内, 学生类里面也有内母和 a 纸这两个乘以变量,有对应的 get 色的方法,还有一个午餐构造方法和一个代餐构造方法。最后还有一个 spa 的方法。那么看完这两个类之后,我们来看测试类。 在测试类里面我们有一个问方法,那么这有一个注视,说的是创建老师类对象进行测试。来,我们一起来写一下。首先我们通过无餐构的方法创建对象,那就是 t 恤 t 一 又一个 titty, 然后 t 一点 sete 内幕我们给个名字林青霞。然后 t 一点 sete a 值三十, s o ut 回车,提一点 get 内母加上逗号加上提一点 get h, 然后提一点 t 恤。 好了,写完之后,接下来我们通过代餐构造方法创建对象,提前提二又一个提前, 那这一次我们给个名字叫风清扬,然后三十三岁。那么接着 s o t 回车, t 二点 get 内加上逗号,加上 t 二点 get at, 那么最后是 t 二点 t 尺 ctrl i fl 格式化一下。好嘞,我们先右键执行。看一下林青霞。三十 用爱成就每一位学员。风清扬三十三用爱成就每一位学员。没有任何问题。那么看完这个之后,接下来我们来说一下他们的共信内容。回到资料共信抽取负累。我们第一 一个人类,这个人类里面将来会有戏迷和年龄这两个成员变量,并且有对应的盖特色的方法。还有午餐构造方法和代餐构造方法。那他作为负累之后呢?接下来我们定义老师类继承人类,并给出自己特有的方法教书。 我们还要定义一个学生类继承人类,并给出自己的特有方法学习。那么最后我们还要定义测试类,写代码测试。 接下来我们一起来完成四五六七的动作。看这里啊,我把这给收回去。然后我们在这个 come on 这个包下来新建一个包。 it 黑马下划线一零。进来之后,我们先来写一个人类, 那么在这里面我们要给两个全音变量普拉维他,使全音内 prowe to ent a a 制。接下来我们要写构造方法,我们按一下 iot 引 strt, 然后选这个地方,然后先选他,点 ok, 生成无参构造。再接下来 iot 引 sirt, 选他,然后把这两个参数全部选中, ok 生成代餐构造方法。那么最后我们再来 alt esit, 选 gett, 按的四 at, 然后选中这两个,然后点 ok, 生成对应的 get 的方法。那么这样我们的人类就做好了。人类做好之后,接下来我们来写一个老师 类题词老师类他要继承字。人类咱们写一个 pose。 那么进来之后要给出老师类的特有方法,就是 top blogy 的气尺进来之后 s 欧油题回车。我们写上用爱成就每一位学员 好了,那么这里我们还应该给出学生内。那学生内我就不写了,留给大家自己下来补齐 好了。那么写完这个人类和老师类之后,接下来我们来写一个测试类 pose 呆萌一会车。那么在这我们来写 下这是测试类。那么测试类进来之后 psvm 一回车。那么进来之后我们要做的事情也是创建老师类对象并进行测试。 来,我们一起写一下啊。 t 恤 t 等于又一个 t 恤。然后这是午餐过的方法。 t 点 setn, 然后给个名字林青霞 t 一点 sat h 三十。然后 s o u t 回车 t 一点 get 内蒙加上逗号加上 t 一点 get h t 一点 t 尺 ctrl fl。 好的,然后我们右键执行,看一下效果先啊,在控制台输出了林青霞三十用爱成就每一位学员。没有问题, 来我们一起说一下啊。 t 恤 t, 你有 t 恤,那么第二用这个 t 恤列中的午餐构造方法。那么在这里面我们没有写构造方法,系统默认会给一个午餐,所以这里我们用的是系统给的午餐构造方法。接着 t 一点塞特内蒙,把林青霞传过去。 那么在这个里面我们没有找到斯莱特内蒙方法,不要着急,他有父亲 pose, 所以我们就到 prose 里面去找斯莱特内蒙方法,然后把林青霞这个直传过来,传给了当前这个类中的成员变量内蒙,那么这个内蒙的直就 就是林心霞同理。我们调这个色泰 a 纸,也会找到 pose 内中的色泰 a 纸方法,把这个三十传过来,传给了当前这个类的重元变量 a 纸。 那么在接下来我们通过踢掉该他内幕方法来看一下,这个里面没有找他的父亲,他的父亲有一个该他内幕方法,那么返回的就是 刚才那个成员变道的值,那这个值是我们一开始给的林青霞,所以我们在控制才能看到林青霞同理,这个给他 a 值,他就能找到我们一开始负值的三十。 好了,最后我们再来看踢一点 t 尺,那这个 t 尺方法在这里面是有的,所以在控制台输出了用爱成就 每一位学员。好了,那这个说完之后,接下来我们来测一下代餐构造方法。 t 叉 t 二,等于 又一个提成。这一次我们给上代餐构造,我们给个名字风清扬,年龄三十三。 写完之后我们发现报错了。为啥报错呢?他说这个 t 恤类中啊,没有这个代餐构造方法,我们来看一下啊,确实没有对吧?所以我们要自己给他不立刻,然后是 t 恤啊。代餐构造死群音 内母因他 a。 那么现在之后我们一般写的是什么?类似点内蒙等于内蒙,类似点 a 值 等于 a 值。哎,现在这又报错了。那这个时候我们是不能直接访问负累中的私有成员变量的。 那么我又想给这两个全面量复制怎么办呢?不要着急,你看复类中的代餐构造方法是可以给他们复制的,所以这里我要把它注视掉,然后 写上收盆,把这个内幕和 a 纸传递过去,这样通过腹类的代餐构造就能够给这成员变量内幕,给这个成员变量 a 值附上值。 好嘞,那么这个写完之后我们再来看,这里会报错,因为这个使用的是系统给的午餐构造,而一旦我们给了代餐,系统将不再提供午餐,所以我们要手动再给一个午餐 构造方法。好了,那么写完之后,接下来我们在这里来看一下,这就不报错了。那么再接下来就是 s o ut 一回车,那么 t 二点给他内蒙加上逗号,加上 t 二点给他 a, 最后是 t 二点 t 尺 ctrl fl。 好了,写完之后,我在右键执行看一下啊。风清扬 三十三,用爱成就每一位学员没有问题。那么现在我们这个动作和我们前面用继承钱的是一样的。那只不过我现在的提成类里面内容要简洁很多,我以前的提成类的内容里面东西太多了。好了, 这个代码写完之后,在我们现有的这个案例里面,还有一个学生类以及学生类的午餐代餐构造方法,需要大家自己去补齐补。 暑期之后要求大家完成创建学生类对象并进行测试。好了,到这关于老师和学生的案例,我就讲到这里。


hello, 大家好,今天给大家讲一下 java 新手入门第十五课类型转换之强制转换好了,首先我们直接打开我们的开发工具呃,把前节课我们的代码删一下,前面的课程 之前的这些删除好,那这节课的代码呢啊,老规矩,我已经提前写好,然后直接就给大家讲一下好了。好 类型转换之强制转换简单介绍一下,就是把一个取值范围大的数值或者变量复制给另一个取值范围小的变量,不允许直接复制啊,需要加入强制转换啊,代码呢,我也提前写好了, 简单的来给大家说一下,定一个 double 类型的啊, a 变量负值给于十二点三,对不对? double 类型这里呢?啊,我们就用到了强制转换啊, 把这个变量 a 里面的值强制转换给变量整数型变量 b, 对不对?这里呢,用到了一个括号 in, 让它强制转换啊, a 里面 double, 把这个 a double 的数值强制转换给变量 b, 就是这么简单,那如果我们没有这个括号 inter 啊,强制转换呢,他就会报错了,对不对?看报错了,不允许,对不对?不允许,这里有个错误啊,我们直接运行也是不能允许,我们看一下啊,直接 进行,看他会是怎么样?好了,我们就看一下他的错误,看他会出现什么样的错误好 啊,慢慢的正在运行好,大家看到了不兼容的类型啊,不兼容的类型就是报错了,对不对?好,这个时候我们加上一个括号啊,里面有个硬的 强制转换成 inter 这个整数形,然后这样就没问题,对不对?最后我们输出好,我们看一下十二点三这个 double 类型,然后强制转换后,他会得到什么样的结果呢? 运行看一下啊,最后我们输出整数型的变量 b, 看下他是什么样的结果。好,大家看到了这个时候他是十二,对不对?只输出整数型的十二,后面零点三 啊,他就直接忽略掉,对不对啊?直接忽略掉,因为他只能输出整数,对不对?非常简单啊,非常简单啊,只需要一个括号,加上我们想要强制转换的类型就行啊。这节课简单就给大家介绍一道,这 只有在以后我们实战需要用到的时候,我再给大家详细的讲啊,这节课就到这里。


如何成为抓娃大牛?如果说你有梦想,如果说你不去挑战,如果说你早日想成为加娃大牛,那么请立刻开启加娃的课程之语吧。那么本课程呢?适用于想要转行的小伙伴,想学又担心自己学不会的小伙伴。大学里面的有志青年,真零基础的小伙伴。 在学习完了本分成之后,你会掌握佳话近三十年来最为核心的面相对象思想,并可以灵活的运用它。第二,你还会掌握佳话当中最核心的知识点。 第三,我们课程中的案例,还有课后作业,都来自于美国思想大学的加瓦真题,让你的编程能力在刚开始学习的时候就与国际接轨。在课程当中,我们还给你准备了很多很多的综合项目,比如说有拼图小游戏,还有在公司里面用到的 oa 管理系统,或者是学校里面用到的学生管理系统, 还有跟 qq 类似的聊天软件。第四,本课程当中啊,我们编写的所有代码都会按照目前业内都在遵守的阿里巴巴编码规范进行编写, 让你在刚开始入门的时候就养成最标准的编码规范。第五,在课程中,我们还会讲解很多拔高性的内容,比如说利用 n i o 从零开始手写一个 facebook 的通开的福气,还会深入的学习虚拟基本相关知识。另外呢,我们还会有算法常见的数据结构,并会手写数据结构等高级的知识点。 最后你还会得到老师多年的经验和心得体会。而且等工作的时候到了公司,你会发现你写的很多的代码都源于我们这个课程当中,从现在开始,你是不是准备要学习佳话了呢?

各位同学大家好,黑马同学又给大家带来一门全新的课程,外部开发,那这套课程呢,是二零二三年刚刚新鲜出炉的,大家可以去看一下目前所有市面上的渣外部课程的学习路线, 基本上呢,都是先来讲解外部前端开发的相关技术站,包括 h 天猫, c s s, g s。 然后接下来呢会讲解像 jicore 这样的 g s 库。 然后接下来呢可能会讲到数据库技术,买 circle 以及 g d, b, c。 接下来会花费大量的时间和精力来学习 serverlet, g, s, t, e, l, t, s t l 以及 cookie, session, filter, listener 这些外部开发的技术。那这些外部开发的技术学习完毕之后,接下来呢会来讲解一些常见的框架,比如像 my batis spare, supreme vc。 最后再来讲解当前最为流行最为火爆的 supreme boot, 最后再基于 supreme boot 整合 s s m 来进行项目的开发。那这套学习路线呢,是十几年前炸外部课程的学习路线, 在现在的企业开发当中早都不再适用了,取而代之的是基于 suprem box 来进行项目的开发,更加快捷,更加简单,更加高效。所以呢,我们今年的招外部课程啊,进行了颠覆式的升级, 紧跟市场发展的潮流和趋势,与实际的企业开发结轨,直接从 sprin boss 开始来学习外部开发的相关知识。那如果大家需要这一套全新的招外部课程的学习资料,请在评论区扣六来领取。

好,那今天呢,我们来正式开始进行加 ws e 加强课程的学习啊,那咱们学习的第一个内容呢是泌阳对象的进阶课程,那咱们在之前呢,其实已经学习过灭阳对象的基础, 那我们最近三天呢,会把这个面相对象内容呢,学的会更加的深刻一点。面相对象其实就是整个家的语言,是编程的一个核心思想啊, 以后我们的代码都是按照什么是面相对象的方式进行编写的,对吧?那咱们首先来为朋友们介绍一下面相对象的第一天呢,朋友们需要学习什么内容呢?好,那咱们要学习的第一个内容呢叫 stadic 关键字,这个关键字呢是静态的意思,那这个关键字他可以做什么呢?我们为什么要学他呢? 好,我们在开发中呢,我们通常需要定一些共享的信息给所有对象的共享访问,什么意思呢?就是我们希望有一个信息呢是共用的,然后只有 一份,所有人都可以来共同修改。比如说像网站里面呢,他通常有一些在线人数信息,可能想想这个在线,这个在线人数信息的话呢? 好,我们那个在线人数信息的话呢,他是不是只需要一份啊?而且他是被所有人共享的,就是所有的用户上来以后都要对他进行加一,是不是减一啊?所以像这样的信息的话,我们就可以把它定义成静态的, 那就需要用到这个静态关键字,那么第二个呢是设计模式的内容,那设计模式什么意思呢?就是我们有些类呢,比如说他只需要一个对象, 那设计模式呢?是这样的意思,就是他是前任研究的一些技术经验,然后呢给后来者直接去使用。你按照这个设计模式来设计代码的话呢,就能得到一个比 比较好的一个软件模型。那么开发商呢,有很多情况下是需要用到设计模式去解决一些问题的,比如说我们有的类的只需要一个对象就可以了, 那我们现在定的类,他不可能只有一个对象,现在定义的类的话,你每六一次是不会产生一个新对象。那比如说我们的任务管理器,这样的对象他其实只需要几个呢? 你看我把任务管理器打开,像这样一个窗口,对象他其实只需要一个,就是无论你启动多少次,这个窗口是不是只有一个呀?他只需要一个对象就可以去管理你的这个电脑里面所有的设备。 那像这种只需要一个对象的类,我们可以通过单例呢去实现,让这个类呢对外只产生一个对象,那我们要学习这样的设计模式,为以后的开发做准备。 好,那咱们还有一块内容呢,叫继承啊,那么继承是什么意思呢?我们通过一个东西呢来引出一下, 比如说我们通常会在一个系统中去定义大量的角色类,比如说老师啊,学生呢,你开个教育管理系统肯定要做这个事情的。那么这些角色类的属性和行为,他是存在一些什么是不是重复的代码的呀? 那我们如果把这些角色全部定出来的话,就会产生什么,就会产生大量代码,这个重复和溶于了, 所以我们希望呢有一种知技术或者一个知识点,能够把什么呢?把一类的这个角色信息呢进行优化,比如说把老师类和学生类里面的这些共同的属性和信息能不能抽出来,只需要定一份给其他的是不是角色使用啊? 那像这样的要求的话,我们就可以使用继承,他可以提升代码的费用呢?降低代码的一个荣誉。好,咱们今天的面料这项课程呢,主要就是要学习这三块内容,当然我们到时候讲的内容肯定比这些要更细更多一点的。啊。好,那么说我们今天要学习什么内容呢? 我再来为他们讲一个知识点,就是面对象知识呢,我们的一个学习的建议啊。好的,关于面对象的知识学建议呢?我们有这样的一个观点,我为什么要讲这一节呢? 好,主要的原因是因为大家在进入到我们的家长课程中学这个面相的时候呢,会有各种各样的想法,很多想法呢是站在自己的角度不太成熟,甚至会对你们的学习的这个感受的产生影响,所以我要给大家统一一下这个标准。 好,那我们应该是这样的,我们应该多关注语法的基本作用和流程,因为面对象其实呢前三天可以说都是 是不是一些语法知识,这些语法知识他非常的出现,所以你只能怎么样呢?只能暂时去关注他的语法的每一个点的作用,和他用这个语法之后,这个代码他怎么去流转,你要搞清楚以后你是不是就能看懂别人整体这个代码的风格,然后就能阅读人 代码,所以一定要多关注语法基本作用。那第二块呢?我们要多进行思考语法的记忆,也就是说记的东西多 好。我说这么多的目的是什么呢?就是要尽量自信,你不要在胆气的时候去想他能做什么,因为咱们现在学东西其实是什么呢?其实都是一个个的小螺丝钉,也就是说你每一个语法在那一个点,你是应该要搞明白了。那如果说你总是去想 我学完这个螺丝钉以后他到底能做什么?这个问题是不是人家很难给你回答呀?那你说这个螺丝钉他可以去造一个, 造个汽车,也可以去造一个,什么冰箱、洗衣机都有可能,就没有办法在现在去看到一个全局的一个作用,或者说就能够看到他就马上就能做什么项目了, 大家能明白我的意思不?所以你思维应该是记住每一个语法,如果我每一个语法都搞明白的话,在我讲 那个点上你搞明白了,其实你就应该很自信的认为你这个语法已经会了。那我们把每一个小知识点,每个小知识点都搞明白,最后我们才能拿着这些什么呢?拿着这些小知识点去做造火箭是吧?造飞机,你才能真正明白这些知识的使用场景。所以短期如果你总在去想他能做什么, 能去开发什么项目的话,你就蒙了,然后你甚至会觉得我们这个课程呢讲的有问题,知道吧?这是我通过最大的观察,我发现是这样的,最后呢一定会明白,但是前期的关注点一定是在语法的基本作用和流程, 最后我们做项目时候才能看全貌啊,所以这是大家学习这个语法的时候一定要注意的,不要动动去想他整体能做什么,这个需要时间,需要一些语法知识积累到一定程度我们再来综合使用啊。好,那么为了学习这些知识点呢,咱们的课程呢,会这么去安排。 我们第一关内容呢,会讲解静态关键字,就教大家怎么去定一些被所有对象共享的一些变量,然后被所有的类和对象一起去访问的一些什么呢?共享一些方法等等,还有一些什么工具类的思想啊,一些注意事项,我们到时候会详细讲这些东西,其实呢它很简单的,不会很复杂,我们关注每个点的话是很简单的。 那第二块我们会讲解 style, 这个的应用纸叫代码块,那这是内容的五大成分之一,咱们昨天是不是提了一下的, 那还有一块内容,我们要讲设计模式叫单立,最后呢我们再来讲解继承啊,好,这是我们整体课程的安排,那咱们下节课呢就正式来学一次,带这个关键字。好,我们就先说到这。

像今年二零二三版的加瓦的学习路线图呢,跟前几年是不太一样的,因为呢,市场的需求每年也在变化,如果说在今年加瓦你想要找一个实习的工作,你要怎么学呢?听我给你一一道来。一开始加瓦 se 基础部分,这是非常重要的,基础不牢,地动山摇, 所以说如果你想要去学习的话,那么这一块的东西,你需要花一点时间去好好的揣摩。第二个模块,那就是 java web java 呢,我推荐是学习今年二零二三版最新的 java, 因为跟老板的相比,新版里面呢,删掉了很多企业里面已经淘汰的技术,比如说 japan, g s p e r 表达式, g s t l 这些东西 在新版的这个课程里面呢,基本上已经没有了,所以说新版的这个课程呢,它是最惊艳的,也是最贴近企业的那个加外部课程,而且呢,在这个里面又包含了 s s m 还有那个 spring boot 的东西。所以呢,你学完了新版的二零二三的加外部之后,就不需要再去 额外的再去找啊 ssm 不得的课程去学习了,学习的周期会比较短。那么当你学习完了二零二三版的加外部之后,那其实呢,就表示你单体架构的技术能力你已经掌握了,那么接下来呢,你就要去找一个单体架构的项目去写一写, 那此时呢,我可以推荐你黑马推出的苍穹外卖。当然呢,如果说你把这个项目写完了,为了提高一下自己面试的竞争力,我建议呢,你可以再去找第二个单体加工的项目。 第二个单体加固的项目呢,就不需要跟着老师的节奏去写了,你可以直接拿着需要文档,或者是拿着页面的原型图,直接呢自己去写,为什么要这么做呢?其实很简单,你如果说在写第一个项目的时候,你是跟着老师去写的,老师怎么写你也怎么写,你是缺少一个自己思考自己设计的过程的。 那如果说你再去写第二个项目的话,你不需要去看老师的视频,自己独立的去设计,比如说数据库里面的表啊,字 断了,我到底设计几个,到底设计成什么样,你自己要去想,而且还有里面的三层架构的业务流程,我该怎么去设计,以及每一个接口里面我要什么参数啊,我又给你返回什么样的参数啊, 都需要自己去好好的去设计一下,这样子呢,会提高你的面试竞争力。好,那么当这块的东西学习完毕之后,那其实呢,就表示你单体架构的知识点已经真的就 ok 了,而且也想过项目去运用了。 那么在投递简历之前呢,呃,最好呢再去背一背面试的八股文,去刷一刷算法题,提高一下自己的面试竞争力。这个呢就是对实习同学的要求,点击下方链接免费领取哦!

接下来我们来学习带返回值方法的定义和调用,学完带返回值方法的定义和调用之后,要求大家能够按照我讲解的格式独立完成带返回值方法的定义和调用。我们先来看带返回值方法的定义格式,看这里, 帕布里克斯菲蒂克数据类型,方法名,参数大括号,维特尔数据。那么这里的数据和这个数据类型有什么关系呢?我们先来看一下发力, 帕布里克斯蒂克波伦也是 a v n n b a ent 南半大括号,瑞特儿图,这个 two 是波伦类型的,我们再来看一个范例,帕布里克斯 cdikent 儿给他 max, 印特儿 a, 逗号印儿 b, 大括号,瑞特儿一百,这个一百是印特儿类型的,有 词可见我们这个数据他一定是该数据类型的。那么这里我们说一下待返回值方法定义时候的一个注意事项,就是方法定义时, 这个瑞特后面的返回值他必须和方法定义上的数据类型要匹配,否则程序将报错。那么看完了带返回值方法定格式,我们来说一下带返回值方法调用的格式,看这里, 格式一,方法明,参数发腻也则一文难板。括号我们传个五,这里给的是常量,我们也可以传一个变量, 为了方便我们使用,后面我们演示案例的时候调方法,如果有参数,我们一般传常量就可以了,那么这种格式可能有时候是没有 d 的,所以我们一般会采用格式二,数据类型变量明等于方法明,参数发腻,波轮 flag 等于 a 字 a 温 nb 五,这个方法的返回值是波的类型的,所以我将采用波的类型来接收,然后我给个变量明 来接收这个方法的返回值,最终我们可以对这个变量名进行操作。那么这里我们说一下待返回值方法调用的时候,有一个注意事项,就是方法的返回值通常会使用一个变量来接收,否则该返回值将无意义。 那么看完了带返回值方法的调用和定义格式之后,我们到代码中来演示一下,看这里打开我们准备好的加入文件,在这里用带返回值方法的定义格式和调用格式。重点来看 下这个需求,定义一个方法,该方法接收一个参数,判断该数据是否是偶数,并返回真假值,返回真假值说明这个数据类型,这个地方将来写的是不论, 来我们一起写一下这个方法,帕布利克斯丁提克波润叶子一温 南北,然后我们传递一个参数,印特尔南北进来之后对这个参数进行判断, f 南北对二取于等等于零, 如果一个数据第二区域等等于零,那么我们 retate 处说明他是偶数,否则说明他不是偶数。我们返回一个 fox, 来看一下这个 方法的返回值的数据类型是不能逆袭,那么最终我们返回的要么是触,要么是 boss, 他也是不能类型的。那我们这个方法定义完毕之后,我们要来调用,这个调用有两种格式,我们先来看第一种调用格式, 方法明后面跟一个参数一字一问南北,我们为了方便直接传一个常量十,做好之后我们右键执行, 来看一下控制台没有任何操作,那这里为什么控制台没有东西呢?我们来读一下这个代码,问方法。进来之后,走到这里一一门单板掉,这个方法就 会把这个十传递给这个男版,然后男版第二曲等等于零,那么就会返回这个处,那么被返回的处就放到了这 这个地方,就相当于在这里你写的是个处,那你针对这个处没有做任何操作啊,所以他这里没有输出,那么这种调用也就是我们说的他一般来说可能没有意义, 那么下面我们将采用第二种调用格式来调用,来看一下啊,这个方法的返回值是波轮类型,所以我用波轮类型来接收,我们给一个变量名 flag, 方法名是一字一文南北,然后传一个十, 这样做完之后,最后我针对这个变量做一个输出。现在再来看右键执行这一次在控制台输出的一个处,我们来说一下 方法调用,走到这,然后把十传递给了这个南边,那么接着南边第二曲等等于零返回一个处,那么这个处就把这个地方给替代了,那么就相当于是这样的一个动作,拨了 flag 等于处,那么这 这个操作完毕之后,他的结果是一个处就相当于这个操作,所以我在这输出这个 flag 的时候,在控制台就输出了处。好了, 到这关于带返回值方法的定义及调用我就讲完了。


你觉得你要三十个的理由是什么?我个人不觉得。呃,我在理论层面呢,算法模型层面上比硕士差多少?另一方面呢?呃,我在这个工程实践上应用 c 加加的能力啊,我也就有一些加法的基础, 大数据里面的一些主要的一些组件啊,也都用过。先做个自我介绍吧。啊,普通二本毕业,在本科的时候呢,学的是材料专业,在学校的时候参加过 cr 家的什么选秀课, 然后毕业之后就做这个 cr 家开发了,我个人觉得在这编程上还是有一些兴趣,然后也有一些感觉,小小的一些能力吧。决定这个追一下淮安方向。你为什么转到这个人工智能的方向呢? 是 ai 这块也代表这个未来的发展方向,要知道你的学历并不占优势啊,我觉得在真正的这个边 编码能力上,还有这种这个工程落地上,我比很多所谓的这个硕士生呀,甚至一些好学校的学生要更强一些。那这样,我们外观数的算法题我们现场写一下,然后用纸笔,这个呢是算法题的要求,争取在三十分钟之内啊,把这个题答完 啊。好了好了呀,可以行,这是我这是我写的基本上啊, 写的还挺快,而且我看你这个代码这个基本功啊,灵活性还可以,我问您几个 ai 相关的一些问题吧。好吧。嗯,可以说一下,就是这个 bot 中啊,这个多头的注意力机制在代码层面是怎么操作的呢?把这个 q、 k、 v 这三个大的九 阵啊,进行了一个分解,单位的矩阵变成了四位,四位矩阵里面他就可以对最后两位进行这个多头矩阵上的运算和操作,回过头再用这个 vivo 操作,把它重新变回三位的矩阵做分类任务。这样的啊,有小任务啊,你都用过哪些训练模型啊? 些经典的 birth 呀,呃, albert 呀,包括这个 robert a, 呃,百度的 verning 啊, x l ninety 啊, t 五 electro, 就是这些东西我都用过。那这个 x l nine 模型算 birth 气垫吗?这个严格来讲它不算,因为它本上是一个 排列语言模型,用这种特殊的技巧把我们这个前后不同的这个信息呢进行一个打乱啊,让我们的这个上下轮在任意的一个 x 点能够看到啊。那你觉得这个 t 五模型和这个 x 模型哪个创新更大?这个 eleves 模型创新点要更大一点。为什么呢? eleves 呢?它是 m l m 的语言模型,和我们这种生成式的这种二分类判别器粘合到了一起,利用了我输入的训练饮料,效率要比经典的这个 box 高很多。嗯, 年龄的话已经有三十四岁了啊,在这个圈子里边算是一个大龄程序啊。你有危机感啊,个人的优势的话,你觉得你的优势在哪啊? 我个人觉得在这个技术圈里混了这么久吧,还是以技术能力和你解决公司真正工程上的这个能力作为你这个吃饭的一个根本吧。那你期望的月薪是多少? 呃,我这次跳槽希望的月薪是这个三十 k。 我们这边呢,招聘预算只有二二十四 k 啊,因为我们这边其实是想招一个这种高学历的硕士学历的。嗯, 但是你这边的人工智能经验吧,其实并不多,你觉得你要三十个的理由是什么?我个人不觉得,我在这个理论层面呢,包括一些算法模型层面上比硕士差多少。另一方面呢?呃,我在这个工程实践上 啊,包括这个应用,这个 cr 加的这个能力啊,我也就是有一些这个加瓦的这个基础大数据里面的一些主要的一些组件啊,像哈都会啊 啊, hive 呀, spark 呀这些东西其实也都用过。这个三十 k 的话是还有没有一个浮动的空间?反正二十四 k 是确实是跟我的期望是低了不少。嗯, 我现在手里头也有一两个 offer, 他们虽然还没有到这个三十,但是比比你们要给的要多一点,对于 我目前的技术能力所能给公司带来的这些价值啊,我觉得到三十 k 比较正常的一个反应吧。那你有什么问题问我的吗?像咱们公司里这个 加班严不严重啊?我们一般在项目这个发展的时候可能要加班到十点十一点,这样比较多,一般情况下吧,八九点钟吧。嗯,咱们这个年终奖呀,这种绩效考核呀,怎么个标准呢? 讲的是十四期左右,但是得看你的这个个人的一个业绩汇报啊,年终数值这么一个情况,给你一个综合的一个评定啊。 周末一般都能保障吗?一般情况下是双休啊,一般是。哈哈,对对,这样,你先等一下,然后我跟我们这个 cto 聊一下,然后看能不能跟你申请一下好不好?嗯嗯,行。