斯坦福-CS106A-B-L-X-编程入门笔记-四-
斯坦福 CS106A/B/L/X 编程入门笔记(四)
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P26:26_ Polymorphism and Interfaces - 外影译坊 - BV14U4geNEEq
所以我们已经接近尾声了,如果你看一下这里的记录日历,今天是第九周的星期五,只剩下几节课了,然后就到了期末考试的时间,我知道你们一定会得到进入关键时刻,并获得一切,你的项目和家庭作业已经完成。
并且准备考试,诸如此类的事情,就这样而言,我们留下的你们需要得到的,希望你的作业六和七已上交,作业六现已提交,您可以正在做作业七,截止日期是星期一,尽管记住你现在可以,如果你有的话。
请在周三晚些时候提交,你想利用当天晚些时候或迟到的时间罚球,终于是周五早上了,从今天开始的一周练习,决赛和有关决赛及所有其他信息,好东西已经很难了,你可以走了,希望周末看看那里的任何材料。
都不会太令人震惊或令人惊讶,应该是我们一直在学习和研究的东西,以及其他方面的经济秩序,讲座的内容,我们要做什么,那么今天我要好好的教你,最后的官方新内容,将在最后的决赛中进行测试。
我认为的内容课程材料的适当一部分,下周我们有两场讲座,将于周一和周三进行,那些会有点特别,周一的讲座将是关于,有点像从斯坦福大学转过来的java版本,到常规工作,让我们做。
你知道我没用过这些106A中的所有库,都可以帮助我们编写我们的程序,但是你如何编写一个真正的程序,java程序没有库,我该怎么办,打包我的java程序,这样我就可以把她交给奶奶,这样他就可以运行它。
它也可以查到他宝宝的名字,不管怎样,我会也谈谈决赛周一的考试材料,这样就可以了,下次然后是最后一次星期三官方讲座,我要主持所有狼队都参加的火山口锦标赛,将战斗至死,我认为这是一个很多乐趣。
我会带来一些不是很,我最好的狼将获得丰厚的奖品,我认为你绝对应该出现,看着你一定很有趣,在这里参加,如果您的规则是太棒了,但你不笑你被取消资格了,所以有有一些理由出现似的啧,这就是我们剩下的,无论如何。
记住今天的主题是我想要真正回到继承,这是我们正在报道的内容,回到课程的小动物部分,所以你真的知道今天的讲座可能应该是,他们回来两周前就在那里,但原因是今天是一位刚刚给出日历。
我们不得不把俄格达和马州的东西放进去。
直到今天他就在这里,我想要谈论两件具体的事情,首先是它的单词多态性,另一个是接口的价值,我们开始谈论多态性,几周前,但我并没有真正做到完成和多肽是相同的时候。
一段代码可以有不同的行为方式,当你给他不同类型的对象工作,所以一些例子,多态性是你可以致电柯克兰,你可以通过任何类型打印行的职工,作财产的价值,或您可以添加多种类型的图形,图形程序及其对象。
将绘制所有这些不同的对象,这个这个原则很重要,我想谈论这个的原因,是因为了解如何继承层次结构,将会行为方式有很多不同,正在互相交谈的班级,所以我想跳过几个滑到这里,并到达这种我想要完成的练习。
和你在一起,所以让我前进一点,有点在这里,所以这就是我想要的看看,事实上这就是为什么你应该关心,因为我喜欢问这些测试中的各种问题,所以真正的动机就是这样的东西,可能会出现在决赛中,所以我喜欢让你知道。
我喜欢如何给予你这些神秘的问题,我给你你一些代码,我请你写,我会引用代码的行为,那么类似的类型是什么,涉及继承的练习以及什么,我会做的事,我会给你几个不同的类相互扩展,他们制作了一棵继承树,你可能会说。
然后我会问你什么,当我让这些变得不同时,就会发生对象,当我称这些不同的方法,他会做什么,这就是我想了解一下,我该如何回答像这样的问题,所以我通常在这里做,你知道的这些我通常没有的神秘问题。
意味着非常具有描述性意味,我真的想让你追踪代码,所以我将使用这些类愚蠢的名字,就像食物,所以类名food还有一个方法名称method,1A消息名称,方法二和方法一要用两个流,所以如果我打印。
我们将直接打印出谁的形,现在一般的行为好了,这些方法并不是为了欺骗你,愚弄方法亦为其一,for方法打印已接种翻转,他只是为了欺骗你,使-13feel to或其他东西那样这不是重点,嗯好的。
这些是方法full类,现在我还有更多的类,有一个名为bar的类,Bar extends fo,他有一个打印bar off的方法,你当然知道,因为它延伸了食物,他也继承了所有其他的。
从食物中获取正确的方法,现在它有一个圆顶动量取代方法,从食品类右边我们有一个一种名为时尚的类,它扩展了食物的范围,低音类已提交,有一个第四类名为mumbles,可扩展不好,它也有一些代码好吧。
所以我会给你一些这样的课程,只是愚蠢的小课程,然后我会说说这段代码现在不做什么,太迷失在代码中了,基本上问的是我是否使用它们一个数组,所以代码优点较短,但不是很重要的是,我制作了一个存储AB的数组。
作为一个酒吧或GU弄和一个五循环,我将它们称为两个字符串,方法一和方法二,基本上就是这个的要点,问题是我是否调用两个字符串,方法一和方法二,在我们的贝斯上咕哝和一个副会发生什么,我只想问雷只是一个短片。
我回信的方式仅此而已,与费率无关,好吧,那么你怎么样很好的解决这个问题,我认为这里的出发点是要有一个心理,对关系的理解,这里不同班级之间,所以如果你回到我展示全部的部分,不同的阶级。
你可以给自己画一张小图,也许我会在上面画点东西,这里的白板我不喜欢在其中工作,我录制了这个视频,但你已经有了某种适合繁荣阶层的盒子,某种盒子什么都没关系,确实没有什么特别的方法,你必须把它画下来。
而不是去上课,然后你还有其他课程,就像酒吧延长食物一样,在繁荣之下,也许好吧吧好吧,还有一个你也不好的延长食物,所以也许可以,我们继续,盒子上写着第四个,说故弄眼神不好,所以就这样像妈妈一样。
你可能会说,如果你用谷歌搜索付这些名字是不是很傻,酒吧你会发现一个叫做黑客词典这些事,旧时的胡言乱语,黑客用你的名字表示不是太可怕了,所以他只是胡言乱语,无论如何,有些类似的东西。
所以正如你所记得的那样,谁扩展了繁荣好吧,现在一旦你有了你想要的,经常做我认为的图片正义陪伴你,不必画画一张照片,但如果你想要更多,您可以选择图片中的细节,写下其中包含哪些方法类。
所以也许食品类有一个方法一,它有一个方法和一个天堂串起来,让我让我们写,这与一些像树皮一样的东西有关哦,抱歉我想抱歉,没有在屏幕上,但这些是内容,今天的实务课还不错吧,我正在做酒吧类,他有一个方法。
所以我现在就写一首我的曲子啊,当然我们很聪明,我们知道继承,我们知道这个类,如果还有一个适合并提前流式传输的方法,他们来自你,我想我可以写方法一和方法二搁浅,如果我想的话,就在这里,但如果你想尝试的话。
输入这个询问方法的代码,九合串在这就在这,所以我只是用了一些方法,实际上在盒子里的那个类中好吧,那我的课很糟糕,他写了一个方法,一激进的串法对了,然后我有一个咕弄客,我在这里有办法,写得好。
所以现在当你实际上试图得到某事的答案,就像这样哦,顺便你看到我的了吗,糟糕的笑话,在幻灯片中看到我如何称呼他们时,可惜,因为就像我可怜你的食物一样,知道你这个年纪的人会做什么吗,无论如何。
我觉得这很有趣,但我不觉得关心你,是否觉得我这样做很有趣,这是给我的,如果你愿意的话,有照片这些东西只是看看代码正在做什么,代码创建一个坏的,然后他创建一个条,然后,他创造了一种咕哝。
并创造了一个食物权以及每件物品,他首先调用三个方法,我正在看的是监狱for循环题,首先更喜欢该对象,以便该列string,那么他接下来要做的就是它调用方法一,然后下次调用你没有默认方法。
所以也许实际上问题的输出更大,你可能有某种桌子过像这样的事情,所以我真的只是需要知道您是否做出差评,string输出是什么,这样你就可以查找你所做的任何特定操作,你首先去那个机翼看看该方法是否在其中类。
如果他只是去查找它,现在如果它不存在,怎么办好吧,在这种情况下,我可以找到好的袋子,他呼唤着尖叫,那就是尖叫,这是不好的,要正确思考好吧,那么接下来的事情意味,如果这都是糟糕的方法一,这也是就在那里。
低音时钟向右摆动,所以成为一条V线,回到没有法力的地方,到这里就像图片一样,如果我想弄清楚什么,我该怎么做,关于这两个人要去哪里,我该做什么,跟着你右边的图片走,所以你去上课吧,如果树更高或更大。
你就保留一直上升,直到你摆脱困境,孟菲斯你能停在黑色那吗,你说的浪漫不是吗,一直往上走,直到你最终迈出一步,没什么,所以让两个当两个不在这里,如果他在上面,如果在腹中食物上的类方法,但这很酷。
提示这样你就可以对所有的人都这样做,这些不同的方法并得到回答,第一个例子不是超级很难,但他给了你这样的想法,没有用于串绳的酒吧,所以他是来这里串串美食,朋友好吧,酒吧里的每个人,没有我想要我去吃食物。
没有人M2在那里,大概打印吧都是如此,对了,有人故弄着做什么吗,让我做那些看起来全部三个的,他们用于咕弄口袋,所以咕哝通常不会变坏,对方应自言自语,不好好吧好吧,对于方法一是的mono员到A。
防尘帽有不同的简陋至几乎正确的妈妈,只是为了简短的说是的戴方,然后是拉克兰SP在顶级的表现相当出色数,所以这只是一个人会移动,还好将会对你进行测试,我们会这么做好吧,看起来是这样。
第一个变成黑色33标记,因为你想让我妈妈做,我只是开玩笑,到目前为止还不喜欢嗯,好问题是的,哦是的,好问题,这是怎么回事,为什么,这不就像传承之谜,我为何费心谈论他作为多肽之谜。
基本上这个数组的代码是使用多态性,因为它有一个负对象数组,但事实上我巴兹商店,酒吧和食物咕哝在原等级的不同位置和,然后当我调用这些方法时,个别元素的行为我得到的是特定的子类,如果它是一系列提子。
那么他的行为是什么,这实际上意味着一系列食物或食物子类型对象,的此类对象实物,以及我储存它们的事实,因为通过数组不会以某种方式弯曲他们,所有的行为都是负行为,它保留了原来的行为,我存储在数组中的类。
这里的多态性是相同的,徐怀说,这里的国王非常取决于哪个索引而不同,我称这些事项为适用马库斯似的,谢谢你澄清,我应该说得更清楚,但是你说的对,继承就是为我们提供的车辆,这个例子中的多态性。
还可以到目前为止的另一个问题,好的,所以我谈论了这张画图,画一张我们讨论过的图画,制作一张桌子,制作一张桌子,制作一个桌子,还好很好,所以现在当然是你伙计们做的很好,我必须付出你的房间稍微硬一点对吧。
只是我不太好,我喜欢做事情,有点更具挑战性,所以这是一件新的,我要走了,向此添加一些新功能,但我向你保证,如果可以的话,解决这个问题,你可以做一个我会给你的一个测试。
所以让我们弄清楚这个我在这里做了什么,一件事,打乱了课程的顺序,所以就像我没有把超级类放在第一位一样,所以如果你真的没来过教室里,我的野餐之类的东西,但是可能不是另一件事,是有些代码有点多。
最复杂的方法是简单,就像蓝比王子的B方法是安比王子的方法,但看看这个方法,现在正在调用B方法,因此打电话给visa有一点点方法调用方法,在这里我会离开代码上升了一分钟,然后这里有一个东西。
我有一个叫做超级点,偶哦,就是这样很奇怪,所以我添加了一些新的,这里的功能不属于整体粒子还可以,但没关系,我们可以弄清楚,所以我想我们要做的第一件事,就是想做的就是画,那张小图有点像这样。
但对于其他问题好吧,我从来没有用过这些白板,但用滑板就很酷了,所以我知道我很容易被感动,好吧,我永远不会忘记,我正在服用这个我大学时的社会学科,他们有开销,而不是白板,但头顶上的滚滚东西,你知道老师。
我真的认为这个老师是个白痴,他他总是把事情搞砸吗,他拿走了这个永久性记号笔,然后他就头顶上写着,但没有里面有卷状塑料,所以它只是用一个在头顶设备上书写,永久记好笔,然后就像从来没有一样。
所以今年剩下的时间,他关于社会学的愚蠢笔记,第五周的动作就下冻结了我这么大的投影仪,无论如何一直都很低,我不知道他为什么要那样做,但我在哪里好的,但是我们可以解决这个问题,与我们解决问题的方式非常相似。
最后一个问题,我认为你想要什么,从图片开始,并按顺序画出,我认为你想要的图画从上到下,所以是什么,这张照片的顶部是他,无法扩展英格兰的那一个,正确的,这意味着这是顶部数,所以它只是盒子或手摁。
然后我们有羊肉费用帕姆,所以我,可以把羊肉放在这里吗,然后我们现在看看另一个,然后把他们和芬恩的混在一起,腿,所以我们这里有山药,UNWORSE山药,然后第四个是垃圾邮件再次延伸,这样看起来就不完全了。
垂直其中一些是猪肉,一些是他们没有什么不同,我希望能够做到这一点,他在工作台上,如果你看不太清楚,但无论如何,看起来只是我只是想写下来,不知何故,这就是这里的树,这样做的主要目的是让我可以环顾四周。
看看方法在哪里,被发现五天吧,然后我也许想要写下什么方法,锤子类有一个方法A,修改B和A已取消临级,只有一个发明了山药类,有一个,A和A字符串和垃圾邮件类别有只有一颗钻石,但这还不错。
现在就我们的实际行为而言,我们有同样的东西,他们在其中创建四个中的每一个的数组,他们循环遍历它的类型,并调用它们调用的方法,有两个字符串调用方法A,并且他们调用MEMPHISB事物的种类,事物的种类。
事物的种类,事物的种类,问题是我们遵循的大部分内容完全相同的过程,除了我得到我们应该这样做的顺序是锤子架,是的好吧,让我们我想我所做的就是说话,不谈具体方法,和他们在这里输出左翼。
我的职务觉得土地很有趣,所以让我们演练lamb方法A和方法B每秒二五,好的,那么我们该怎么做,看看我怎么知道那些会是什么,如果我想查一下那里有这里没有A,所以我向上。
直到有A这就是我串好的那个好的pm方法,给他做了两件事,给帕姆带来了一个和一个现在闪步,有他们的衣服或塑料,每个人接下来要做的就是它调用方法,好的,等一下让我连接一下,任何V领都是LAN类的。
如果你打电话给我,则采用B方法打印LAMBDB的灯已变,当前的羔羊将被筛选,高扬他没有,所以他上升到这里,他会打印火腿串,这只是让平移正确,所以我认为问题是这部分就在这里,我们正在调用方法A我们是什么。
那因为你可以直接看代码,这里是火腿,你会说好,火腿打来电话,必从这里跳下来,并呼唤他是对的,但这是棘手的问题之一,关于继承的事情,让我们来看看日食只是一秒钟,我不会去。
今天花了很多时间在eclipse上。
但我认为这可能有助于说明发生了什么事,好吧,让我过去,这里是这些文件,今天就是我们展示的火腿,在幻灯片上,这是一只羔羊,好吧,我想弄清楚什么是羊肉,A确实记得继承是如何工作的,当你说我延长某人的时间时。
几乎就像我得到了他们所有的副本,正确粘贴到我身上的方法,除非我重写这些方法,在这种情况下,我如果我保留自己的,请不要复制他们的版本正确,我们知道,所以让我们在这里明确的做一下,只是为了说明。
如果我延长火腿,我去火腿,我把所有这些东西都拿走,我复制它们,然后我来到这里,我把它们粘贴正确,唯一的问题是,我有我们知道的方法,B的两个副本,我扔掉了继承的一个,我用我自己的权利,这就是我所做的。
所以现在如果我问你高扬做什么,当你调用方法A时,你会做什么,你会说哦,他打印开背,然后他调用BB就是这个羔羊,所以方法输出为,这就是和高扬AI的区别,爱,我想我想说的是,如果你只是天真的看着这个代码。
他说哦公羊是做什么的,当你打电话时,你说没有A,所以他放在这里,他去竞选火腿黑做什么,然后你就开始了,看着火腿你就可以做ob了,是真正的家人,所以你我认为诱人的错误答案是,认为他的桥可以很方便。
但它是我把灯替换成男人,你呢理解这一点,所以有点困难解释一下,但这就是代码,实际上这有意义吗,人们就是这样回来的,但他们却没有回来,知道,哦格特,所以你的问题是他是否愿意,重点是他打印的像两个。
比如这是第二件事,欲晒黑,因为土地没有他自己钓鱼,但没有担心他会打印土地,哦是的,基本上我猜我是尝试做,就像当你看到一个调用另一个方法的方法,必须记住它会调用该方法的版本,当前对象实际上会有这样的。
就像如果我实际上是一块土地,我的币就是B的土地外科医生,所以他是调局运行,所以有点混乱,但一旦你明白了,这一点又与多态性有关,一旦你明白了,就是这样,你会开始养成正确的行为习惯,当我写作时。
实际上是这样回答的,向下记得我们有几张桌子,几分钟前对于另一个例子,你可以制作这样的表格,但是当你正在填写的内容,我喜欢填写的表格式,写这样的东西,Print m8,然后它调用B我不写B的输出。
我只是写它调用B,所以当我到了这里,我就走牢好吧,然后我打电话给币,这样就可以了,打印蓝笔,这样对我有帮助,记得我把它写在正确的方式,它会变得更多,有趣的是,如果你看看山药,让我们在我走之前。
让我们保持良好的状态,你有什么问题吗,到目前为止这方面有意义吗,就像一种方法,要用另一种方法,你必须小心这种子类替换它的问题,意思是好的好吧,我们来谈谈,山药一会,那么山药丽贝卡在哪里,山药是树上的。
第三个,第三个下来让我们弄清楚是什么,这是球吗,是的,或者他首先打印YMYM,然后他把超级点称为什么,超级点日期那是什么,是他被发现的累,所以他会看看羊肉,但那里没有一只,所以他会找到一个可以这样的。
这意味着发生了,并且A将打印好吧,火腿是什么,可以打印吗,右边跟着一个,如果你调用它,它会做什么,在一口山药井上,山药里没有一个,类,所以他会在哪里查找他,你会在陆地类别中找到一个打印植物猪。
所以我是对的,所以,在宝石上跟住三,剩下三是啊,一个营地,一只羔羊,好吧好吧,慢点,如果你叫阿姨怎么办,萨姆那有什么作用,如果你正在寻找一种方法,在这里没有,所以他会向上查找,发现它就在这里。
所以他打印出的第一件事是先生,如果这东西基本上是冰的话,奶油香槟,然后打电话给超级同性恋,超级点A是汉堡模仿A克里斯和一个,然后是第三个,这就是所谓的正确吗,B对SAM发来的垃圾邮件做了什么。
嘿小鹿斑比的妈妈被枪杀了,我很难过,在大家都没关系的互联网上复合的,像我猜的最这个例子中有趣的农民是A方法,所以如果你看看这里的表,A方法最多,他们的复杂输出,都是因为他改变三者中每一个的事情。
课程稍微少一点,所以很友善,这个废话中最棘手的部分好吧,无论如何,如果你能做到这一点,你就可以有些不是决赛中的难点,如果你像我一样不懂平静,现在不用担心他们是这样的,问题出在练习决赛上。
当你做了其中一两个之后,他就会开始点击,你就会像哦好的,然后你就会变得很棒,实施保证,或者如果你不是,你应该问我一个昵称和你的部门,稍后我们会帮助您到达那里,对于这些如何进行,还有其他疑问吗。
我们的反馈,好吧,让我们来看看层压板货,山药A又说我不喜欢绿鸡蛋,我不喜欢他们,SAMM没关系,饿好吧,白色一个骗局做什么确实如此,所以让我们再次追踪它,是的,也许他做的第一件事就是打印YAMA。
所以这真是太好了抱歉,那么它被称为超级文档,超级点A是火腿版的,所以好吧,让我在我粘贴的地方做同样的技巧代码,我们谈论他是因为我认为这会帮助我们理解。
是的,我们去山药课吧,第三节课在这里,是的好吧,我有一个A,我有一个两弦,所以当我扩展时,我基本上继承了只有B方法正确,但唯一的方法我失踪了,所以这是唯一的一个,我直接收到了一个新方法。
所以如果我只是去吃羊肉并复制他的币,我把它粘贴到这里,做我的恶魔吧,这是有道理的,如果我需要弄清楚的话,现在就可以了,这是做什么的,我有一个妈妈,我有一个超级日,什么是超级日。
那么超级点一个意味着调用另一个,我被替换的A版本,堪称超经典版的soul,我该如何将其融入其中,就像这个心理模型的图片一样,我写在这里,我会去火腿和我抓住它,我会过来,在这里我将其粘贴并调用它。
像super a这样的东西,然后我就干了超级好,所以这几乎就像我一样,现在有一个名为超级模糊的方法存在,所以现在如果我想弄清楚A打印EMA,然后它调用什么,this跳转到此处。
打印ham a然后调用B跳转到这里打印羊肉,牛肉是这样做的,这就是为什么我现在得到这个输出,最后一个只是为了完成它,垃圾邮件人和垃圾邮件有弊权利。
所以我想我可以来这里吃山药,我可以再次复制这一切,我可以像这样将其粘贴到垃圾邮件中。
除了我有自己的B,我替换了高扬,所以我把这个贴在那个上面,现在如果我问A是什么意思,方法他会给你带来,然后它会跳跃到super打印HAI,然后它跳转到B打印垃圾邮件,因为这是我的google版本。
另一个问题,好的好的是的,所以嗯,好吧,当我粘贴这些方法时,这里并不是真正的java美丽的工作,真正做的事更像是我们看时所做的,这张照片上写着你想打电话A在我身上,我没看到他在哪里,我上去直到找到他们。
每当我发现我运行该版本时,据了解,如果被称为我必须调用他们的任何其他方法,从这里开始,所以这样我真的在做,但是如果你曾经保持超级超级,总是意味着去该方法之前的先前版本,该床的当前版本,所以如果我在这里。
我拉了一个,就是这个,如果我在这里或其他任何地方,我打电话超级点A他将寻找上面一个,所以前一个A之前那个A就是那个A,所以我想像我剪切粘贴的那个,我一直在做一个地方,这有点误导。
就想如果你说好山药有这个,然后他叫超级A,但是如果这个人叫super a,那不是会跑吗,这基本上就是你问的刺激,就像我实际上并没有复制这个经理,这里只是一群失业者,从这里找到这个方法,所以不有两种方法。
如果这个可以找到这个,所以画画是我唯一的犹豫,关于患者的切割式,如果你粘贴了相同的方法在堆栈中,这可能意味着有是他的多个副本,每个副本都调用其他,那不是真的,不管怎样,有点令人困惑。
但我是我想大部分时间只是想粘贴,可以帮助人们看到到底发生了什么事,太好了,我为什么这么做,好吧,这些都是我的技巧,如果我如果你能做到这一点,你就能做到,接下来我会实际问你的,星期五是我的观点。
其他的都可以,关于他们解决这些问题的问题,问题或如何再次做,如果你调用超级点撤销一些,如果你打电话给超级A这个东西就在那里,超类中的A必须是公共事的一些规则,公共和私人是一种复杂。
但项目确实意味着只有你安静,他甚至不是你的孩子,连你自己都不能回来,你可以看到他可能有点奇怪,我可以在这里开个关于不显示的笑话,你的私处给你的孩子什么的,就像那样,我不这样做,但也许我不这样做。
已经做了,但是是的,这是一种方法,超一流的私人工作,你不会允许调用它,我不会考验你,我会拥有一切这些公共方法,试图打电话给对方,我不会给你循环索引错误或非法的东西。
这并不是我想测试任何其他关于这件事的问题,是的,如果我在的话,基本上你就回来了,我说超级医生他会消失查找,直到找到另一个if柠檬水,从那往上看,如果它会上涨,我根本不想去,如果没有钉子,就按需要。
根本不,他们不会,所以我不会给你一个不会编译,或者至少如果我给你一些无法编译的东西,我搞砸了,我不是故意的,你还是晚安吧,有什么问题,我只是想其中一些准备有效问题的练习,就像我们为什么相信有什么意义。
我认为这是一种胡言乱语,我所在的地方是蜡,上蜡之类的东西,制作小指栅栏,但我真的教你如何空手道砍货,不管这里发生了什么,你永远不会写出愚蠢的东西,像这样的代码,但你会写相互扩展并调用的类彼此的方法。
你应该了解当你这样做时会发生什么,所以我可能可以选择更多现实的,引人入胜的例子,但我只是希望你专注于机械原理,并且这些机制是你无论如何,确实会在你的程序中使用,无论我想再教你什么。
我认为我们应该有时间的事情,因为在我们剩下的讲座中,我想要谈论一些叫做并让我跳到最后我会说话,关于一个叫做接口的东西,看过一点,但我还没有向你解释,所以我想要稍微填补一下这个空白。
我想用一个例子来激励这个部分讲座,假设你正在写作,你曾经做过不同类型的代码形状,您可能正在考虑og rage和看哪里知道,但也许是为了图形,但你可能没有这样做,您只想存储的图形,由于某种原因。
你正在做的一些形状,某种几何形状,所以你有圆形和三角形等类,肯定感觉像你的举行,应该使用继承权,因为他们都是形状的,所以你也许有就像形状客,或者也许你有举行,这就是他们的地方继承彼此,感觉就像公民。
当你继承类型的事情时,有类别和此类别,但你想的越多,你意识到这些课程是相关的,他们肯定是相关的,但是他们并没有太多你需要的代码,想要在代码共享之间共享,当你有两节课时,很好。
想要在同样的地方做同样的事情,我们都有办法让你知道,计算您的X与Y坐标条或类似的东西,但想象您在工作表上执行的操作,就像计算形状的面积一样,计算形状周围的周长,你计算的方式圆与方式超级不同。
你计算出一个正方形或矩形,也不同于你会这样做的方式,三角形,那么为什么我们要使用继承,再次没有我想要的代码,不想让你的三角代码出现在我的矩形代码,或任何正确的代码,这是一个有趣的情况。
我们由于每个相关的类其它,但它们真的不想互相分享任何代码,我该怎么办,在这种情况下,你使用称为一个接口和一个接口,它是这样的,就像一个没有编码的超类,并且而不是编写您的方法,此类将继承,而不是继承。
你声明了你只注销的方法,标题和名称以及方法的参数,而不是这些方法被继承到你的孩子们,你要求你的儿童权利,这些方法,而不是就像捐赠代码一样,就像对代码的需求有点像一种奇怪的方式,它有点相反继承。
所以如果你有界面,你可以说,我要求我的子类有这个方法和这个方法,在那个方法中,你为什么想要要做好这件事,有点像认证或类似的东西,如果你想称自己为律师,能够做这个这个那个并且必须有这些凭证。
熟练等界面就下认证,以及你可以说我保证我是一个形状,我是一个圆圈类,我保证我是一个形状,这意味着我保证我有一个周界法,答应我有一个面积方法和等等,你好吗,你好吗,这好吧,你写的一些东西。
你说你自己制作公共接口java文件,所以一个例子是我制作它称为形状的界面,我声明我写出方法的名称,例如public双倍面积或公共双倍总数周边,这些是方法,但相反写出括号并运行实现这些方法的代码。
我只是把他们留空,然后我把分号代替那些被称为抽象方法,和我正在做的事情,我是说如果你是一个形状,你必须同时拥有这两种方法,而我没有会说他们是如何实施的,这里是因为社会如何实施,这与举行不同补充了等等。
但是他是如果你这样做,你必须有办法做到这一点,你说我正在创造这个的起点名为shake的界面,再次是其目的是作为现在这些其他类的超类,我有那个界面,我可以访问所有内容,课程和我在实施中写道背面界面。
以及我所想的实现我所说的,我的承诺,我是举行班,我保证我将编写所有这些方法,在该界面中列出,我保证我想要那些你见过的方法,这在我们的一些之前,实践入门代码的危险和东西等等,那是因为。
我认为刽子手可能是我第一次把它放进你的,即使代码,我认为刽子手说,他像一个人或什么东西一样实现,就像那样,我这样做的原因是我想确保你有一定的,我期待你拥有的方法等等。
让我给你看一个简单的例子,在这里我有这些情报,我的项目中允许我关闭的文件,所有这些都形成圆形矩形,好的看看这些课程圈矩形三角形我有,界面形状还可以,现在你可以做什么,一旦你写完就可以走了,到不同的班级。
你可以说嘿我是一个圆圈,我实现现在的形状界面意味着一次,我说这意味着我保证我有一个返回A的area方法,双倍,我保证我有一个返回双精度数的周界方法,如果我不这样做。
如果这被称为margin方法或者其他什么,然后我的类现在会出现编译器错误,K你的类型圈必须实施一块区域店,意为他答应过你无法编译,所以我会把它放回去,将我的名字输出删除回区域好吗。
所以如果我把它给这三个人类圆形和矩形,以及,三角形,或任何我必须编码的东西及作用的具体代码,不管谁在乎三角形计算面积如何,矩形计算面积及其宽度乘以高度,圆如何计算它的面积,pi r平方。
无论什么细节并不重要,但是好的,这就是基本原理,设置界面以及如何实现一个你可能的接口,想知道或询问,就像什么一样,这样做的好处是为什么我的代码现在更好了,我能得到什么,这么说,所以我想你也有。
当你以正确的方式理解他时,使用继承,然后你说扩展好处是对象对象免费代码,如果我说只要一延伸小动物就延伸,我要扩展的那个人有继承,我获得代码的所有权利免费,所以我认为这很容易让你们看到,这很有用。
当我认为实现形状时就对了,我没有免费获得任何代码,我没有得到任何东西,事实上更像是现在我受到了限制,我有实事后要遵循一些规则,我必须兑现承诺的方法,我刚刚做了,所以不太明显,什么好处就在这里。
答案就在那里,确实对人没有任何好处,谁在写圆圈类,但是这不是这样做的好处,受益者就是受益者,可能会使用客户的圆圈类,如果我有一个叫做这个类的东西,就像形状,主要这只是一些,我想在其中使用一些控制台程序。
在那里塑造群体,我跑步方法你可以创建像圆圈C这样的变量,等于一个心圆半径为任意五个矩形,R等于new,大小为C的矩形表示37或无论什么计划,你都可以使用所有这些类,我们可以在我们之前做到这一点。
不需要形状界面来做,但是如果我有一大堆怎么办,形状我想把它们全部放在屏幕,我想存储所有这些想要全部使用,我该如何放置全部他们在一起,现在好了,有了一个形状界面。
现在这些类都实现了,我们可以将其视为该接口,有一个名为shape的公共超类,那么如何在代码中使用它。
正如你可以说的那样,形状支架括号,我的形状等于新形状,我的形状零中大小为二的数组是圆圈,C和我的形状,一个是矩形二,所以现在你可以把这些人放在一起对待,可以把圆圈VIN放进去。
我们就在同一数组中的所有目录或r release,或哈希映射或其他,因为他们有一个共同的超类,这实际上是一个非常有用的能够做的事情,或者我可以做的事情,像公共空间这样的东西可以做我的事情。
可以要求一个类型为sheet的参数,以及如何允许我调用该方法,我可以通过做事,我可以通过圈费,或者我可以通过矩形二或任何其他类,实现了我的形状接口,允许将其作为参数传递,dis方法。
他将接受任何事件作为参数,所以这非常有用,像这样把所有这些人放在一起好吧,如果我在这里使用这个形状,我说布里克林地区是加号点,他知道他有一个面积方法,因为无论他们包装什么参数,承诺它实现形状接口。
所以它知道它有那个方法,所以我可以说S点面积,我可以说打印line周长加S,点周长正确,然后我认为这里的要点是,如果我运行它,它会,来吧,他会打印出那是什么,做的很好哦,对不起,让我让我做。
我很快就会做一件事,原则是IM加S,然后我会做一个空白打印里之后,所以我只需打印S和的两个字符串,面积法和周长法,我得到了什么,我得到了,我是一个圆圈半径无我的区域,就是我的,周长是我是一个矩形。
这个宽度和高度是我的区,周长就是这么愚蠢,如果你是的话,东西又变成了幻影之地,有点可笑,但基本上就是这样,这段代码是什么,稍微少一点,荒谬的是,你可能想要一个数组,你可能想要打印的形状。
有关你可能的形状的信息,想要调用屏幕和一些方法,第一个和第二个方法,每一种不同的形状和这里的多态性,是当我调用区域,还将使用区域方法,我神智通过了那种形状,尽管类型的参数塑造了它将使用矩形面积方法。
比例三角区麦克白多态性只是为了带来这一切,都回到了共同点主题,欧好吧,所有这些例子多态性的业务特征,一段代码可以做某事,取决于什么类型对象正在与我交互,与圆形物体交互,计算面积由pi r组成。
我正在与矩形交互的东西,对象计算一个区域,包括长度乘以宽度,所以之间的联系,继承和接口是继承给了你两件事,使您可以在之间共享代码类,他给你多态性,因为他们有一个共同点,就是超级类型。
你可以参考所有这些通过代码共享多态性,继承接口,没有代码,与多态性共享,我不这样做,想分享我的代码,但我想成为能够将这些视为相关的彼此,就是这些所在,好吧,我认为学生有更多对有用性的怀疑接口。
但我想说的是,稍后接口会更有用,你正在编写更大的系统,说服学生比较困难,欣赏他们,因为既成事如此明显。
以至于您想要分享像这样的代码,我要做的最后一件事,在我们一周结束之前告诉你,我是想谈谈一个想法,内部有常亮的接口,事实上,如果你看一下启动器名称,冲浪者分配的代码,有一个试验叫冲浪或常量java。
它是一个接口,如果你打开它唯一的东西,里面有一堆公共静态最终变量,所以基本上它是你使用界面的技巧,在其中存储一堆常量寻找,然后你能做的事,如果你实现那个接口,基本上带来了所有这些常数到您的代码中。
以便您可以参考,对他们来说,这是一顶帽子,意为通常接口是关于你的方法承诺写,但在这种情况下,什么你要做的就是编写一个接口,没有任何方法可以不做任何事情就实现它,一旦你实施了所有其中的常量。
有点像吸收到你的文件中,所以我只是说该接口不会给你任何代码分享,他们确实会给你带来常数,但是他们没有给你方法,所以就是有点奇怪,但人们使用用于获取常量的接口,我们在他们的程序中这样做。
给你们的家庭作业七起始代码好吧,我还没到时候,现在就是了,周五我们的讲座就结束了,请周末愉快。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P27:27_ Real Java - 外影译坊 - BV14U4geNEEq
好的,我们将讨论如何在没有斯坦福大学的情况下,编写java程序,今天在我开始之前,图书馆讲一些简短的事情,尼克要我快点做一对,公告之一是我们正在发布期末考试的,考试复习是这个星期三的晚上或者下午。
我们仍然得到房间保留,所以我会将其发布在网站,我会联系你们一次,我们知道另一个的细节,事情是尼克有办公时间,明天但是有一点变化,有点他会让我们在两个小时开始,明天三三十到五三十,好的,现在就在。
就我们在班级中的位置而言。
这是我们的最后一周,就是你了,小伙伴们都期待着结局,春季季度,这算作这张图的反应,雷鸣般的好,我也很棒,好吧,我们只剩下这周了,有了它们,你就和我完蛋了,知道你可能正在努力工作。
很多项目和论文以及期末考试,一切都让你知道什么,我们今天要做,这周我要去简单谈谈期末考试合,然后谈谈这个真正的工作,没有那些斯坦福图书馆,星期三你不想错过我们正在做什么,我们的小动物锦标赛会很有趣。
所以我希望你会出现这个内容,周不在决赛,所以我知道这导致一些人不予理睬,但是我还是觉得很有趣,尽管如此,然后星期五这个星期五早上八三时,我们有期末考试上午,所以一定要在截止日期这些种类的条款。
记住你知道的事情,家庭作业7mm surfer只需要一个,不久前的今天,你仍然可以截止至周三十一五十九,但就是这样,所以请注意周三回家的硬截止时间,就决赛而言,我不认为是七分,我的互联网可以正常工作。
但我会尝试一下,无论如何哦,没关系,所以就最后如果你说到重点的话,你想从哪里开始思考,我之前说过,我们的材料已发布,我们的练习材料是发布一遍,你可以查看这些,每当你准备好时,这就是我们所拥有的。
我们有一个参考表格,列出了你所知道的所有不同的方法,你可以看看,那将附加到你的考试提前看看,如果你就像亲戚发布的练习考试一样,以及答案键和所有问题也出在代码中,如果你想尝试输入步骤网站。
他们进来并测试你的答案,看看是否不管它是否有效,我们有几个过去几个季度考试的其他链接,如果您还需要任何其他问题,或者如果您还想要更多问题,你可以看看你的部分讲义,尤其是来自过去三四个星期。
可能那里有一些额外的问题,你在部分期间没有到达,所以希望你有足够的问题,我大概知道主要的稀缺资源,这里还有更多时间,有足够的时间学习,有足够的时间看所有,这些都是合同中的一般内容,我想和你们一起做的事。
我不想让你感到惊讶,期末考试我要你打开考试,并说哦,是的,这些就是这样的,我所期待的问题,因为我看了练习材料,这些就像那些,所以希望你知道我想挑战你,但我不想欺骗你或给你惊喜。
所以如果你看看这些模拟考试,如果你觉得你已经准备好回答你这类问题,周五应该没问题,另一位将军,我要评论的是,你知道我知道在期中考试时,有些人感觉如果价格时间压力,两小时内解决所有问题。
是的我明白我是同情我们的决赛三个小时,但我不会给你一个小时,只出五倍的问题,所以希望三个小时足够的时间让人们完成事情,他们需要为决赛写下考试,我知道总有人无论如何都想要更多的时间,除了你。
我知道我的希望是,你会觉得你有足够的时间来回答,全部都写在纸上,所以就这样,就我所提出的问题而言,可能会问你,我的意思是,我认为一般而言,你想去看看那些练习考试,以获得想法吧。
打开其中一份试卷并翻阅真的很快,只是谈论一些它所存在的问题,我的意思是他是累积性的吗,他是累积的,因为我们所做的事情,在课程的前半部分是基础性的,并且是必要的了解我们约会的事情,然而课程的后半部分。
我不会在某个问题上考验你,专注于期中前的,我只是要测试你的新东西,所以它只是累积的,因为旧的需要一些东西来理解新事物,比如我不会问你,地球上的卡罗尔对机器人的问题,因为我们已经这么做了,我知道我是抱歉。
我知道你听到这个消息很难过,但是无论如何,这是我的一些事情,会问你,我可能会写一点具有参数和的神秘问题,返回值还涉及参考语义,这个想法原始值作为副本传递和参考值,如对象和当您将数组传递为参数。
因此如果您将数组作为参数并更改它,然后你会看到也可以在呼叫方进行更改,所以无论如何,我可能会要求你解决一个像这样的问题,另一种我可能会要求你做的问题是,现在写一个涉及速率的方法,有一些这样的问题。
也练习期中考试,但我没有实际上让你用数组编写代码,在中期我让你阅读一些带有数组的代码,但由于加薪更多的是一项家庭作业,我决定让你写的五个主题带有数组的代码,但最后我只是一个被宠坏。
或在最后你必须写的地方,一些涉及数组的代码,所以有你采用需要费率的方法,参数或返回数组做某事,另一种操作数组我可能会问你的问题,是具有多维数组的东西,一个二维数组,我认为如果我更有可能问你这样的问题。
但他会可能是一个多维数组,我可能会显示的图像的像素,你给我一张照片,我给你一张,之前和之后,我会说你应该编写代码来转动这组像素,到那组像素,我不知道这个练习测试是否需要等待,让我走。
让我去寻找我想的练习测试,二有类似的东西让我打开,它是的,在哪里。
像这样的东西,你知道写一个方法称为宽翻转,拍摄图像,并翻转它颠倒过来,并且也使它更宽,所以你必须查看二维数组像素,使其看起来像这样,所以如果我做多维度的事情,数组更有可能是这样的,好的。
我也可能会问你其中之一,这些遗传多态之谜,从上次开始就很烦恼的问题,周五的讲座,这些事那些困难和令人沮丧的起初,但我想在你做了一些之后练习你会遇到的问题,你可以很好的解决他们的地方。
可靠的这些也可以成为很好的,如果您是请在PASA论坛上询问,尝试解决其中之一,并且你会得到不同的答案,只需发布你的信息,直到我在恶作剧PM3问题期,对于这个我得到了,为什么我得到了。
我们很乐意提供不同的答案,和你一起经历并交谈,你对此感兴趣,所以就去练习一个货,其中两个确保您掌握窍门好吧,那么我很可能会问你要写某种生物,具有特定运动的生物,或是发现的东西或任何种类的东西。
参考表的行为,包括所有不同的生物方法,所以如果你忘记了那些是什么,你可以查一下名字,但可能让你写一整个小动物类,好的,我还要测试你什么集合,array list和HASHMAP。
我们在作业七中使用的那些,所以我可能会让你读和或写一些,涉及集合的代码,这是我读过一些代码的事例,我有一个需要哈希图的方法参数,和我操纵或制作新的哈希图,我将其打印出来,然后我如果你明白的话。
想让我看看哈希映射如何正常工作,以及术语编写使用哈希映射的代码,像这样的东西,你知道这是一个我传递地图作为参数的方法,我应该检查是否有一个地图,是另一个地图的子集,当我写出哈希映射I的内容。
有时以这种格式写他们,我说你知道关键等于价值,就像见是MARTI和值视该号码正在通话,并且直视这个数字,所以如果我写以这种格式,这就是我想要的,说这些是属于我要传入该集合的地图,还有什么方法哦。
我会非常可能会要求您在其中编写一些代码,你必须做一点点图形,用户界面小部件,几个按钮或其他东西,你必须实现一些GUI,一些与我们所做的相匹配的行为,作业期名字叫冲浪者,大概是将更多的关注小部件组建动作。
执行的那种,谷歌上的东西和更少,这些东西可能有霸王龙短暂露面,但我的目标是不要在那幅画上做很多测试,绘制形状的东西,因为那更重要,喜欢其中内容,好吧,就这样,我认为这就是整套事情,我可能忘记了一些事情。
这里的页面有一个要学习的主题列表,所以你可以看一下,还有一个列表,不会参加考试,如果您对您的需求有任何疑问,学习或不需要学习的东西,当然我们应该让我尼克知道,并且我们很乐意回答。
但剩下的就是你们有什么将军吗,关于决赛的问题,我们可能会被问到的问题,我们对如何学习的期望,学习什么,任何东西,任何东西问题,是的,像漫画一样好问题,重新分配,一般难度范围是多少,该生物可能处于高端。
就他而言更像河马货,我会说螃蟹比它像蚂蚁,当然如果你看看实践那些练习题都是问题,我真实提出的问题之前进行过测试,如果你能做那些你可以做的事情,可以做,我给你的那个实测保护问题还相当相当接近。
我想要的考虑一下合适的难度级别好吧,其他问题是的决赛在哪里哦,这是个好问题好吧,一开始我以为你的意思是,文件或其他东西在哪里,在我的硬盘上看,你无法拥有,它,已经过去了,你要去哪里。
最后我们被告知我们要在古巴200和201,不是这个吗,200这个我会把他们搞混的,对于即将到来的救人,我们将会在这座大楼里,但我们排除两个房间,所以我们有足够每个人使用的椅子。
我会确保该信息是发布在网站上,我想我们必须完成你们所有的工作,一点字母,所以我会确定每个人都会收到,关于去哪里的消息,去什么时候去那里,我们会确定每个人都知道去哪里,发生什么事去吧,谢谢你询问这个问题。
我尝试过的其他期末考试问题嗯,随时跟住,但他没有夹住,他正在做的手已经退出了,搂着女孩,我拜访了他,我拜访了他,你的中间扔了我的同性恋男人,我的比赛受到了伤害,我曾经经历过,我开始我去了奇迹。
昨天和我妻子一起看女人电影,我的岳母正在看这部电影,并且喜欢剧中唯一的男性角色,电影里这只热辣的猴子不现实,期待家伙,克里斯泰恩,然后他们就像把她扔进这个无缘无故的裸体,它就像洗澡的场景,然后他站起来。
全身都湿透了,赤裸裸的迎接所有人,我就像是这样,当流行媒体客观化时很烦人,他的性别是这样,你就知道了,对此很生气,我们谈到后来max时感动我的妻子,他很兴奋,喜欢他回来,伙计他是如此坚强。
他确实是拳打脚踢,电影里的我很喜欢他,就像我爱的那样,与bang bang和我的合作,就像我明白一样,我明白你不明白,实际上必须让我脑震荡,描述一下你有多喜欢我的电影,虽然我服用了一些edible。
但已经康复了好吧,我以为没什么,去看看吧,奇迹罗马人很棒,非常棒好吧,我想我已经谈论完了考试,剩下的就看你了,去学习吧,如果您的问题请在pr赛上询问我们,或在办公时间前来,我们很乐意谈论它。
可以帮助你解决你的问题,通过你的学习过程,我知道这是一个压力很大的一周,所以希望我们能得到通过太极剑好吧,让我们谈谈关于这里的一些新内容。
我要打开今天的幻灯片,这就是真正的java,保持真实,今天我所说的真正的java是指编写一个不实用,斯坦福图书馆,你们认识的甚至可能不知道是什么,斯坦福图书馆,我在其中编写了代码。
所写的是使用那些幸运的编码,今天我将尝试澄清这一点,也许还不完全清楚,为什么我为什么要关心代码来自什么,鸟类图书馆,我会尽力激励,那也是如此,我们有一套内裤在这里,我们创办的大学埃里克罗伯茨教授。
今年退休的,谁是真正的我们的有影响力和重要的成员,不仅写了这本书的教师,这门课的书,但也写了所有这些库文件,并创建了很多你们做的家庭作业,就像他做的突破任务一样,他是我们非常有影响力的成员。
帮助建立这门课程的教师,他目前从头开始教授我们的106,这班另一个戈尔曼入门课程,无论如何,我们正在努力创造,那又怎么样,这些图书馆建的好吗,帮助让事情变得更容易,通过拿走一些东西来学习编程。
java可能提供的几首部分,这些部件的更简单的替代品,列出了特定库的在那里,虽然这不是全部,就像卡罗尔一样,一切都与carol是斯坦福大学编写的一个库控制台,对随机生成器进行编程。
这些是斯坦福大学的图形程序,所有图形内容只有MULTIDIRECT,所有这些东西都是斯坦福大学,所以主要目标就像我说的,目标之一是为了让java的编写变得更简单,代码意味它很难学如何编程。
但也许是java语言也有一些粗糙的边缘,让他变得不必要的困难,所以他尝试稍微平滑一点,这些库的目标是有某些类型的程序太难写了,我们希望学生能够做到我说的图书馆,开馆的时候,我不在这里。
但我同意所有的限制,所以我说话的时候会说周关于这些事情,我认为这里的想法做图形很有趣,动画和游戏和突破盒这种东西,但是在普通的java中写起来有点困难,所以我们希望能够布置家庭作业。
像这样的程序供你们编写,所以这些库帮助我们做到了,我们认为合适的地方足够简单,我们可以要求您写吧,不用多说,我们来谈谈斯坦福大学的一个项目,和一个常规的java程序,所以这里是我们很早就做过的事情。
我没有会一直回到卡罗尔身边,因为并没有真正的工作模拟卡罗尔,我认为从正确的地方开始,这是我们所做的控制台程序,第二周,这是斯坦福控制台程序,减少了这个控制台程序。
现在我们扩展的襟翼到达我们知道的路线终点,这意味着我们正在使用继承,所以其他人写了这个控制台,我们正在添加功能的程序,具有此运行方法的库,使用print line命令打印消息。
这是您的第一个真正的java,程序检查那个阶段,那很酷,等等我会再做一次,我只是太为自己骄傲了,太棒了,你知道在矩阵我们都是真,为什么,我的眼睛是你从未使用过的,疼痛和更剧烈的身体,他们就是现在伙计。
现在为什么嗯,我的手指和你的手指是不同类型的,而IA程序这是一个真正的java程序,你会发现它没有扩展任何东西,只是一个名为hello的类,而不是run方法,你写一个main方法,同样的想法。
这是特殊的方法,实际上代表了程序的运行,说明为什么会改变,我在常规java中运行,斯坦福图书馆很好,我认为埃里克罗伯茨想要一个不同的名字,以便人们能够区分它们彼此的真实姓名。
这个方法在实际中被称为main,它在java中的版本,你必须传递一个该方法的参数,你必须声明一个名为spring的参数,括号括号艺术,它不必被称为艺术,但你必须有,我不想要字符串数组作为参数。
谈论那个参数太多了吧,有它它是一个叫做命令的东西,形参数数组,这是你的位置,操作系统可以通过额外的影响程序的参数,它是如何运行的,我们不会使用它,你知道的,如果我给你上这门课,如果没有斯坦福图书馆。
我们不会用它,那就是这个我们有一些不必要的参数,已经看到斯坦福图书馆,普林斯顿的命令实际上是真实命令的缩写形式,称为系统点出点打印,所以你知道打印,而不是写借给你,好世界。
我们写出完整的system out print line,HELLOW命令,世界最后的改变是我写的静力学这个词,在这里我没有说课堂上对静态这个词非常了解,但我的意思是尽可能短。
静态一词的定义意味着不关于物体,所以它有点像暗示,如果你省略这个词静态,那么你正在谈论对象等,例如当你写一个你不说的银行账户类,该文件中的任何地方都是静态的,但如果你只是编写运行的方法。
常规java你经常说这个词静态的,因为这些方法不是特别是任何物体的一部分,所以这是一个真正的java程序,你知道的可能会说,如果你的话,那也没有那么糟糕,说话就像我从这个那里走出来一样。
我不得不复制的一堆乱码,并写下另一件事,有不同的胡言乱语,但两者都去合法,所以为什么要改变所有这些东西,好吧,我想当然会更多,当你有一个更大的东西时,很有趣计划,但这只是一个开始点。
所以很多老师只是为了给你的背景,很多老师都讨厌他,因为我们都做的标准事情,那我们教学生如何程序是我们的第一个程序,ever show you是一个显示的程序,屏幕上显示hello world消息。
现在我们不这样做,我想说,因为我们写的第一个程序是坎雷尔,但这就像一个非常非常,人们一直在做的标准事情,几十年来,我们将学习课堂上的程序,这是一个程序,上面写着你好,世界是你写的吗。
因此一些老师认为这是一个很好的试金石,编程语言有多垃圾,你必须写才能打印,Hello,如果你正在写一个世界,在屏幕上使用Python语言编写的程序。
你打印hello world的方式是你说打印hello world就是这样,如果你保存的话,这就是整个程序到一个以点配结尾的文件中,然后你在print hello world中运行,没有进口。
没有阶级和混乱,没有什么是完整的程序,Python和java,如果你想要打印你好,世界必须写下所有这些,我想很多老师不喜欢,因为这当然会导致学生要好好问所有这些问题,什么是阶级,什么是公众。
跟我一起来的是什么,与公众相反,不用担心,就现在什么是public static void main,什么是禁欲主义,静态是什么意思,正在发生什么,与回报有关,回报是什么,现在不用担心什么春天。
括号括号艺术,它是一个数组字符串,好吧,我明白这个词,但是什么是数组以及什么是写好,我从来都不好,system out print型系统输出什么警系统是一个类,并且作为一个变量和打印型是一个方法。
等待这两个到底是什么,作为一名老师令人沮丧,我确信一个学生应该拥有所有这些善良的东西,如果你不这样做的话,就会漂浮,当你只是想尝试时,明白开始学习,所以我想了很多老师不喜欢这些东西。
java无论如何,看起来我想只是为了展示你,我没有骗你,我可以打开那个hello文件和那个标志,你正在使用斯坦福图书馆时,如果您导入任何标有AACM的内容,这些是斯坦福图书馆。
为什么他们说APM而不是其他什么,像斯坦福大学或任何你认识的人,可能会认为是斯坦福点程序点心,他是AACM的原因,是因为实际上罗伯茨教授来自我们大学,有一个特别工作组,来自各行各业的教授,大学一起出现。
与这些图书馆一起,他们在其他几所学校使用,他们好吧,这就是为什么他们被称为ACM图书馆,代替斯坦福大学库,所以如果我删除它,找不到控制台程序。
所以我会删除那个我将更改run into public static void,主要你必须写字符串,括号括号ARX此处然后为打印行,你必须说系统点输出,点打印线,然后你如果我运行的话。
基本上有相同的程序,这件事你好,唯一的区别是它打印出来,将所有剪辑放在这里,这样就可以了。
另一个关于什么的小事,斯坦福图书馆确实让我谈论,这里的控制台程序是什么,控制台程序类很好,如果你NO提供了这些方法,例如print并打印图D,它提供了一种使用方式,这个run方法来执行程序。
但它也提供了一个图形窗口,像默认一样包含控制台程序,控制台不是逻辑的引擎,所以那是另一回事,让学生感到困惑的是,你的程序的控制台,就像无论如何,在eclipse内部,这些都是图书馆可以做的事情。
到目前为止。
有关图书馆的任何问题,或关于这个小程序在这里或任何事物。
很简单,我的意思是,到目前为止,我只是用一个命令替换另一个命令命令,所以让我们看看其他一些命令,当你想要实际使用时的例子,要输入你说的内容,请阅读我的或你的说呼吸我们的方法,当我打电话给控制台程序时。
我正在从以下位置调用这些方法库,那么这些方法是做什么的,让我们记住你传递的一个字符串,并且这就像出现在首先是控制台,然后是用户类型程序,以任意类型等待的值值,然后如果用户介入错误的值,就像我说的那样是。
但他们没有输入,他说的是进入类型盘的零目标,让我再次输入,这就是全部方法,在实际程序中执行那些操作方法不存在。
所以你知道如何有这个系统点出点打印line,这是一个可变系统,弹出是一个用于递增输出的变量,有一个类似的变量叫做系统,如果您想询问用户,请点入so,让我们看看什么,不是有一个叫做年龄之类的程序。
你叫什么名字,你多大了,然后我会打印你有多少年,直到退休,让我们改变这一点,很快让我们摆脱这些导入,让我们把它变成常规的public static void main,像这样。
并且然后让我们做一下系统吧,林所以我们可能希望的是系统点,N点读取型什么的,就像那样,但不幸的是,人们java的设计者真的搞砸了,系统点是您阅读的方式来自用户的输入,但他没有任何有用的方法,我都做不到。
相信这是他唯一的方法,读取单个字符,想要关心,所以如果你想读一行,你已经喜欢读读读读读读读读取字符,直到看到斜杠,然后你停下来,这太荒谬了,所以当然这不是任何人的想法,真正做的是人们真正做的事情。
他们利用我们之前的朋友扫描扫描仪,这就是他们的内容,扫描仪来自java utidot星扫描仪,无视斯坦福大学的东西,这是一项真正的工作,所以你要做什么,你要做的就是让扫描仪调用键盘什么的。
等于一个新的扫描仪,你知道如何,这里的括号通常表示新文件,或因为你说的是,放在这里的东西,是你说系统点,你基本上说我想读东西,键盘输入来自控制台输入,现在在这里,而不是说系统并独醒你叫什么名字。
再次记住独行方法,它提示困难的事情,然后他读取结果,你必须分开这两件事的提示,就是你说系统输出打印或打印lo,不管怎样,然后你说你的名称,现在如果你想阅读你说的名字,键盘点读或不读读行。
但记住下一行键盘是我们扫描仪的名称,我们刚刚声明的变量没问题,然后如果你想阅读如何老了,你又要分开了吗,这个出来就不得不说一个系统点出点,打印拟合几岁,那么你必须说int age等于键盘点下一个int。
所以应该和,那么这是强调,因为我应该说点关闭,但我只是留下他,让我尝试一下,让我试试这个年龄计划,你叫什么名字,马蒂你几岁了,不推断眼镜,不告诉36年,直到退休了,所以现在我基本上已经有了相同的程序。
但组合没有就像我们谈论过的那样,弹出不太等同于斯坦福大学版本意味,如果我再次运行它,并且我说你叫什么名字,马蒂怎么样,你老了不关你的事吗,崩溃,并且输入不匹配例外,因为他会考验你们,当你在的时候。
可能已经看过这个,当你写一个需求时,播放冲浪者或旋律或类似的东西,如果您尝试读取扫描仪,错误输入一个单词,并尝试阅读它,作为一个int,他不喜欢这样,并且它崩溃,所以这仍然不完全是和斯坦福版本一样好。
因为它需要让用户在低音格式化,我将如何做到这一点,现在不会在课堂上这样做,但我要做的是阅读该人输入的内容,随着他们的年龄,然后我必须检查是否是INT,如果不是,我会必须再次打印。
我必须写一个一会儿循环来做到这一点,否则我会编写一个辅助方法来执行此操作,或无论如何这种性质的东西,这是一个程序,所以只是为了上下文,如果你有兴趣,你知道我很性感,java在我们所在的另一所大学。
不要失去这些图书馆,大学华盛顿以及我们分配时所做的事情,我们的作业是我们说好,我会用扫描仪读取键盘和其他东西,但我们只是告诉他们,你可以假设用户不会输入任何不好的内容。
他们不会输入不属于数字或其他任何东西,因为我们只是想让学生工作人员写下所有这些,一会儿循环到各处,检查其中是否有效,这使得程序太长,所以优点很有趣,就像在斯坦福大学一样,不必你知道放松一下的假设。
因为我们的方法将,无论如何都会自动为你阅读提示,这是一个有键盘输入的程序和控制台输出,好吧,所以你可以看到很多这样的改进,好像没什么改进,但是这个每周每堂课的时间开始增加。
我们可以变得更快的地方,进一步了解这些库,您就会知道,还有一点是的,这就是程序,你多大了,我们刚刚这么做了,所以跟随机数,这只是另一个随机的小图书馆发电机,试雨ACM,所以你可以说。
我想要下一个从一英寸到六英寸或类似的值,这很有趣,因为原始的java就像旧的java1。01样。
他们为你提供的方式,随机数是他们有方法调用math random,并返回一个从零点O到1。0的随机数,就是这样,如果你想要一个随机的怎么办,从110的数字你怎么做,任何想法,随机整数从110使用。
只有这个东西,乘以十是的,如果你说数学点随机乘以十,将返回零偶2。10点欧,我们从技术上讲是9。999,然后已将其转换为int bean,如果你得到一个从09的整数,想要一个体弱的110。
你都做加一,然后将其移过来,从1~10,你知道你能做到这些事情,但有点烦人,后来他们说这是废话,我们应该做一些更好的事情,然后他们做了一个叫做random的类,这就是java,就像我不知道一点一样。
不久前如果你想做的话,可以你可能真实的随机数,想要将这个随机类语义写,打开这个名为投资尺I的程序,保证我会停止转换所有这些一分钟内的程序,但无效ma字符串,括号括号参数,所以这是一个程序,只是掷骰子。
直到我们求和为期,我想我们写的,在我们不久前的一次讲座中,你不能导入这些AACM东西,如果你想要真正的随机数字生成器,位于java u t i l中包,它不叫随机生成器,它被称为随机,并且你没有说随机。
Get instance,你说新的随机数它有下一英寸的方法,但它只需要一个参数,即最大值,并从零返回到一小于该最大值,所以如果你想要一个16的数字,你必须问他对于05之间的数字,然后加一。
因为这会给你一个将其移过的数字,使其成为从1~6的数字,现在我会说system out print型,所以我认为随机生成器库不一样,和其他一些一样有用,但它确实提供了一点点功能,所以如果我运行骰子。
我想你会看到的是,如果我们掷骰子,直到我得到七,结果好,所以那就是我们现在可以使用的另一个库。
真正的java版本,OK让我们保留嗯,是的好吧,这就像一个完整的程序,我不会去编辑这个一个,但这是打印I的事例,我认为我们做到了我们谈论过的这件事,我们做的参数就像小盒子一样,星线和被动参数。
当你编写程序时,那些已经破碎的,你大多会使用这样的方法,将方法放入这些静态方法中,如果你不是的话,你为什么说静态好,从一个类继承更多你的代码与系统分离,java中的类和对象以及核实。
这就是你通常说的静态的情况,更多时候,我真的不想去深入了解其运作方式的,每一个细节,但你知道你把一切弄得一团糟,它是静态的,你创建了一个main方法,更改所有打印的内容。
system out print镜头,那就是基本上是等效的版本,相同的程序不同的是突出显示,好吧,没那么不同,但是你知道有点不同好吗,让我们继续讨论图形一分钟,因为我认为这个图形可能是最大的。
这个图书馆的单一动机,我提到我们希望能够分配诸如突破之类的东西,它只是有点太难了,与标准java,所以我想分开,你知道我们谈论过两件事,绘制G椭圆形等形状,我们谈论了像J这样的食尸鬼。
按钮和动作监听契合那种东西好吧,那么让我们来谈谈那些黏糊糊的东西,我们先学什么东西,然后然后我们稍后再回到geo mos,这是一个有GUI的程序扩展程序,它有添加操作。
真正可以表演我们的听众学到了所有这些东西,这是一种任务,其中有些是新的,有些事这是真正的java,所以让我尝试一下,当你在这里解释图书馆时,扩展程序,它使您的程序进入弹出的图形窗口,在真正的java中。
你看不到屏幕,除非你把一个窗户作为唯一的窗户,windows是我们为自己制造的,称为j frame对象,你必须创建一个新的JEFFERSON对象,然后你告诉他是可见的,他将看来你可以放任何。
你想要的东西在那扇窗户里面,窗口的创建和显示是有点隐式的处,理为程序的扩展,另一件事是,如果你有一个图形程序,它可以制作为你绘制画布,我稍后会讨论这个,以及其他的斯坦福大学图书馆的第三件事。
他们在这里做的是简化一些事件是如何连接的,所以如果你看看这里的代码,我们思考这是斯坦福大学图书馆,我们仍然说添加动作监听器和那一行,找到所有的小按钮,并开始监听所有按钮,当我们点击它们时,它会调用动作。
正确,很可爱,在真实的java世界中添加动作,听众方法不存在,你你必须做的是,你必须单独与按钮交谈,并说黑按钮,I想将自己添加为您的听众,黑其他按钮,我想听你说话。
所以你必须单独添加你的程序来听这些按钮,不世界上最难的事,除了你如果我提到的话,就必须在这里这样做,java中的windows被称为JE框架,如果你想制作一个j frame,这就是你要做的。
你只需制作一个新的JEFFERY对象,你可以向其中添加内容,就像我们将东西添加到程序,让它们出现在屏幕右侧,您可以设置我们的布局,谈论了莱亚所有这些布局经理们,我教给你们,我们真正的工作。
事实上所有的小部件都像这按钮,没任何以J开头的东西都是真正的java,所以这是个好消息,不要重新学习这些和想法,动作监听器动作事件是真正的java,你不必重新学习,那些实际上只是一个程序类。
将它们全部放在一起,是新的一步,我们必须忘记并重新学习,这是所有这些不同的方法。
JEFRAME可以有,所以我只是想拿一个非常小的java图形,在这里编程,并向您展示它是如何实现的有效,所以这里有一个名为color的程序,有趣,我想我们有这个计划,说有时是红色。
有时是蓝色或类似的东西,所以就想等一下让我运行这个。
然后把它放在屏幕上,所以这是这个程序中,我们说红色或蓝色或我认为这是倒退等等。
如果它是红色的,为什么它会倒退,将其设置为红色,我将其设置为蓝色,无论如何,如果这真的是我想转换的简单小程序,这就是真正的java,所以让我来展示一下,你可以在这里快速执行一些步骤,这样就可以了。
首先我们不需要扩展程序,我们需要扔掉任何ACM在这里导入,请记住,真正的java程序有这个主要方法,public static void main字符串方括号方,括号2X和A等一下我要提出问题标记。
我不知道这里会发生什么,因为当你扩展程序时,你知道你有设置的印度代码窗户之类的东西,但是然后实际上还有另一个步骤,无需你这么说就发生,就像现在我已经初始化了我的窗户,使这里的窗户把窗口放在屏幕上。
你可能根本没有想到,认为这是某人的事情需要做,但图书馆正在做,对我们来说,无论我们是否知道,这就是我需要做的事情,这个主页,但让我来看看APE中的一些一点点,所以这按钮仍然很好,J按钮仍然没问题。
这件事说添加到南部,我无法添加到,我添加意味着添加到这个对象,我不是程序不再存在,所以我无法添加到,你能做的就是你可以做一个jj frame,等于一个新的j frame,那是一扇窗户。
我可以把你放在这里,知道马蒂的色彩很有趣,现在在这个框架,我可以说点添加按钮,一自己还好,框架点也添加按钮,所以他不明白自我是什么,因为男方使得对一种布局的感觉是边框,布局点难。
所以像什么斯坦福大学图书馆正在做的事,有点拉近这些常数,将它们导入程序库,所以你可以只说salt,而不是waterlayout dog step,但现在我添加了,如果我愿意的话,把那些东西放到窗户上。
将窗口设置在屏幕上,我想说的是,Framed set visible true,所以框架将出现,使其自身显示本身在屏幕上,这个添加操作听众不再工作了,你必须做什么,就像我说的那样。
以前你必须和每个人交谈,单独的小部件,假设我想要听你说,我想要你们,所以你们说黑按钮E我想添加一个动作监听者,以及谁将要执行听这个对象将要听,我会用按钮做同样的事情,到按钮添加动作监听器。
所以这个现在我们已经看到了,这个这里的东西消失了,在此个人之前添加操作听众,我们在哪里看到了重述的内容等等,你和一个特定的人交谈,小不见,是的,当我们想听时,谢谢,你到一个文本框,我们说黑那个文本。
现在当你按下时框点H监听器,在文本框中输入ENTE2即可,同样的想法只是那个广告,实际上listener是带有S的复数,找到所有按钮并调用操作,每一个都有单一的神经按钮,所以我们用这种替换它。
这里的代码设置visible true,好吧,唯一的事情就是有几件事我仍然需要修复,只需添加X这个动作,执行仍然是方法,我们需要这里说设置背景读取,设置背景蓝色不起作用,你觉得应该是什么。
相反让我一步步了解背景仍然是F方法的目标,但是我这样称呼他在某些方面是错误的方式,是的,是的,这是一个完美的答案,他说我需要说一下框架点部背景,因为现在窗户的框架很友善,他自己的小部件。
他自己的对象必须与框架点击对话背景,框架点设置支持者和你给了我这个的另一部分,该变量将超出此处的范围,我无法与该变量交谈,所以我需要使该变量如您所说,变成像这样的私人领域。
现在在这里我不会说这框架框架就说框架好吧,现在我们快到了,最后一部分是这个添加动作监听器不起作用,因为我必须做一件小事,我们并没有真正谈论过类,如果你有这个方法,并且您希望能够添加到听你必须写的按钮。
你的班级标题上有一些东西,你所说的实现动作侦听器的地方,你知道正确执行什么,这与它的接口有关,有一个名为解释的侦听器,该接口调用的动作监听器,有动作的动作监听器执行方法,如果你实现了接口。
然后你就可以附加你自己作为按钮的监听者,但是如果你不,你可以,为什么我们不必在ACM库里说,这个原因是因为程序类实现了动作监听器,所以我们不必说,因为超类这么说,无论如何,这些都是改变我们需要做的。
最后一件事是,这里主要我们需要弄清楚要做什么,放在main方法中,因为没有下面的其他代码将运行,除非main delta2,所以你知道你可能有想想,也许我应该把这个进入main,但我的意思是。
我不认为我可以涵盖每一个小细节讲座,但是这里的代码与这些私有字段和这个INIT,和这个执行代码必须执行的所有操作,对于对象,这些是一个字段对象,这些是对象的方法,这是一个不属于对象。
是一个令人困惑的概念,我只是挥挥手,但基本上我必须从中得到我不处理物体的世界,到我所在的世界和桥梁,这样做就是说颜色有趣,有趣等于新的色彩乐趣,然后说有趣,我认为这个对于一些学生来说有点令人困惑。
我认为拥有一个更有意义单独的文件,例如哎呀,我不想要新项目或名为color的新类main,如果我做了一个颜色主类,有一个主要方法说创建一个新的color fn,然后调用它的INIT,会跳到这里的方法。
并开始运行这段代码,这样我就不会再次知道,就像我认为这有点有点令人困惑,但这不是一些物体,但我必须制作一个物体,并告诉他按顺序开始工作,让所有其它方法就像我说的那样,再次激活自己。
认为这可能有点令人困惑,但这是我们需要的最后一小块,所以现在如果我运行color man,你看到了吗,该计划,这里,他就在那儿,你看到了吗,他在那到底是什么,你为什么有,知道为什么。
这就是为什么我那么小,他,猜测或者他是否知道原因或如何解决,他或探头,因为java讨厌我们所有的人,简单的答案好吧,我的意思是看看是否有一件事,今年春天我们可能已经了解到,如果计算机真的很擅长告诉。
完全按照我们告诉他们的去做,仅此而已,就像有时他们所做的那样,我们写的,但不是我们的意思,当你创建一个java时,默认情况下是正确的,window或j frame,并且你让它出现屏幕上不知道尺寸是多少。
你想要窗口,除非你说,所以现在在斯坦福大学图书馆认为这太混乱了,所以他们制作了一种默认的矩形尺码,如果你不告诉我你的尺码,我想要给你这个特定的尺寸,我不知道具体有多少像素,是否存在某种默认值。
真正的java中的默认值是很小的,没用,所以你可能会说这不是非常好的默认值,但无论如何,如果你希望窗口具有一定的尺寸,应该说框架点设置大小为I,不知道500X300,所以这样可能有一点帮助,哎呀让我跑。
这个家伙在这里跑,颜色主要好吧,接在窗口弹出了万岁,看起来更好,我按蓝色哦,好吧嗯,你可能会注意到的另一件事,这不太正确是在哪里,红色按钮你还记得这个程序吗,有一个红色按钮和一个蓝色按钮,所以。
java GUI的另一个愚蠢的事情是,你知道窗口使用边框布局,以便您可以将内容添加到北中南溪河中心,旦默认意味着,如果你添加两件事到同一地区的,最后一个比前一个崩溃,所以这不是他的工作原理。
斯坦福图书馆,但那是因为斯坦福图书馆秘密的有镇面板,位于北南东西河中心,附有布局管理器,以便可以在其中包含多个小部件,如果你想要多个小部件,则每个区域在这个程序的南部里,你能做的事。
你可以说记得我们做了一个上周的一点点,你说J面板难等于新G面板,让我们给他一个新的流程布局,使事物从左到右流动的那个好的,让我们在这里使用这些按钮,而不是直接将它们添加到框架。
让我们在自我添加时做自我点,让我们让我们把这些按钮放在南边面板,然后到框架我就添加南方好吧,现在如果我运行这个,那么我想你会看到的是,这两个按钮出现了万岁哦,但为什么男方在上面,因为我没说把他加到男方。
抱歉,天下难道难,我以为会是从名字就可以看出,但java却没有听我说好吧,让我们来龙吧,再来一个吧,现在他们在南方红南黑到底不起作用,所以他不是实际上改变背景颜色,所以我相信他叫这个方法,让我仔细检查。
让我只要确保它就在这里,我可以说system out print比你好,其实,表现的好好吧,让我做,确保当我们运行程序,所以它正在调用行动,但我没有看到背景颜色,为什么,因为好中心实际上什么都没有。
框架的背景颜色没有显示出来,所以我想办法,你必须解决这个问题,必须在中制作某种小部件,像卷面板或其他东西一样居中,但是我会做一个这按钮,出于说明目的,所以我会说卷按钮,中心按钮,我会说中心。
按钮是新的J按钮,Hi,然后在这里我将添加该中心按钮,到边框布局中心,窗户,然后到这里,而不是框架设置背景,我会做一个中心按钮点设置背景,我只是想告诉你,你无法设置,一般只是一个框架的背景。
因为那里没什么可看的,所以你必须在那里放一些东西,放一个J面板或J按钮,或这是中心按钮,现在它变成红色,现在它变成蓝色,所以无论如何,我不认为这个程序这里不可能写货明白,但仅此而已,小事情开始增加。
是的,你就像以前一样,一个只是稍微容易一点,无论如何,我只剩下几分钟了。
所以我只提几个,然后我们就离开这里,我想向你提及的最后一件事,当你画出像这样的东西时,这是汽车这个图形程序在哪里,我们需要保留雷克斯和地理洞,所有这些我认为这是可能是整体中最好的部分,图书馆的最大影响。
库氏这些图形形状和对象,有一种绘制图形的方法,在常规java中它看起来有点像这样,我不会真的解释清楚,我只是要展示对你来说,看起来你必须这样做,使用称为图形记的对象,就像一支笔。
你说黑G填充这个REACCORD填充是椭圆形的,这就是你绘制形状的方式,你可能说它看起来差不多,很简单,我的意思是如果你看的话,这里颜色为红色,然后我画这两个轮子和我很好的传递了坐标。
在这里我有g to原型,并且我设置了红色,我添加了轮子,实际上如果你看看这个大约需要八行代码,然后这里需要三行代码,画同一个轮子,那么天真的你,我知道观众会说我喜欢常规java更好更简单。
实际上真正的java方式在哪里,开始成为真正的痛苦的地方,你有很多不同的动画形状,彼此相互作用,同时美丽的ACM酷似这些形状是对象,你可以和黑举行改变交谈,你的颜色,汽车移动你的身体。
你知道周围的树木会变色,改变位置就更难了,使用标准java,你基本上必须跟踪所有协调所有形状,您自己使用屏幕上的所有内容,您自己的类或使用数组列表或某件事,这真的很痛苦,更新屏幕。
特别是如果你正在做一些像动画这样的事情,这种面向对象的图形图书馆,确实允许很多不同的易于处理的程序类型,即使对于入门学生也可写,就像突破是绝对的,让你看到真正的java,相信我。
无论你在突破时遇到什么困难,他们会非常放大了,用老式的方式做事,所以无论如何,总之有一个拥有酷和实用的权衡,图书馆肯定有一些有益于,使其中一些代码更容易写流畅了,语言或语言的粗糙边缘,很酷的语言库。
允许我们写出我们无法写出的烧伤,否则我会说缺点,图书馆的一个特点就是有些学生感觉很好,我没有学到真正的工作,我不知道如何编写真正的程序,不知道这个技能会不会转移去另一所大学,或工作或另一个地方。
因为我学到了定制斯坦福大学的东西,我认为这里的思考过程是这样的,现在你已经学会了我们的java了,如果你愿意的话,不会花你太长时间学习真正的java,主要是我们本来的样子,试图教你。
不是特别是非常社区范围和概念的原则,参数事件和图形以及所有这些不同的事情,我们了解了如何在比赛中存储数据,虽然这些事情并不特定于斯坦福大学,所以这就是这里的思考过程,但是有点无论如何。
最后一件事是有利有弊,在我们离开之前,我会说的是,这个与斯坦福图书馆无关,与非图书馆相比,但我有过学生常见的问题是,你知道我写过这些程序,才要向某人展示我想要发送的内容,对我妈妈或我兄弟或其他什么。
我该怎么做,如果有的话,你感兴趣的有一个课堂网页上的讲义,关于制作jr档案的讲义区,我会引导你去看那份讲义,我不会真的去经历它,今天课堂上有完整的细节,但你可以如果你看过我,请制作这个小文件。
将这些内容与您可以运行的演示一起发布,对于家庭作业,但你可以在ECONNECT中也可以这样做,有一个命令采取你的整个项目盒,将其捆绑到一个文件中,并将该文件输出到您的硬盘,一次你有一个叫做JVA的文件。
并且有一次你可以将其发送至任何人,以及他们是否安装了java,他们可以运行该程序,所以看一下,如果你对此感兴趣,请看一下,在网页上的讲义上回答您的任何问题,没关系,就这样。
谢谢你的到来。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P3:03_ Problem Solving with Karel - 外影译坊 - BV14U4geNEEq
好吧,让我们开始吧,今天有几则简短的公告,是周末到这个周日吗,晚上五点,我希望你们都走注册,并告诉我们讨论什么,你有空的时间,我会今晚向您发送提醒电子邮件,或明天关于这个请记下来,或者如果你有的话。
现在就这样做,您随身携带的手机或笔记本电脑尽快做,只要有空就提交,然后下周初我们会让你知道你去过哪个部门,放入我们将要开始的下一篇末尾的讨论部分,一周你忘记这样做,唯一的注册你不太可能得到的东西。
如果您忘记了您的第一选择,不要在周日之前提交,所以寻找我的,在您的电子邮件中提醒另一件事是,我已经发布了我们的第一份家庭作业,是一套我想要的颂歌机器人问题,你来尝试解决,我会谈论它。
下课的时候有一点包含了所有材料,今天的讲座结束了,下周末我们这堂课的大部分作业,你将被允许与第一个是两人一组,尽管我希望你工作,您可以单独与您的广大朋友们的想法,代码材料和课程材料,但我不想让你分享。
与您的朋友或合作伙伴,一起解决问题或类似的东西,所以不要再结对,完成第一个作业好的,总的来说,我给你的建议就像事物的术语是主题,我认为对学生来说是成功的,你能做的最好的事情,在这门课上取得成功。
就是不等到最后一刻才开始,我知道的家庭作业听起来可能像某个老人,你妈妈或爸爸的某种东西到达时会说手指向右,你步步拖延,你了解你的千禧一代拖延太多或类似的事情,我想说的是,这些作业往往有点具有挑战性。
这是一门具有挑战性的课程,如果你开始的时间早于你得到的时间卡住了,你可以来我们的巢穴实验室,从周日或周一开始并获得帮助以后,你等待的时间越长,线路都在实验室里,因为每个人其他的也拖延等等,如果你想成功。
我会刚开始,你知道开始一点点,早些时候的作业,你试可能会做好,每项作业取决于材料讲座的形式,就像我下周交的东西不需要解决作业,一向这样,你就可以开始并理论上完成整个今天的作业。
如果你或你有已经教授了足够的材料,你理论上可以完成它,马上无论如何就这样发布的,我稍后会详细讨论,今天我要做的材料,更多CARO和更多java等等,解决问题,这来自颂歌第四章至第六章,机器人阅读器。
并记住,如果您没有您的实体副本。
可以从以下位置找到数字副本,课程网站上的教科书链接可以,所以如果你从以下位置转到幻灯片。
星期三只是为了记住上次上一堂课,我们学到了一些你知道可以用的东西,我们的计划,我们学到了我们的方法,学习了for循环,我们学习了关于if语句,所以我想知道如果我们能总结的很快的话,方法是什么。
什么是方法,它有什么用处,你为什么要想在某人的程序中使用一个方法,解决那个问题,我以为半路举起你的手保释来吧,有人回来,是的好吧,清理代码不必重复,你自己到底是什么样的,我认为你给了我一些好处。
孟菲斯的动力,但你可以吗,还有类似什么方法是什么意思也是吗,好的,肯定会发出一个新命令,这是现有命令的序列,有点是的,听起来不错,谢谢好的,它会清理你的代码,使它变得如此,如果你做同样的一组反复陈述。
你可以写下你的新方法的名称反复,所以它更短,cleaner清理你的代码,这很棒,完全可以让我们来谈谈,我们之前学到的其他东西,什么是for循环,Yes,重复一个命令或,命令一定次数给定,听起来不错。
嗯整个than之前的语法,所有这些看起来有点恶心,但那就是这是一件很强大的事情,因为如果你想做某件事,你能做1000次,只需编写一个for循环,或者你可以粘贴行代码,在你的中意签字代码。
然后你看起来像杰克尼科尔森闪闪发光,还是我不喜欢的东西,知道你不希望这重复你的编码数千次,你宁愿指示有一个很好的小缝循环,所以嗯我之前提到过这两种方法,for循环中有这个想法,它们可以帮助您避免重复。
你自己避免冗余吧,所以我认为有些学生得到了一点困惑,就像我想做某事,我应该使用循环5425,或者我应该使用该方法,然后执行该方法五次,哪一次,我想如果你做一个就更好了,仅包含一条语句的方法。
然后执行方法五,时间并不比只执行原来的语句五次,你就知道方法是适合将事物分组相关,然后也许你想要重复执行所有这些事情,所以你知道存在冗余这两个工具的清理方面,但它们的用法略有不同,if语句怎么样。
那是什么,因为那是亲爱的先生吗,好吧,他使将军更加灵活,程序正确,所以你说的if语句,如果以下条件成立,现在世界上关于该计划的信息,现在我想执行这个一段代码,否则我不会是的,完全可以,就以下而言。
卡罗尔的世界,你会问的事情,在if语句中是这样的,我站的地方有蜂鸣器吗,现在前面有一堵墙,你可以让我左转吗,你可以让你的程序在这些中做出反应,有时当学生是第一的时候,学习他们完全不学习的程序。
看看if语句的要点,因为他们说的好,如果的话,你为什么需要采取行动,有一个蜂鸣器,你不知道在哪里吗,海狸就在你面前的世界里离开并开始运行程序,你的反应是什么意思,那个逻辑那个陈述有什么作用,您认为嗯。
如果他说是的,你运行的程序可能想执行自身不同的世界,所以他在这里说更多,也许你有灵活的通用计划,不同的世界,不同的大小,不同的更深的位置,和你想要的成功并运行相同的程序,正确的在任何一个世界上等等。
KF语句可以让你做到这一点,这样你就记得我们是这样的。
写一个程序,我认为我们正在窃取此类会见卡罗尔文件,从之前我们要执行一些今天的会议,有不同的节目,我们正在研究的卡罗尔计划,我们有他,所以他们卡罗尔你会知道步行并拿到蜂鸣器,然后移动它。
在这里我们还写了一个版本,如果沿途有更多的蜂鸣器,卡罗尔会把它们全部捡起来。
这样我想写一个友好的程序,被一个变体,所以如果我跳回来到这里的幻灯片。
我想写一个就像扫地机一样的程序,遗产的直走和一切,卡罗尔将在有蜂鸣器的方格,好的把它们捡起来,他确实在幻灯片,我希望有一个名为扫得好,如果你看看,我的zip文件中的程序。
今天我有一个叫扫地机的人,java哎呀,别看我离开了,分组回答剧透我已经解决了,在我没有想到这个之前,实际上是问题,哎呀好吧,现在我有一个空白程序要写这个扫地机,可以捡起所有的东西,蜂鸣器现在可以了。
我只是想澄清一下,可以输入我们的粉红色代码,之前写过,如果是的话,再次使用它有用,所以我们写了一些代码,有点像走着走着捡起所有的蜂鸣器,就在我们编写的程序中,在我们做这样的事情之前五次。
并且每一次如果有蜂鸣器并接听人们都很好,所以我可以接受代码向前走,并拿起蜂鸣器不断响起,我可以过去,在这里我可以将其粘贴到此运行中,方法保佑你,这样我就可以做到,那就好了,现在扫地机会这样做。
如果你是想的很好,但我也有同样的想法,命令和这两个文件都在那里,某种方式来巩固它,这样我就不会需要为以下内容编写备忘录文件,暂时我会说我们不要担心,让我们限制我们的关注,单个文件。
稍后我们可以再回来讨论这个问题,但是好吧,那是我在走路向前并打起蜂鸣器,实际上如果你不介意的话,我会写一些我想说的公开内容,虚空横扫就是我写下一个前进的方法并深入,所以现在在运行中程序的一部分。
如果我说扫描告诉它运行该命令,所以真的这周有所有过去的代码,此时在run方法中好吗,让我们运行一下,看看效果如何,扫地机世界就在那里,世界上有一些传呼机,我开始节目和卡罗尔一起走,拾起更深的部分。
但卡罗尔没有一直走到最后,因为我说只走五趟,这世界有九个正方形,所以如果我从一开始我到九个,你们是斯坦福大学的学生吗,你很不错,在数学上,所以你可能知道我看完八遍二响一切顺利。
我总是很害怕在斯坦福大学的人们面前做数学,因为你知道有一个项目MADELINE,我很好,但是现在我可以走路了,一路走到世界的边缘,我正确的拿起所有蜂鸣器,你会发现的事情,我们会讨论关于适用鱼的灵活程序。
不同的世界对吧,如果世界怎么样,没有恰好添加八个正方形,我忘记了我有什么世界文件,你运行卡罗尔,你可以说加载世界,当你可以选择一个不同的世界运行程序,如果我点击了按钮,我已经有了所有这些世界文件。
但今天项目的一部分,我今天发布的zip文件的一部分,如果我走到这里,有一个叫扫地机,也是哦,那不完全是这样,我想等一下让我看看还有什么,我那里有扫地机,所以这是一个更大的世界,更多的方块。
所以如果我启动该程序,卡罗尔不会实际上一直走到最后,因为我的for循环在U8处停止好吧,我可以,我是个聪明人,我可以修复它,它从一变为15及14正方形,所以我将更改为14,现在一切都很好,当它出现时。
我首先再次运行该程序,首先加载它使用的是原始的世界,所以如果我开始,并且它将会14,然后哎呀,当你尝试时,卡罗尔就被阻止了,向前走,你的面前有一堵墙,你如何收到这条愤怒的红色信息。
这是一个我们不希望出现的错误程序,可以做到这一点,那么你怎么做,有时让他去援助,有时让他继续14,这很有趣,我们希望卡罗尔这样走路的情况,我们想不行,直到我们到达强,你想停下来。
实际上这是设计了for循环,并不是真正正确的结构,解决我们基本上想要的这个问题,说走吧,直到你无法走开为止,你可能已经想象得到解决这个问题的方法,我们就在其中,在这里写代码,你可能会说很好。
如果我可以移动,然后我想移动到你右边,事实上可以这么说。
CARROLL中有一个命令叫front,是畅通的,还是前面被挡住了,所有这些不同,所以你可以说好吧,如果前面清楚,我想要移动,就有可能做到这一点,程序可以使用以下方法,避免其中一些错误那个命令。
但我想即使我们这样做了,这仍然是我们的事情,使用错误的结构,java解决这个问题的办法位于for循环。
是一个for循环,实际上是当你确切知道数量时很好,有时你想做某事,我我想做八次,我想做的事五次,for循环并不是真正的,如果你只想根据需要多次执行,并且你不知道会发生多少次,直到出现这种情况为止。
这样做,只要是这种情况,如果你在我们称之为这样的情况,一个无限循环,它是不定次数。
我想重复一遍,如果你处于这样的情况,你想要不同结构的情况,这称为while循环,我正在教你的java声明,while循环的语法,看起来很像一个如果的巨大幸福声明,所以有些学生混淆了他们与彼此之间的区别。
while循环和GIF主题是if语句,检查条件是否为,或者在codes周围,这不是真的,could的while循环也可以做到这一点,但是运行完该代码后,返回并检查状况,再次运行代码检查条件。
运行它反复检查的代码条件,并运行里面的代码,直到顶部变为假的条件,直到它是不真实的。
所以如果我回到,这个程序我说好吧,我不是要去14次,或者无论我是什么,只要我会继续下去,你知道我提出了什么条件吗,前面是狂野的东西,虽然我可以清楚地知道继续前进,捡起海狸好吧,我已经跑了。
而且一切都还在继续,直到我不能再去,如果我家在另一个世界叫扫地机或宽,一直走,直到那个不能再运行了,如果我家在这个叫扫地机的世界很窄,世界比这个还小,好吧,只是为了说清楚关于while循环的作用。
是记住我之前谈过这个,当时你运行一个程序,我认为它就像有一个光标向下移动行,并执行这些行有影响力,所以如果你说运行,并且它说扫荡,然后它会跳到这里,这就是疯狂的执行方式。
他做的第一件事就是询问前面是否畅通,如果是则进入它运行所有这些命令序列行走,所以他移动,然后它也检查是否有海狸存在,跑步后有人捡起它,所有这些都回到这里,他再次询问前面是否清晰,所以他执行所有这些命令。
再次确定,所以检查测试运行所有语句,检查测试运行所有重复语句,直到测试部不再真实了,哦这是一个很好的问题,他说了什么,关于字段从哪里开始,所以我想现在谈论这个实际上是这样,让我忘记我是否有一个世界。
这让我仔细检查加载世界扫地机,扫地机我想还可以,这就是我拥有这款扫地机的原因世界,所以看看这个差异,一是你刚才问的,恰好有一个蜂鸣器,卡罗尔已经开始,另一件事是在一些,如果你的眼睛很锐利的话。
这些方块你可以看到他们的小数字越深,实际上意味着有一个一堆三个烧杯或一堆,不管有多少人说,卡罗尔可以拾取并存放多个蜂鸣器,但每次你说接蜂鸣器时,它只拿起其中之一,这样你就可以需要把它们全部捡起来。
程序真的可以工作,所以如果我运行这个,我从五个开始,没有一个他们被接了,卡罗尔也接了,每个广场都有一个蜂鸣器,这个错误这个程序有两个错误,基本上如果没有的话怎么办,拿起一只鸡只海狸,他不会挑选多篇论文。
我认为多个蜂鸣器错误是更容易发现的错误,首先解决这个问题,如果你看看这个程序,他说移动到,下一个方块以及是否有蜂鸣器,选择一个我们可以改变什么,该程序拾取所有蜂鸣器,给定的平方是while,While。
其中而不是一些学生的,如果是的话,如果有的话,会说很好,然后有蜂鸣器出现在场的传呼机发现了他们,也可以,但你不这样做,需要if和while,你知道吗,我的意思是你正在检查同样的事情发生两次。
所以他是其实只要把它放回去就好了,就是这样,字面上只是改变if1词变成a while,so while1词,我所在的广场上有报纸,常设想选一件选一件就可以了,当没有更多的时候就会停止好吧。
很多学生都构建了他们的以种向后的方式编程,也许在这里,他们写狂野海狸存在于外部,所以有时循环嵌套和排序,有些事情可能会让学生感到困惑,如果我在这里做外循环,说比伯现在的一件事是重要的,是要记住循环。
while循环,如果他们继续进行指导条件,直到测试变得不真实,所以另一种思考方式是,如果你的程序曾经到达这里,D24,请表示测试已完成,第918行不再正确,它意味着没有任何守门员在场卷曲,很有趣。
但它也意味着程序不会再循环一次,卡罗尔拿起了其中一台的传呼机,正方形,你知道我的意思吗,有很多我们不想要的方块可供观看,刚刚完成处理,其中之一正方形,所以无论如何,我认为顺序和嵌套很重要,这很重要。
想一想,所以这个版本的我更改if海狸的程序,送给野生海狸的礼物,应该照顾那个多重海狸错误,所以让我们尝试一下,我将装载您运行的清扫气管,卡罗尔把所有的事情都解决了,干得好,卡罗尔除了你问的问题。
卡罗尔站立的起始广场,没有听到那里的蜂鸣器,所以有什么问题,为什么不在乎我会从起始方块的while应该是,首先啊是的好吧,所以我认为这只是另一个例子,甚至对程序进行类似的推理,在你运行它们之前。
或者只是通过看看代码,如果你只是看看代码的,意思是让我们开始吧,首先让我们拿起蜂鸣器,在那之后,逻辑上如果我们所在的地方有海狸,原本坐着的,你会走开,在你开始挑选之前,从那里开始塞满理解,所以像这样。
程序永远不会选择现在出发广场有什么事情吗,你有一个建议让我们改变一下,为了让我们剪切并粘贴它,挑起更深的部分,然后好吧,让我们运行程序,看看他是否再次工作,我必须加载世界的青草者,所以有世界。
现在我开始了,是的,我正在选择蜂鸣器响了,看起来我们已经拿到了,这个程序,绝对完美,没什么问题,废话这不是,现在他变得更深了,就这样翻转两条线,固定购买英国产品,你知道我们已经将一个恐。
牢固的塞在另一个孔上,扎根于船上或其他什么地方,是的嗯,这是一种有趣的类型,一个错误,因为他确实看起来像这样,是如何解决的,正确结构这个问题,但这两个问题都不是命令,实际上可以解决这个问题。
实际上这种错误很常见,有一个名字。
所以我想跳,我忘记了是在这些灯光下,还是如果我能跳到我三岁的那个。
是的,我可以为此跳到我的航班讲座幻灯片三张。
所以清扫器同时循环好吧,那么这里到底发生了什么,是我们正在重复一对事情,正在发生变化,但是事实上,如果你认真思考一下,仔细计算我们需要的次数,移动次数与移动次数不同,有时你需要收拾东西。
如果你正在穿越一个巨大的世界,7米需要移动六次,但是你需要接机七次,所以将这些东西配对在一起的任务,永远不会导致正确的,如果我看的话,他们中的很多人都会明白,在我的代码中。
这两件事是这样的,开始活动和运动活动总是以受损的方式进行。
因此永远不可能做,其中一个的六个和另一个的七个,只需使用这段代码就可以了,每当你有某种人,你需要做的事情的发生,然后N加一次出现另一个你需要做的事情,是一件很漂亮的事,我们称之为栅栏柱的常见东西。
问题是因为这里的类比是,如果你正在建造一个旗,然后你需要放置柱子,你需要放置电线或者铁子,右边和之间的东西,如果你像在右图,你需要五个帖子,但你需要四段电线,严禁彼此。
所以如果你的算法像记住电脑一样建造围栏,科学和编程很多次,关于提出像这样的算法,我们告诉机器人该做什么,或者不管怎样,如果你告诉机器人,这是建造栅栏并放置柱子的方法,放下,然后放下一些电线。
然后重复很多次,你会有一个粉丝,你会有,但你会有电线悬挂在最后一个柱子上,栅栏正确,所以常见的伎俩,人们这样做是为了解决这样的问题,栅栏柱的问题是他们放置了一个柱子。
首先然后反复的它们放置一个电线和柱子,电线和柱子,电线和柱子,在每一次吉文斯的帖子中都是这样死亡,你将拥有完整的栅栏,没有悬空的电线,另一种选择会有那种红色的循环在那里,但在循环之后,最后放置一层。
最后一层分开,所以指示这里的关键见解是,在之外有一个额外的职位,你循环了你之外的许多东西重复,好吧好吧,如果我告诉你,我们有时我们会遇到栅栏柱问题,必须将类比映射到java和如果他们是什么帖子。
以及是什么,这个全面问题中的电线是什么,是柱子,什么是电线,这些帖子正在发烧,电线在方块之间移动,柱子或拾音器和电线都是运动,是的是的。
那好吧,如果我去的话,我的代码在这里,这部分是正确的帖子,这部分是之间的电线,铁子我才刚刚开始,我不想紧张,这个比喻就像一旦你了解这个策略,你可以将其应用到很多问题。
所以值得一试,谈论一分钟,所以诀窍是你的算法应该发布,然后电报我们已经接近我们的岗位了,好吧,所以让我这样做。
这意味着什么,我想要一篇文章,在我的重复之外,然后,在我的重复中重复订购,应在消防水袋后进行接线柱,这意味着我应该反转,这些就这样好吗,看看我在那里做了什么,让我们尝试一下,如果它有效。
我们将拾取所有帖子,甚至从起始方格开始结束方块,所以让我们加载并选择这个,让我们开始吧,所以我选择了第一个正方形,中间的正方形似乎正在工作,并且它正在接听最后一个方块啊好吧。
我知道我有时有点简介粘贴和移动代码,很快我用了很多像我选择型这样的小键盘键,然后我点击CTRLX进行剪切和控制,V粘贴和你不必做的事情,如果你不想的话,有一个一堆按钮和工具栏之类的东西,如果你愿意的话。
但那就是集合我们需要对此代码进行了更改嗯,你会注意到的一件事是可能有一个循环,然后另一个像这样循环就可以了,它是否运行第一个循环已完成,然后一旦完成它就开始第二个。
它们没有连接到每个其他直接他们只是按顺序,但这是我有循环的情况,我有第二个循环,但其中一个嵌套在里面,其他的,所以现在他们直接彼此的一部分high MAD是不同,所以有些学生很难顺序循环与嵌套循环。
这个程序对你来说很有意义,对此代码有任何疑问,我们写照,啊是的,所以他的问题是这样的,还有另一种方法可以做到这一点,也许我们也许我们做点什么,更像那样或者会的东西,没事好吧,我们来谈谈。
所以现在你基本上是在说,我可以剪切这段代码并粘贴它,就像那样是好是坏,我相信我还没有运行它,但我很确定他会查看我已经跑过的,主要区别在于它会多次执行这段代码,每一次进步都会做到之前和之后。
以及排序就像刚完成后一样,之后并围绕之前,难道我们不需要他,就像他们一样彼此相邻,因此程序将执行不必要的说明它们无害,但是从技术上来说有点效率低下,我发现很多新的程序员过分强调效率哦。
拥有电脑是不是很糟糕,执行一个额外的步骤,只要不会损害某些人的行为,可见这很好,但我倾向于更喜欢,如果我能准确的接受一段代码,只需将其移至此处即可,然后知道会少很多次运行它,我认为这有点小好一点。
所以我宁愿这样做,与其他外行功能很好,另一件事是,你知道一些人们不喜欢重复野生海狸,提出皮卡河,如果有野生海狸的接送服,你想把它清理一下吗,想法怎么样,一条消息怎么样。
如果我做了一个名为public board pick up的方法,所有的海狸并捡起所有的蜂鸣器,是当由海狸拾取时,它们都起来了,所以现在我只能说捡起所有的海狸,然后前面是明确的移动,并拿起所有蜜蜂。
看起来有点性感一点更好,是的,也许你不喜欢那样长名字,你知道你可以选择一个比那个短的不同名称,你应该选择一个描述性的名字,就像不要像前王子那样称呼他,你知道不要继续打电话,比如捡起全部或其他东西。
与此类似的任何其他问题,你们的节目做得非常好,所以让我给你一个更难的关于这个,让我再次运行它,并让我编辑世界,让我们放一些,这里和这里都有传呼机,我想要卡罗尔,一直走到边缘,把它们都捡起来。
但我不想要卡罗尔拿起中间的任何东西,就像其中的这两个人,你知道我是什么意思,是我想让卡罗尔到处走走,世界地边缘,像他一样一路摆到这里做,然后向上,然后结束,然后下来,Redit。
让我作为一个拯救世界扫地机,太快太猛烈,好吧,这像我一样有意义吗,不关心他,这是程序告诉我,你的是什么建议,我可以做什么尝试,也许不同,哦好吧,如果让我再运行一次,所以如果卡罗尔被阻止,就像卡罗尔一样。
一路走到这里,然后转弯向左,并开始向右走另一条路,现在好吧,我想我会怎样,说这是最优雅的方式,写程序是不说的事情,你不必这么说,这是本文末尾的一个例子,就在粗糙的地方,我们知道什么,确定卡罗尔在哪里。
或者发生了什么,世界的现状是什么,你知道那一刻正在发生,你说检查卡罗尔的博客和所有那种东西,D14行carol发生了什么,卡罗尔已经在世界的边缘了,一直到右边,所以你说卡罗尔阻止了什么。
我积极的卡罗尔被屏蔽了,所以我可以问,如果前面被挡住了,但是空洞的肯定是真的,因为我的线环和我的代码的其余部分是什么,不会停止,直到它变成是的,你知道我的意思,所以我认为学习的一个重要部分。
卡罗尔和编程就是省略东西,不需要在那里,就像我一样说前面是否被挡住了,这就是前面的对应部分清除,然后我在这里REX更多代码左转,然后移动什么的,就像这样,这是完全正确的代码,就像我启动程序一样。
卡罗尔是快转弯和移动完全正确,但如果如果前面被挡住了,我只是将其删除,他仍然工作的很好,因为下面的while循环不会停止,直到卡罗尔被屏蔽了,你知道我的意思,可以假设这是一个关于此刻的世界,还好。
所以就是这样,现在是一个好的开始,所以再给我一些,就像之后我应该做什么,向右扫,是的,你想要这些for循环在哪里去了四次,你想让我去哪里说,这听起来是个好主意的,开头就像在这里运行循环四次,我该怎么办。
在循环中做,让我们扫描,然后转动油滴,非常接近你的,说了,但这只是自动倍数字,当然可以让我们尝试一下,让我们装载清扫车太快太猛烈,也许做的很好,非常本地化,所以那里你去。
那就是那个扫地机绕过屏幕的所有四个边缘,做四次,走到最后右转,这有意义吗,也许,现在更有意义了,为什么我首先写了一个swift方法,因为原本我们可以在run方法中写了一段代码。
但是将sweet变成一种自己的方法,让我们更容易重复清扫,如果我们需要再等一会儿啊,因为我们已经知道你可以接听,比如哦,而不是,四字就像该行突出显示一样,也许可以把它变成一个while循环。
但我认为很难知道那里放什么小费意味,如果你说好吧,虽然有蜂鸣器,第一次扫荡结束时,不会有任何人是这样的工人,你说的可能不太有效,当手机被屏蔽或其他什么情况时好吧,每次你走到边缘时,你会被屏蔽。
所以我想在这种情况下,我的意思是总是很棘手,知道我应该离开for循环,还是while循环或give语句,我该怎么办,使用我所想到的所有内容的组合,在这种情况下,我只能知道世界是一个矩形。
如果我做出这样的假设,我会说很好,去周围走走矩形,我只是为了尺寸安装尺寸线,可以使用for循环,一次执行四次循环会更像,我不知道如何有很多方面我不知道是吗,在三角形世界或其他什么地方。
我想想在卡罗尔的世界里,你可以假设你在一个矩形里做一位,这个因为还可以吧,到目前为止我们做得还不错,你们还有其他问题吗,关于这个特定的循环是一回事,我只是想让你知道,我喜欢和你们一起写很多代码。
我想让你帮忙我写的以及其中的一部分,我的教学我认为对你有帮助,伙计们看看我写的程序,你知道吗,开发他们并调试他们等等,我要做的事情,一直我要告诉你的一件事,只是因为时钟很多时候是有限的。
课后我去清理代码A在我发布他之前一点点,例如将一个非常好的做法,在每个方法的开头添加注释,你的程序通常不会有这种情况,是时候在课堂上这样做了,但是正确的下课后我去做,这不是完成程序指导好的。
我只是想确保注意到这一点。
你知道好吧,让我们回到幻灯片,并谈论其他意见,编程示例,所以这个练习这里说的是赛道,但这基本上是我们之前所做的事情,世界的边界,那很好,我要继续前进,让我们谈谈关于这个叫做障碍跳线,所以墙壁很薄。
延伸到一定高度,卡罗尔我想跳过那些墙,希望卡罗尔最终落到底部,就像你的位置911样,允许假设正好有八条曲线很好,但你不这样做,知道每个人有多高,所以我想要你在编写这个程序时提供了帮助。
但我我也一直想一直强调方法的重要性,和打破大问题分解为小问题,我很多同学认为大错特错,让他们打出100行代码,然后他们运行程序看看它是否有效,他可能不行,如果我这样做的话,那是行不通的,选择这样做。
所以你不应该这样做,要么你明白我的意思,这很多更好地改变规则并解决问题,更简单的问题并测试它,并得到让它发挥作用,然后将其发展成你真正想要解决的问题,有什么比攀登更简单的任务,超过八个障碍。
如果我告诉你,你必须这么做怎么办,知道你生活中的八个引体向上,对于我们中的一些人来说,简单的任务有点困难,也许只做一根杆子就可以了,然后我会打电话给你,谈论另一个七点以后,如果我说就这么做。
很多时候写一些代码来做到这一点,笑了,这是一个非常简单的,减少一个你可以在程序中解决的问题,让我们编写代码来跨越一个障碍,好的,我的项目中有一个文件叫跨栏阿狐友。
为什么都是,这里的答案离开这里,笑声让我们编写一个名为jump hole的方法,好的这就像跳过一个障碍,所以也许永远都在奔跑中,方法我会说跳蓝河,有时当你写这些的时候,评论很高兴谈论这样的事情。
你做了什么,假设如果有的话。
就像如果你看这个节目,卡罗尔位于左下角,面向右朝东。
所以也许我会说的是,假设卡罗尔正处于障碍的底部,面向东方,然后就是我的了,在我的代码之后,方法会表现良好,这里在这段代码运行carol后,运行将会越过底部的障碍,他仍然面向东方。
所以我为什么要说全部那东西很好,因为喜欢,因为嗯你知道我有点想让卡罗尔离开。
我想在太空中也从这里到这里,卡罗尔可能面朝下或朝上,或在那一刻,但我想我如果卡罗尔面对的是再次正确的,原因是因为如果我让他像那样工作,然后我可以说再做一次,再做一次,再来一次,现在这将超越卡罗尔。
你知道我在说什么,如果卡罗尔以某种任意的方式挤压,然后我有担心,我不想担心。
所以我要承诺我的,如果你写这些方法就可以了,评论里你说的就是我说的假设,这就是我承诺要做的,有时我们会谈论这个,我们用不同的措辞说,这是我的前提条件,我认为这是真的,如果你满足我的先决条件。
那么我保证这个职位条件,我承诺我的代码完成后,这将是情况,还好我怎么跳过去一个障碍,你觉得怎么样,所以我是对的。
我得先翻过那个屋顶,我需要做的事情是左转好吧。
那会看起来很正确,所以好吧,左转有时我神志在这里写一些小笔记,就像朝北,所以只是注意事项,我自己你知道好吧,现在我面向北,我要走了,就像移动到顶部栏杆右边。
我要走多少次移动,是的,只要向右一直向上,我的身边有一堵墙,所以他们被部署了。
所有的方法都在等待,那在哪里拥有这些很有帮助。
参考文献很方便,前面有一个是清晰的,前面被挡住了,但还有我们的左和右是明确的,左和是的,它是快,并且相对于卡罗尔,基本上意味着。
如果我转下,留下我被阻止的内容,如果我转向右边,我会被挡住,所以你说我喜欢这个,而右侧我被阻止了,所以现在在,卡罗尔将要执行的代码的末尾,位于所面对的障碍物的左上角,右北卡罗尔会出现在我的房间里。
我的幻灯片卡罗尔就在这里,面朝上,这就是事情的状态,此时此刻,那么我需要什么,要做右转,然后移过去一格好吧,所以右转,所以现在我,有点在障碍的右上角,面朝东方,我想也许我可以转身,又对了。
现在我将面朝南,或朝下,或顺便说一句,右转,记得怎么没有转弯,右边只有左转,好米,还记得第一堂课,我们发出了一个叫右转的命令,所以我可以将该命令复制并粘贴到这个程序,让我可以转向,对对对。
但他们的创造者,他们知道斯坦福大学的卡罗尔系统,右转是很常见的事情,你会希望他们实际上有一个小玩意儿,而不是说延伸卡罗尔,你可以说延伸超级小新,超级卡罗尔,轮到了,又指挥超护,最终转向围绕命令。
这是两个主题向左,所以它反转了方向,请给我一杯水,我认为这些只是一些额外的,添加到超级卡罗尔的东西和那些他们两个,所以我要右转命令,因为我是超级好的,现在我在障碍物的右上角,我面对自己,我只想提及。
即使我们完全不是,您可以随时完成该程序,可以运行它,并测试它,看看是否到目前为止,你所写的部分是在职的,你还会注意到我之前说过,如果下划线没有,我就有错误,留下你的错误并继续编码。
在他们之后始终保持干净的程序,编译并运行,你知道如果你出现错误,修复它没有程序,那是在一个破碎的状态,所以就想让我们只是测试,我们到目前为止所写的内容,虽然他还没有完全完成,所以这是跨栏运动员。
如果我做了我的代码正确,我想面朝下,这就是我们所做的一切,让我们尝试一下,是的好的,到目前为止一切都很好,所以现在我正站在所面临的障碍的顶端难,我应该做什么,想做的事,帮帮我,当前方清晰时,我想移动。
是的,所以现在我在地面上面朝下,所以现在我需要做什么,我快完成了,我还缺一个,我想转身面对,如果你面朝下的话,那个方向那个方向那是左转,所以向左转,咚是的好吧,让我们试试吧,我,跳过了一个障碍。
是的先生,我们是,在那之前我们被阻止了一点,我们不是就可以开始了吗,继续前进,他说的是一个很好的问题,大约有一个地方在位置4~5处,没有障碍或书呆子和计算机的方式,科学家会说有一个现在的障碍大小为零。
所以好像是允许的,我想是这样,允许,这样我们的程序就不会中断,他不应该失败,所以他确实失败了,提出这样的问题,我们将做什么,如果障碍扩大,程序会做什么,零所以正确,所以我想你是什么,说得很好。
也许我们应该检查一下,看看是否有任何障碍,是的,所以我想解决这个问题,如果你先别介意,我想做的事,告诉他跳过所有的障碍,然后我们看看他是否呕吐,领炒作障碍,如果是这样,让我们解决它,是的,我告诉过你。
你可以假设正好有八个障碍,我写了一个命令来跳过一个障碍,我如何跳过所有这些,我应该使用for循环,我听说过一些,你低声咕哝着,是的,谢谢你们的热心参与,整个哦是的,如果我想跳过八篮,只跳八篮,时机成熟。
让我们尝试一下跑步吧,让我们,启动程序,关键时刻呀有趣,他继续前进,在这里观看另一个零,嗨沃森我们,所以我的意思是我认为是,当然有时你会写一个程序,然后你不完全确定他将如何对给定的反应。
我不知道它是否会起作用,银嗨库尔特,否则我现在就试试吧,确实做了一些不必要的旋转大悦,你知道他为什么这样做,盗局高门见就排序,我们做了一些你知道的事情,没有反对,知道那是什么,关于你,是的。
他说条款不在里面一个循环,所以你总是要转动,你总是会转身,面朝上你移动,直到你不阻止你开始out,未被阻塞,因此循环并没有真正做任何事,所以你根本不动,然后你就转身向右移动,向左移动。
进入你已经所在的街区,因为你从来没有上去,然后移动再说一次,如果你只是走过这段代码会做什么,基本上他让卡雷尔抬头看去,无处右转,向前走,然后往下看,哪也不去,然后再向右看,如果你真的是的话,这并没有错。
试图让卡雷尔不要做那个翻转,你可以按照你说的去做,就像如果我被阻止了,你就做这些事,知道等等,你可以吗,可以使用一些if语句来避免I,不在乎卡罗尔是否这么做,小翻转,我倾向于使用代码变得更简单。
而不是添加一堆给该计划更多的礼物,但踏实,当然如果我们需要避开臀部。
我们可以解决与此相关的其他问题问题,现在这个完全适用于八个障碍,我想让你想想,有时这是我的顶峰异国,我不想担心,如果你想想想的话,如果有12个怎么办,你绝对可以想到有四个关于这里一些疯狂的。
疯狂的事情会解决这个问题,而不是这个for循环,由于各种原因,它可能是正确的,要完全正确,有点棘手,但我们喜欢思考这个问题,因为很难区分最后的墙另一个障碍,所以可能有点无论如何,我想继续前进。
我们快没时间了,所以我的意思是,我会告诉你两件事,一是有另一个例子,我不确定我是否有是时候了,但我把它放在幻灯片中。
我们没有时间编写它在一起,但我会把它提到为你可能想查看的参考资料,你还有另一项练习,伦巴舞,就像让粗心一样走遍整个世界,并清理干净每一篇论文,每一篇和我认为这个问题的原因是有趣的是。
这并不完全是清楚该怎么做,火的意思是,如果你看看跨栏运动员很清楚就去吧,向上和向下,就像你跳过一个,这就是我要做的障碍,一个就像狼,我该如何攻击他,问题是你这里的策略是什么,可能有想法,但我敢打赌。
这个人旁边的你可能有不同的想法,也许你想要螺旋模式,然后把它们捡起来,也许你想去和蛇形的锯齿形图案,并选择它们,也许你想成为打字机,打到最后,然后回来,然后也许想做那件事,我不喜欢你。
有很多方法可以解决这个问题,我就告诉你,这些方法有很多比其他方式更难编码,我认为最好的策略是,找到我认为简单且可重复的东西,很多学生都想这样做,像这样偷偷摸摸的东西,但是有比偷偷摸摸更简单的事情。
算法就是这样的,把它们全部捡起来回来重复,现在你不用担心我了,走最后我们走正确的路,你可能会说我不明白为什么那更简单,我会告诉你什么,你们已经写了一个扫描方法,到最后并捡起所有报纸,所以转身就走回来。
然后上去,然后再做一次好吗,你可以以你所写的内容为基础,赖的扫地机,这变得很多,你可能会说更容易的事,清扫方法也适用于偷偷摸摸的事情,我可以走,但相信我更少的假设和更少的案例,如果你只是担心更少的事情。
做一件事,然后回来,然后重复一件事,就这样使程序变得更简单一点,你想查看他所在的解决方案幻灯片,所以我有大约一分钟的时间离开了。
我想告诉你的是,作业已发布,已获得作业的方式,作业是你点击作业网页就在这里,总是有将成为SPECT文档,来阅读和要下载并导入的SP文件,Eclipse,如果你不记得怎么做导入到eclipse中观察。
启动周三的讲座视频,我展示了怎么做,你要做的是,因为这是你要解决的卡雷尔问题。
第一个最简单叫做收集报纸,就去那里广场并拿到蜂鸣器,并带上它后退没那么难,第二个是石匠查找缺失的裂,用石头把纸填满,这样就可以建造了这些列,从底部开始使用电影,第三个屏幕到顶部,一种称为棋盘。
填写棋盘图案和饲料靴子,这很像伦巴,所以如果你看在RUA代码中,它可能会帮助你解决这个问题,这可能是最棘手的四个问题中的,第四个问题被称为终点,寻找移动卡雷尔到正中间,并放一个蜂鸣器,听起来很容易。
但可能具有欺骗性,很棘手,因为卡罗尔不知道如何做,算一下你怎么样,如果你不知道的话,事情的中间点,如果你想露营,如何猫的好,卡罗尔有问题,名为双重蜂鸣器的读者书,这是一个值得一看的好东西。
对于这个问题的想法有从技术上讲,第五个问题成为一切皆有可能,可以是你的任何事情,只想在交接时发挥创意,关于如何将其转入的描述,是本文档中描述了接下来的截止日期,周五周末,愉快出发吧,看看这个装备设置。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P4:04_ Console and Expressions - 外影译坊 - BV14U4geNEEq
好吧大家为什么我们不现在就开始呢,欢迎本周回来,很好,再次见到你们,大家你们的作业,你的卡罗尔作业出来了,本周末到期,所以请保留,如果您需要帮助,请记住日期,卡罗尔和作业一,请记住。
我们的实验室现已开放,它被称为巢穴,那就是那里部门领导在闲逛,晚上,你可以进去那里得到一对一的家庭作业辅导,一个很好的资源,这是我们的主要方式,你可以获得帮助,关于我们的家庭作业工作人员。
当然你也可以进来,我的办公时间或尼克的办公室小时,但巢穴是开放的,从本周开始的晚上,如果你不知道他在哪里或什么时候开放,你知道检查网站上的链接,有兴趣还是先联盟楼层,营业至晚上晚上6~11或12。
如果你想进去的话,今晚就开门,如果你有的话,他们也可以帮助您剪辑或设置问题,你的电脑,所以你看一下,在那下课后,我也会在我的办公室,今天如果你想跟我说话的话,这就是我们正在发生的事情。
这周我要教你一些东西,称为控制台编程,所以我们实际上会远离卡罗尔,现在hero是一种交通工具,我们用来开始学习正在编程,但我们要继续,现在转向其他类型的程序,因为当你思考什么是真正的。
当你编写一个程序时,你就知道计算机程序那是什么,可能是一个带有图形的程序,有窗口和按钮,以及你可以使用的东西,可以点击它,可能是一个游戏动画,它可以是网页或类似的事情,有不同的程序可以显示的方式。
向您提供信息或与您互动,今天我们要学习的是与用户交互的程序,一个非常简单的方法,这些被称为控制台程序,从今天开始,我们是远离喀拉拉帮机器人,数一上周的小读者,我们将开始使用更大的教科书。
被称为java的艺术和科学,建议阅读这些内容,讲座来自我们要的那本书,基本上做第二章和一些部分,今天的第三张好吧,所以一个控制台我们要参加的项目类型,今天了解到他们被称为控制台程序。
还有一些很旧的很酷的东西,你可能会说,因为一个真正的程序程序是可视化和交互式的,得到图形动画和颜色,所有这些你知道的事情,喜欢这个产品,我现在在这个您知道的幻灯片,查看程序工具栏中的小按钮。
我可以拖动这些滚动条和东西,这就是这样的用户界面,程序和控制台不完全是这样一个复杂的东西,控制台只是一个可以显示文本的矩形,例如大多数操作系统都带有内置控制台,有时称为终端,就向你弹出应用程序启动器。
然后您输入终端或命令提示符或其他东西。
像这样你就会得到这个东西,只有这个小文本框,你可以向其中一些人输入命令,甚至可能已经看到或使用过,之前在您的计算机上没关系,但这只是一个你可以做的地方,可以输入命令,它会显示在这里,我电脑上的所有文件。
这是我所有不同的事情可以在我的电脑上做。
所以无论如何哦,天哪你知道我忘记了什么吗,真的很重要,我应该向你展示一张小狗的照片,天哪好吧等等,停止一切,这更多比java暂停录音重要来了,如果你想看的话。
下次去上课,小狗的照片我们回来了,所以抱歉,我可以道歉。
告诉你们似乎有点不对劲,现在那一定是和那个一样工作,是的好吧,所以控制台只是一个非常可以显示文本的,简单矩形,以及我们要了解的原因,编写使用控制台的程序时,这实际上只是最简单的程序与交互的方式。
用户他看起来有点蹩脚,寻找,当我们继续前进时,我们会学习如何绘制图形和动画,所有这些事情我们都不用担心会到达那里,但我们有点想要保持简单,因为我们只是入门,如此简单就好了,信不信由你有这些疯狂的事情。
按钮和滚动条之类的东西,事情很快就变得复杂了,我们只是友善,想要随着时间的推移,实现这一目标。
好吧,记住这一点,笨笨我们在这里谈谈控制台程序,是你编写控制台的方式,编程你开始的方式,一开始就写一个控制台程序,你的代码,而不是说扩展卡罗尔,你说扩展了控制台程序,这就是你最大的不同。
开始于你知道这事,单词扩展有点意味着什么,节目我会面对这个吗,功能是什么样的,起点可能会建立在,所以不要从颂歌开始,我们要开始的机器人程序作为控制台程序好吧,控制台是一个用户界面机制。
因此它提供输入和输出输出,适当程序显示用户输入的信息,是当用户向我们要讨论的程序首先输出,因为这就是最简单的一个,而不是看到卡罗尔走来走去,只会看到文字,如果你在屏幕上识的字符,正如我所说。
我们在控制台上运行这个程序,是弹出消息的矩形,在控制台上显示消息,这是您可以执行的第一个命令,用来做你写print ln和,然后在括号和引号中标记,你写一条消息,然后什么时候你运行程序。
消息将时显示在屏幕上,表示你好,word这个程序产生四行输出,你们中可能很少有人听说过,这个认为有一种古老的传统,在计算机科学中,第一个你应该向学生展示的程序,是一个显示消息的程序,上面写着你好。
世界我们没有这么做,我们确实关心路况,首先担心在我们在游戏机上可以向你展示这个,hello world的想法好吗,所以它显示四行输出,当然其中之一是空白的,所以它是技术上来说,三行空行等等不是很有趣。
我的意思是,如果我去,如果我去eclipse编辑器,在这里,我有一个程序名为TAO的扩展控制台程序,我可以说print line,括号也号cs106A是最好的类似的东西,然后是分号。
最后然后当我运行这个时,程序显示他弹出的消息,调出显示它的控制台窗口,现在这条消息不是很有趣吧,因为我们只是排序写了一条消息,然后显示给我们自己的信息,但累积我们所用材料的性质,学习会告诉你。
所有的我们在发布之前学到的最多的东西,其中也适用于此处,因此对于例如,如果我想说106微式最好的几次,我该怎么办,你认为我可以使用for循环吗,对所以对于int i等于0I较小。
比100I加106A最好重量,当然我应该让它达到106,现在他说106A是最好,一遍又一遍一遍一遍正确,所以这更有趣一点,还是有点沉闷,但就是这样,您可以在此处显示起点的这些消息。
在屏幕上向用户显示好的我们的节目种类,接下来几天要写的是计算机计算的的东西,然后显示计算给用户,或者可能是程序与用户交互解决某种问题。
某种文本问题,所以这就是我们现在所处的位置,这样就可以了,print语句有时称为print line或print line,这就是语法,为此您中断要显示的消息,从技术上讲,在引号内,该消息称为字符串。
只是一组字符,显示在您必须放置的屏幕上,如果你不这样做,则将其放在引号中,不编译语法是非法的,所以如果你这样做,程序将无法编译,将无法运行,只需在括号内添加任何内容即可,它打印一个空行。
可能是如果你有一条很长的消息,并且您想分离,你想毁掉你,直到打破不同之间的界限,输出的一部分或类似的东西,那祝福你一件有趣的事。
就是你知道你是否想显示各种,你可能会说打印林的消息,派对说106A每天免费,类似的事情,所以现在我已经遇到问题了,因为我正在尝试做,这样我显示的消息就有里面有引号,但是引用java使用标记来指示。
从消息末尾开始,这样你不明白这个消息吗,你可以通过以下方式破解它,把象撇号代替,或也许有两个撇号,看起来像比如宽引号之类的,但还有另一种方法可以做到这一点,你想在里面嵌入引号这个字符串的。
你这样做的方式是你在他们前面加一个反斜杠,这样你说的好,我想要一个消息中加了引号,但我还不想接触消息,所以这是一个小捷径,如果我再次运行该程序,它会说马蒂说106A每天都很棒,你会注意到野号没有。
前面有反斜杠,当它们出现在屏幕右侧时,当然现在我们还有另一个问题,现在问题是什么,我们解决了引号问题是什么字符,现在可能很难显示你怎么办,显示改斜杠意味,如果返回斜杠用于修改分区,然后标记。
因为你知道我是否就写print line,我最喜欢的那种,斜杠是反斜杠,好吧,现在他对我很生气,因为我基本上他认为我忘记了消息的结束引号,因为斜杠引号没有鼠鼠,那么唉呀。
那么你怎么画一个你所写消息中的反斜杠,反斜杠,反斜杠,所以两个反斜杠给你一个反斜杠,就像我把其中六个我会穿上,其中三个输出是二和二合一,在这里出售反斜杠好吗,这些反斜杠修饰符称为转移序列。
可以帮助您放置特殊的,到目前为止,消息中的字符还可以好的,有关控制台的任何问题,或消息或字符串或任何类似的东西,我告诉过你,我们学到的大部分东西,之前仍然适用于这里,唯一不适用这里的事情。
是非常卡罗尔特定的命令,例如如果我说你知道什么,让我们向左转,那是一首颂歌事情,所以他不明白,如果我说就不再发命令,如果我说就移动,如果蜂鸣器存在,如果没问题,但是传呼机的出现是卡罗尔的事情。
所以你知道你可以使用你的斯坦福大学大脑,并可能找出哪个东西是卡罗尔的东西,比如蜂鸣契合移动和转动,但所有这些结构方法,if语句循环,while循环这些东西时,这里一切仍然很酷,所以你仍然可以使用它们。
在这里好吧,你知道的,就像如果你想要一个方法,并且你我们觉得这个东西很有用,所以我们称之为吹牛方法,然后public boy吹牛,吹牛是当你说这大约是106A,我什么都不知道,只是这里的某种陈述。
知道这就是我对这门课的看法,然后剩下的事情我们学到了。
所以你仍然可以在这里做,好吧好吧,让我们来一点吧,我进一步谈到了这些逃避你可以做的序列,斜杠引号斜杠,反斜杠那些是那种最常见的,还有其他一些您可以执行T来转移序列,像你知道的那样的选项卡。
像移动一样的选项卡缩进,你的形你可以把N嵌入你的消息中的换行符,我没有鼓励您经常使用它,如果你想分割线,你应该必须打印新语句撒第一部分,第二部分部分。
而不是打印全部知道,因为你可以你可以获取多条消息,例如看看如何,这就是两行吗,可以说我可以把这一切都混进去,异形我可以在那里说斜线,所以106A每天都很棒,我的最喜欢的客户。
这实际上会产生完全相同的输出,我以前有过,但我不喜欢他,因为他远远超出了屏幕边缘,正确阅读程序比较困难,所以像这样的宽限有点china,所以我认为一般来说N是不是很需要。
但如果有的话,它就在那里,你想要转到下一行,你的消息的中间,好吧好吧,所以有一些现有的命令,你可以在我教的程序中使用你刺痛,还有其他一些修改控制台的一些属性,你可以设置控制台的大小和字体及形状。
控制台上出现的字符,你可以清除它所竞争的控制台,该点之前出现的任何文本,您可以使用一些命令,修改控制台正在执行的操作。
例如你知道你可以做,我哪里可以做到这一点,我们不要做106个,让我们做十个,我可以清除控制台,暂停500,毫秒,那是半秒,然后我尽我所能打印106暂停,他得到类似这样的东西,所以我不知道那会不会有时间。
有一些这样的命令有帮助吗,你修改控制台的外观或它与用户交互的方式,每个人都喜欢闪烁的文字吧,就像时尚界一直以来的那样哦,我就是我正在和我的一位部门领导谈话,就像黑每个人都教他们这个控制台。
今天你知道这并不那么酷和动画和图形,所以我需要一个喜欢的方式,让它看起来真的很酷,你知道的,千禧一代喜欢什么方式,我可以把他和他们的东西联系起来,有兴趣我说如果我告诉怎么办。
他们就像你在给某人发短信一样,但你正在给电脑发短信,计算机可以给你回复短信,但是它就像你所做的一切而不说的那样,那太可怕了,他告诉我,我应该以某种方式连接他,一些受欢迎的电视节目。
你知道星际迷航那会很好吗,选择我不知道,我知道给我发一个,如果你有更好的类比。
请留言,但是好的,这些是一些命令修改有关控制台的一些内容,当它只为该程序运行时,我们不会经常使用这些命令,通常我们可能偶尔会使用命令暂停,你可以让它排序,使输出逐渐出现,而不是转储所有输出一次全部完成。
所以这很有用,想想当控制台变得更多,有趣的是,当你与有些数据,你知道它是一台计算机,应该像这样正确计算事情,人们想要的大部分原因,以前的电脑是这样的,可以比,所以让我们学习如何使用计算机。
作为价格过高的计算机,虽然我确实检查过,但我猜ti83的价格仍然相同,总是如此,也许计算机现在比计算机便宜,但可以学习如何制作计算器,计算机计算东西,我想和你谈一件事,称为表达式,因此表达式有做数据。
计算机擅长管理数据,我们认为数据是分为不同的类型,所以对于新学习者,这可能有点不直观,但你知道里面计算机一切都只是二进制,如果您存储了您的任何内容则为零,知道您的姓名和个人信息地址,您的电话号码。
您的财务,excel文档,word文档,歌曲,mp3的照片,所有这些东西,所有这些非常不同的种类,数据仅存储为二进制零,并且它们实际上只是存储为计算机中的数字,一切都是A数字,如果你认为这有点奇怪。
想一想,比如你怎么样将歌曲存储为数字,你如何做,将您知道的英语文章存储为数字或一系列数字,大约一秒钟你会怎样,你将文字描述为数字,只有你自己知道,你有一个小时的时间来计算,那你写什么单词作为数字。
实际上是非修辞性的,是的他先生,说只给每个字母一个数字,也许字母A是一,并且字母B是二,所以你写出你的消息是一个编码的东西,其中数字代表不同的字母,然后也许计算机知道如何翻译一下,是的就是这样。
这基本上就是计算机所做的,你可以将任何东西映射到,如果你想画画,就用数字,您可以将颜色映射到数字,这样这是红色图像的一部分,所以我会给这个数字和这个部分一个红色图像,是绿色的,所以我会给他绿色。
你想他好一首歌曲的编号,不同频率的音频和不同的卷和所有的东西,不同的正弦波和我所知道的一切,甚至不明白音频到底如何有效,但你可以做的所有事情将其表示为一堆数字,你知道这就是计算机的原理,真的很好用。
但对我们来说,当我们当我们想要处理时,编写程序,数据有助于程序员将数据视为具有不同的不同,类别和类型,这对我们有很多帮助,为我们提供了可以执行的操作,它帮助我们约束法律的数据与此类非法数据。
所以我想教的主要内容,你今天讲的是怎么做数字,计算机上的计算是擅长处理数字,所已有是一些存在的基本数据类型,在java中也有类似的类型,大多数其他编程语言中的数据,java也有一个数据类型。
表示整数数字右移不带小数点,该数据类型称为int塔式,可能是我们最常见的数据类型,当然会使用你刚刚计算的很多整数值编程,让我们看看这就是int数据类型,还有real数字是你知道的小数点。
小数部分是表示为不同的数据类型,很多学生都叫double,很困惑,为什么没有单独的类型,对于整数与双精度不是吗,全部只是数字,是的,他们是有些语言组合了所有数字,坦白说主要原因是他们在招牌中是分开的。
与计算机处理器的构建方式,计算机实际上计算整数与它们计算的非常不同,实数有不同,这些操作的效率和由于有时编程来反应,硬件也有差异,但你知道它们都是数字,有一些每种类型的不同操作,无论如何。
还有数据类型表示文本和数据的字符,表示逻辑值的类型,我们稍后会讨论,所以这些是一些我们要讨论的数据类型,关于您见过其中一种类型,在每个人我所在的地方之前,有人你在哪里看到其中一个类型,其中之一是什么。
是的他输入for循环,是的,谢谢你嗯,那是你读取for循环头的时候,你说int我等于,所以是的,这实际上是对NIKE的引用,我们并不真正知道的数据类型,那个人就是个胡言乱语,我们正在打字。
所以我们有点参考HENRY中的此类数据,for循环的标题,是的,那就是好的好吧,你用这些做什么,这些东西的整数和双精度数,那么你可以告诉计算机使用单词计算值,我们为此使用的是我们称之为表达,表达。
是当你写下一个像整数值一样的值,或一组运算计算会产生一个值作为结果,所以如果你看那张幻灯片,上面写着1+4乘以五,这样整个事情就是表达式,虽然从技术上讲是一四和五也是表达式。
所以我们已经建立了整体那些较小的表达式,所以它是那里有一种自我相似的定义,这也是下面七处的表达式,再加上2×6除以三等等单个值,我们称之为字面值值,就像42或其他任何值文字值,您可以使用运算符在表达中。
我的意思是,这些可能不会像他们需要的那样令人震惊,将两个数字相加,水平线是负号符号,并从中减去数字彼此,所以你们知道这些事情,这不是很神秘吗,算数上的整数值,所以我认为我们是编程变得有趣。
我们开始变得有趣的是你来到这里的节目。
而不是说print in hello world货,就像你说的那样,print in 1+1,所以我们要看看计算机是否可以计算1+1,并打印出来哦,我仍然这里有动画垃圾,等一下我别再吹牛了。
我要注释掉我程序的那一部分,他告诉你看他不打印1+1或研究所,这很有趣,如果你写一个数字表达式,在这些括号里,你试实际上要求计算机计算的结果并显示,如果我真的想要的话,结果会怎样,电脑上显示1+1屏幕。
你觉得我会怎么说,是的,你在它两边加上引号,因为引号表示类似,这是一条消息,我想显示这条消息,就像这样,1+1,如果我想说1+1=2,但是我不知道结果是什么,可以说1+1等于加1+1或者类似的东西。
那就是有点奇怪,但是加号计算和流之间排序方法,计算结果并将其附加到该字符串的末尾,并无论如何都将它们一起显示,所以但无论如何,系数标记确实就计划的内容而言很重要,在这里显示在屏幕上。
好吧,我们有价格过高的计算器模式,让我们多了解一点,表达到目前为止,我们有任何问题,到目前为止一切顺利好的,让我们谈谈我认为的划分加减和时间非常明显,他们的行为方式与你完全相同。
当你除以实惠期望java中的整数,他做了一些事情,确实让很多新学生感到惊讶,什么叫做整数除法,意味着它会消失任何剩余物或小数部分,所以如果你除14,现实世界中的四被你就得到了3。5。
但如果你将14+14除以四,java你得到三,基本上它向下舍入,他会丢弃小数部分,即使是3。9将其滚开,得到三,永远不会四舍五入,他总是四舍五入下来,如果你还记得你的涨部门,基本上只是抛出剩下的。
你知道在你的手机里,所以一次不太难习惯,我想你已经学会了这条规则,有时有点难以记住,你和你一样了解其中一些细节,知道156超过100,你只得到一个,这有点奇怪对吧,你不能由零作为分母,数学上未定义。
所以它如果你打开的话,实际上会导致错误,该程序说非法算术程序崩溃,有点像当卡罗尔碰壁时,有点就像这样,就像一个计算器,我想撞墙了,所以这就是整数除法,当然是长除法,我们扔掉了剩下的部分。
所以剩下的去哪了,我该怎么办,如果我想知道剩下的是什么,好吧,这就是另一个运算符,百分号运算符我们称之为魔术或帽的运算符,所以你会说14冒四只是意味着,如果我剩下的是什么,将14÷4。
所以如果你做了长除法,你会说四进入14,三四等于12,然后之后剩下的余数是二,所以14÷4的余数是2~18,猫的五就是剩下的除280,十余数是多少,五就是三等,你知道这些操作有点奇怪,就像学生。
你可能会说我为什么要这个东西,我用它来做什么,认为余数通常有用那些你意想不到的地方,比如如果你想知道你知道的房子,你说给我最后四个您的学生证号码的位数,如果你有学生证号码,任何人最后四位数字。
然后你说除以余数是多少十,我的学生证号mod是多少是十,这是我的最后四位数字,你还可以使用mod来检查是否为even into,观众能见度,一般你说我除余数是多少,by2是零。
或一告诉我是否数字是偶数或I,据说或或你知道我是否除以3÷5除以十,余数是多少,这会告诉我他是否可以整除,如果余数为零,则不然,所以这有一些应用程序现在实用,当你在做的时候。
这些数学计算表达式有一个顺序,这不应该让你感到惊讶,就像你有一个科学计算器一样,然后你写下所有的计算,你告诉他计算并不总是从左到右,这取决于你使用的不同运算符编程,我们称之为优先级的运营商。
所以一般来说计算从左到右,特别是如果你有同样的运算符,它从左到右,所以123你得到最后两个,首先但乘法除法和mod都稍微高一点,优先运算比比加和简号,请原谅我心爱的莎莉阿姨对,那就是圣人。
就是那我想写给你们都好吧,还有一个不同的那是什么,另一个已经十天了,另一个是什么缩写扩展,我知道有人知道你什么时候嘟囔着,没人愿意大声喊叫,何自豪,我不记得PMDASO好吧,你们知道这个东西。
这不是伯克利,我不需要向你解释你学到的这些东西,那些东西可能是一年级的,或者为你们做任何事嗯,所以乘除法和mod,都有这种更高级别的平等优先权,这比plus的水平还要高减去,所以如果你看看我的例子。
这里6+8除以2×3,首先将8÷2得到四,执行443秒得到12,他最后执行6+12,你得到18,如果您不喜欢该订单,请执行人们用什么计算器来做,但是括号括起来,然后是括号还没有更高优先级。
因此括号将在其他事情之前先进行,如果我正在做p e m d a as,我做的一件事还没教你示意指数,对我没告诉你如何做到这一点,我会告诉你本周晚些时候,但你现在就知道,这就是我们的看法。
优先级分为三个级别,乘法加法并打印好吧,如果你的工作是你认为的是如此简单,我想让你证明如何,你太棒了,我希望你能走路,我通过其中之一,我需要一个志愿者,就是上面的那个人留在那里,100×2加3×5貌四。
只是告诉我数字重复执行哪个操作,你知道他是先做1×2,还是它有什么作用,以及它会生长什么真实,然后我们就会计算它,直到我们得到表达某人勇敢的结果,帮帮我吧,没有什么了,比做个位数还要谦卑。
前面有数百个算数,人们如果你的话,这都是不利的,做对了,这不是很令人印象深刻,大家都应该理解错了,第一个乘以两个就可以了,接下来我会做什么,345 15压帽45,余数四,那么结果是多少三。
因为15÷4的结果,或者其中三个人带着三的余数可以,然后2+35好吧,我想我不小心按到了,无论如何,下一个看看,这个听起来可能有点太显,然,对你们中的一些人来说太容易了,这很好,但我只想做,当然你明白。
因为尽管事实上,你可能认为这是微不足道的事情,或者我保证我您的数百位朋友已经获得了他,当你真正到达试错,在讲座之间不知何故做作业,而且作业里有人认为,无论如何,你可以看看,通过其中一些。
还有更多讲座日历网站上的事例,只是为了练习一些例子,如果我如果有这些数字序列会怎样,计算机有时会计算,我实质包括类似的问题,测试只是为了确保你理解编程的算术,Q好吧。
如果你有一个实数double事情大部分都是一样的,我现在要告诉你的差异之一,区别在于你的写作方式,数字下面是你输入的小数,当然如果你这样做的话,你知道6。02,那么这只是被视为双靠电脑亦有趣。
即使小数点是O点,我们当然认为这是整数,但也许我们确实有一个末尾的有效数字活,但java认为它是双倍,因为它有一个点,当你写下小数点时变成双精度,可以写使用科学计数法的双精度数。
其中你在后面写一个较小的数字,由字母E用电源笔,然后需要2。1,三四十到17,这样你就可以做,如果你只想大概一个人对非常大的数字这样做,是的,这就是如何分解,将我刚才的大多数运算符加倍。
教你以同样的方式形式将不同的一件事加倍,是除法和模除法with double,实际上做了一个精确的计算,所以这是一个例子,如果我的所有值都使用双精度,值,有242。4,如果我有两个,我会得到4。8。
第2。5次4。0,我得到9。0,9。0÷2。0,得到4。5,这就是发生不同事情的地方,如果这是9÷2,没有小数点,可以给我四,不是4。5对,所以java在这种情况下做一些不同的事情。
所以对于一些学生来说,双倍更容易,因为他会做你平常做的事情,会期望从现实世界中得到正确的结果,但这没关系,它确实提高了,那么问题来了,我们为什么不直接摆脱int并始终使用,一切都加倍。
这是一个合理的问题,但我认为我我会说,我不认为你应该这样做,因为有时踏实,很高兴,对你有一些限制数据,如果我不想允许小数数字,也许最好禁止他们一起,就像如果你一直在跟踪您的孩子数量。
house最好使用int,没有特别的理由使用加倍,因为你不能拥有相似的部分,一个人在你的童年时期,你的房子对吗,我不知道让我们给某种奇怪的时间共享事物,和另一个我不喜欢的家庭一起生活,知道。
但可能你想使用int,因为那不是双倍,所以我认为他实在给定的情况下,认识到仍然很重要,无论是double还是int的情况,如果混合两个数据是更好的选择,一起输入double,那么什么。
一般来说如果你有的话,java就可以了,它将使用两个int之间的操作,该操作的入侵,如果您在两个双打之间进行运算,他们将是net的双重版本,如果你有一个int和一个操作双重混合物。
它将转化成之前那一刻的双重执行操作,例如如果您看看这个表达式,七比3×1。2,加3÷2则左一为权力和先例顺序,以及所有这些像这样的事情总是会这样做,时刻七比三即时即时混合,使整体加倍。
他实际上还没有达到任何目标,双打的还这么少,这里的操作7/3不是混合物,都是整数,所以7/3算数上是二,现在2×1。2,这是一种混合物,所以它基本上变成了将两个变成2。0,我们得到2。4。
接下来是三超过二,这又是全部因子没有在此表达式中加倍,并且表达式的这一部分,所以我们得到一三除二等于12。4加一,将其转换为double,我们得到三分,所以如果这对认识到这种区别。
很多不小心写代码的同学,那不认识到,如果你他们得到了错误的计算结果,他们不想,所以好吧,还有另一个幻灯片,右侧的一张,你稍后可以看看,我不知道为什么动画看起来这么糟糕,但是无论如何,这是混合类型。
我觉得这个表情很简单,一旦你尝试了其中的几个就可以了,看一些相关的练习题,在网络讲座日历上只需制作,确保你对自己进行了健全检查,确保这些表达事实,如果您觉得您有疑问,请向我们提问,陷入困境,让我们谈谈。
由于算术混合很多,当你想要计算一些东西的时候,然后你想显示结果,如果你会做你经常想做的事,写下您的文字,然后是表达,我们一分钟前就这么做了,我说1+1等于,如果你愿意的话,接着是1+1做。
你想混合弹簧和称为字符串的计算,只有你知道的连接,附加他们彼此之间以及你做事的方式,连接就是你在之间加一个加号,一根绳子,另一圈还有路,那行得通。
我会回到这个像那样滑动一秒钟,有效的是你有一个字符串,你有一个,另外你还有另一个价值计算,你知道1+2乘以三,-4×6,无论你计算什么,我想那不是一价,不再是这样,我以为总数就是加上那个无论如何问问。
当java遇到这种事情的时候,他基本上计算的结果,这个表达式无论结果如何,他是把它粘在绳子上吗,就在那里,就好像它是程序运行时的字符串,你可以甚至可以在之后添加更多文字说加号。
并祝你有美好的一天或其他什么,所以如果我运行那个程序,你会说总计是负数17,祝你有美好的一天好吗,现在有一件事有点奇怪,是优先规则可以欺骗你,这里有点,所以看这个我想我可能有,我只是不想吓到你们。
但是课前我在玩,我想我可能有这些东西在java中发现了一个错误,或者可能是在我的英特尔处理器,所以如果你说1+1是加1+1,因为这会计算1+1,我们会显示结果正确,他说1+1是11,所以我不知道。
我知道我觉得这里出了问题,就这样似乎不太对哦,不为什么他打印出不是不是错误,我的电脑没有错误,也许我正在展示一个魏某是如何的误解,java工作的任何想法,为什么他一刷11,在后面是的女士,你说什么。
将字符串的单数转换为是的,所以你认为我认为那是基本上是正确的想法,我是第一个我们牢记的事情,你无论什么时候都知道,你有一个包含多个的表达式,其中必须有不同的运算符,决定操作顺序,to应用操作。
应用运算符是的,所以在这个例子中,第一个他所做的就是这部分字符串,1+1是他需要最后一个,他说我该如何加上那些在一起,这样操作基本上就是与一相同,有点把它放入字符串中,这就是plus对字符串所做的事情。
再加上当时没有计算,说好的,我已经完成了那个操作员的操作,我还需要做什么,另一个加号运算符,你想让我这么做,添加这个字符串,加上这个int好吧,我会这样做,然后他需要那个int和把他推到那里。
所以就是这样,从左到右你看到了,所以他是只是你所在的地方的,一个很常见的错误,试图包括计算和程序同一部分的字符串,所以如果你想结合所有这些计算,而不是像这样混合他们你想做的事情。
在括号里正确的1+1指是强迫他做,在执行之前先单独执行,连接一件有趣的事情是如果你说一次,如果我运行那个嗯一个他实际上很好,他说一个我猜做一个并不是很有趣一次,但如果我喜欢三次,五个左右。
我猜这里的消息不起作用,但如果我这样做,结果是我运行,然后他说结果是15,我神智不需要括号,为什么我不需要那里有括号,因为先例正确,因为3×5有更高的优先于加号运算符,所以它无论如何,即使没有括号对了。
好好吧。
所以那就是如何进行字符串连接这么几个,这里的例子有一点有趣的是,如果你有12个加ABC,他确实执行int1加先两个,然后你得到三个AABC,这是我的清单中的中间一个七个,那里有一个人工作是因为收入第一。
所以他首先做他们无论如何,但是如果你把燕子放在后面,就像ABC加12,你得到ABC一两个,只是因为这是剩下的顺序,正确的优先级就是这样,好的很常见的结果就这样,幻灯片底部的示例在这里。
平均水平是加上等等等等计算,然后显示什么,该计算的结果将是好的,好的这是一个我们要做的程序,一些真实的东西,一些实用的东西,所以我们要去一家餐馆,我要点一些食物,我想要计算一下,你知道这就是金额。
我的餐费小计为38和40,而你知道我们的客人有30,无论如何,这是我们账单的小计,然后我们想添加税收是多少,8%,我认为这些数字没有任何意义,对帕洛阿尔托有感觉,但无论如何粗糙,给所有这些添加几个零。
这个镇的物价,但是无论如何好的,我计算一下税款,小计小费,然后试总参价,他运行并打印所有内容。
正确的效果很好,我会展示给你,我会这是我自己复制的一个程序,这是一个名为收据的文件,所以我这里还有另一个小控制台程序,我将把所有这些粘贴进去,然后我就完成了,这里有一些评论提醒我在这里做什么。
所以让我们运行收据并查看小计为108,美元和税收就是这么多,小费是这么多,总计是看起来不错,现在有一个很少有像这个这样的小事,真的看起来像美元意味,我不明白这一点哦,这里这个说第二点,而不是第二点哦。
那些有一些你知道的视觉瑕疵吗,意思是它显示108,而不是的原因,108点,偶就是你所知道的一位,它是一个int以为就在这里,这个计算是一个向上的int对了,然后说点两个,而不是第二条哦。
那就是只是因为默认情况下,java只显示后的最小位数小数,我们想把它看作货币,我们想要小数点后两位数,稍后我会教你如何做,不想陷入其中,现在是钱的事,但你可以完全调整,他说我想要两个小数点后的数字。
我不想现在就做嗯,好的程序没问题,他有效很有用,他告诉我如何,我必须为CHAPAY付很多钱,帕洛阿尔托chip port内的三个沙门氏菌,在该地点需额外付费,我声称这有问题,程序有一些关于他的东西。
我不太喜欢给我一个主意,我可能不喜欢这个程序的哪些方面,批评我和我的外套,你怎么办,想先生,太好了,但你的答案正是我的答案寻找,他说我正在重复这些一遍又一遍的计算,你知道计算机三件事中的两件事。
科学家不喜欢的是冗余和冗余权,所以我不想拥有,在这个程序中,他可能他并没有那么困扰你,让我困扰的是,我不知道我们是不同的人们,但就像我不喜欢写作,得出小计三四或五自或其他什么,特别是因为哎呀。
我发现有一个错误账单,这不是38美元,而是39美元,哦好吧,三十九三十九三十九,你呢看到这很荒谬吧,我不这么认为,必须一遍又一遍的更新那些东西,仅仅因为有一个错了,你只是我不喜欢看看那个多余的计算。
一遍又一遍,所以这就是我希望有所不同,如果你想的话,这个特定的程序避免这种形式的冗余,有一个,现在我们已经了解了这样做的方法,避免冗余,以使方法做那些不做的事,真的在这里工作,因为什么多余就是不一样。
祝福你,我们在擅长之前学到的工具命令或系列的冗余,正确的命令,make a方法,make it循环,它们非常适合下冗余计算,多余的只是这一部分,也许还有其他部分,但只是我们重用的小计算其他地方。
所以如果我要去稍微喷一下我的计算器,类比在计算器中你可能会做什么,这种情况将是计算小G,然后保存按下其中一个记忆按钮,并让他记住小G,然后你稍后可以使用它,当然我不会知道这是一个很好的比喻。
因为没有人使用这些按钮,所以我不使用,知道这是否与任何人有关,但这些按钮就在那里,而且确实如此。
如果你希望他们实现这个目标嗯,所以如果你想避免像这样的,程序中的冗余是什么,你可以做的是,你可以使用一个功能称为变量,所以如果你想要其他奇怪的类比,有点像立体声音响上的预设电台式。
您的联系人列表或快速拨号,1998,您的手机或你听说电话来自变量,是一个可以帮助我们听到声音的功能,变量是存储结果的地方,表达式计算和拟给它一个名字,然后你可以参考按该名称计算出的值,程序中的其他地方。
所以计算一下38加上随便加上,随便怎么称呼小G,然后是其余的程序,你可以说小G代替那个计算功能非常强大,首先是如何使用变量,你要做的就是你必须声明,你必须告诉java,我想要一个变量。
这就是我的数据类型,去商店,这是我的名字,想要给你写的变量输入一个空格,然后输入名称和,然后是分号,所以你说int邮政编码,我想存储一个邮政编码,称之为邮政编码,它的类型是int double。
我的GP与我想存储成绩点平均值是实数。
所以如果我想要的话,在我的程序中存储小G,我想说黑这个东西看起来很有用,所以也许我会说int小积分好好的,这是第一步,所以这是成为第二个声明。
变量步骤是为变量,这意味着你告诉java,这是我想存储在其中的值,如果你真的想思考变量,从计算机的角度来看,它会进入计算机的内存,它流出了一小块用于存储该值的内存,如果您我想这样想。
所以如果我画一个小盒子,就像一个小盒子,我放置的变量的内存,关于记录内存或类似的东西,我认为他不太关注尽在这方面,但那是那里发生了什么存储方式,变量中的值是你写的变量的名称,然后是一个等号符号。
然后是你想要的值存储,所以如果你想将其存储为你的小G。
你可以说小G等于现在在这里,而不是,写出你可以说的数字小记,所以当你写print ln时,小G意味着打印该值,以该名称存储,你可以给一个值,一个不同的值,如果需要的话,稍后再添加到变量。
可以在这里说小G等于12345,所以现在从那开始,在程序中指出它会使用它新值,这样你就可以改变你的存储后的变量,是它的更早的评估,但我们不想这样做,对于这个特定的例子,这样做是合法的。
但可以这是使用的一个例子,变量还有其他变量吗,你认为应该在我的程序中制作,税和小费,我认为这是好主意,所以你可能会说,等一下这里的税是小G乘以0。08,小费时小G乘以0。15,这样看起来就种鱼而言。
如果我已经搞砸了,就像我能做的那样,如果我搞砸了,他也在这里需要将其更改为39,更容易只在一个地方做正确的事情,但是如果你进一步思考另一个层面,该税额为小G的0。08倍,我在这里使用整个东西第二次。
所以如果我用它计算两次,也许我应该做一个变量,所以也许有什么更像是什么类型的变量,应该储存的税是双倍的,因为这是一个实数,双重征税,等于小G乘以0。08,然后在此处,我会说打一行睡好,然后。
所以这就是正确的提示,双尖尖等于那个,然后在这里我先说一下小费,现在说一下总体情况,总计这是小季加税,再加上右边的小费,不是我的,现在这样做小季加税加小费,我认为该程序读起来有点更好。
因为你可以真正明白,为什么我正在添加所有这些疯狂的数字,一起计算所有这些东西,如果我阅读这个程序会更容易再次运行,它应该表现相同,我很确定那是一样的,之前有输出,所以它仍然有效,我还要讲一段语法。
让你看看我是如何得到这两行的,我声明变量,然后我给变量一个值,因为两者都做事很常见的那些背靠背的事情,有办法将其全部压缩成一行,这样做的方法是,你只需说int小G等于该值,双重税等于该值。
双小费等于该值,现在你可能会说你为什么这么做,甚至费心向我展示不同的方式,因为看起来那样就是更好的方式,是让他们都排成一行,总的来说是这样的,但是我想我之前讲过的那个案例,也许你想改变变量值。
稍后你说我哎呀,实际上小G不止于此,你说小G等于12345,你使用我的语法,几分钟前教过你,如果你按照两者的方式写,实际上在同一条线上,用红色下划线,意味当你这样做时,所有这一切都集中在一条线上。
你就是这样创建一个变量,并给它一个值,java对此很生气,28,因为他说你已经创建了,在无法重新创建之前,该变量你可以再给它一个新值,但你无法再次重新创建它,所以我需要向你展示这个语法,设置该值。
因为那是如果你需要更改它,您需要的语法还好,这是我的改进,我实质可能会做这个程序的版本,如果我想清洁的话,就想这样,就这样,小季让我等一下,稍微清理一下并征税,也许就像这样,加上税收小费,加上小费总计。
类似的东西和,然后在括号里怎么办,关于那个看起来很漂亮,60不是吗,尝试一下,现在我有了这些不错的东西,计算所有数字的变量,我需要的,然后在结束时,我使用的程序很有意义,我只剩下一分钟了。
所以我没有想要覆盖主要材料,我提到的一件事,只是为了为我们接下来要做的事情,握住你的大脑,会谈论有一些关于变量的有趣规则,例如例如你不能使用他们指导,如果我说你已经在这里创建了他们,Print len。
提示他实际上不喜欢你,看到那行代码是,因为我直到几年前还没有创建提示,线路调低,直到我成功,不存在,我无法引用它,还有另一个非常有趣的规则,这与我们正在使用的方法有关,如果你有的话,会遇到很多方法调用。
类似于public board hero那里,在这个方法中,我说print line tip,他不明白那里有什么提示,如果我说你好之类的话,在那里你会认为在下面你好,我可以做的部分程序也打印提示。
但事实证明我们要学习一些规则,课程稍后会详细介绍,如果你创建了一个变量,它只存在在创建它的方法内部,不以任何其他方式存在于其中,花括号组的位置创建,而不是其他任何地方。
似乎就像一个可能是一个烦恼或一个限制,但它与保持有关事情是分开的,所以他们不会调试每个事情,其他的不要互相碰撞,我是如果你愿意的话,就暂时停在那里练习控制台程序看看。
让您的日历页面上的链接。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P5:05_ Control Statements - 外影译坊 - BV14U4geNEEq
今天我们要继续学习关于控制台编程,我要去重新审视一些java命令,上周我们从卡罗尔那里得知,我们将重新评估他们控制台上下文,并查看一些新内容,我们将在某些情况下遇到的情况,这些陈述是用的新方式。
这来自第三章和第四章预定,所以让我在这里跳进我的幻灯片,我想谈的第一件事,虽然这个程序是我们最后写的,我把它称为收据的时间,计算一顿饭的费用,然后我,在这里教你这些事情,您可以在哪里存储税款。
存储您基础的提示东西被称为什么,是的,你去吧,谢谢是的,所以变量很重要,它们很有用,我们会经常使用我们程序中的变量,为何那些正在帮助我们,避免我们计算的冗余表达是同意值多次,即使你不计算多次取值。
一个变量仍然是有用,因为它有助于表明该计划的意图,使得程序更容易理解,更容易读到,这是一件很重要的事情,所以好吧,这就是我们现在的情况,我我会说关于这个程序不太喜欢,它很灵活,如果我运行该程序。
它肯定有效,至少昨天让我做了,确保它仍然有效,是的它仍然有效工作等等等等,我的字体变得这么小,等一下让我们开始吧,他可以打印出好钱,价值观和东西都很棒,但是每次我运行该程序时,它都会执行同样的事情。
计算完全相同,你可以想象更灵活的金额程序,可能每次运行时,你可以问你知道总共是多少,吃货小计是什么,它会打印一个不同的答案,程序会比这个更有用伙计,所以我想谈谈你是如何,你现在就可以做到这一点。
你知道一个是你,我会说,也许我会说好吧,实际上他并没有花费30美元,而是花费了50美元,我可以保存文件,并且我可以再次重新运行该程序,它会给我新的答案吧,说128美元小计。
当然要求我编辑源代码程序并重新编译程序,转换为二进制格式,然后运行再次编程,我可以做到,因为我是一名计算机科学人士,我有日食,我知道如何代码,但如果我给出这个程序到用户到普通人到麻瓜。
他们必须运行这个程序,不知道如何编辑这个java命令正确,那么我该如何制作程序灵活,无需更改程序的源代码,每次这就是所谓的互动节目。
互动程序是一个询问用户的程序控制台,输入一些输入,以便您知道这个命令,我说的是打印行,在屏幕上显示输出屏幕上的消息,相反,输出是用户的输入屏幕上的值类型和,然后程序使用该值。
因此我们称之为交互式程序什么,你通常会要求用户输入一些内容,然后他们输入什么,然后保存到您的变量中,我们学到的关于变量的代码是变量有用的,另一个地方有一些命令,一些方法可用于控制台程序。
帮助你做到这一点的,他们的名字是读取条目,双重重新对齐并读取布尔之河,我主要想集中精力阅读崩溃,但这些是你的方式,可以要求用户输入一个数字,并你使用的语法是有点有趣,所以你写读int。
并且您将一条消息放在引号中标记,并且该消息显示在屏幕上,但随后程序将暂停,他将等待用户输入一个数字,然后输入该数字被放入源代码中,它是我有点难以解释。
所以让我给你演示一下,如果你去这个程序,在这里,我想要这个程序为了更加灵活,我希望还允许任何小技,而不是写出来计算,就在那里,我可以说读int小G是多少,只是为了,明确该计划是什么。
也许首先我会说print ln,欢迎来到马蒂的你,指导收据,程序感叹号让我们这样说,首先好吧,我要运行该程序,看看发生了什么,他说了什么,小纪这个程序做了一些事情,我们的其他程序都没有完成。
他在中间暂停,正在运行,它暂停的原因是因为我刚才谈到的程序之前,当你运行一个程序时,它是几乎就像一个小光标,下降了电力各行并执行每一行,在这种情况下,它运行这个打印line line,以便显示消息。
然后他到达这一行,他说哦,你想让我执行radiant t命令,所以这个命令正坐在这里等待他,在这个控制台里等着我输入一个数字,如果我输入,你就知道45,如果我按enter会发生什么,45就像扔在这里。
然后放就在这里进入程序,45,我不能用这只愚蠢的鼠标写字,然后五杯咖啡,但你知道的基本上和写的一样,小G等于45,所以让我按ENTER,现在剩下的全部程序使用该值45运行,所以它是有点像。
如果我可以修改源代码,并且写了45笔,但有一个我重新运行的重要区别,程序不做任何改变,现在我输入78,并按ENTER键,使用78so运行,所有代码改变之间是有区别的,源代码并读入现在命令修改程序。
程序很灵活,可以运行,例如不同金额的钱,你可以做的另一件事,就是在这里知道上面写着8%税,你可以说的好,这实际上不是这里的税率,塔罗二托不是更像十或11,或者比这个百分比更高的东西,所以也许你会说。
类似double税率等于你可以做另一个,这些读取命令之一是这个一个实数,所以我可以说无双他们使用NPA的税率是多少,无论如何,现在而不是小计,乘0。08,你明白吗,基本上是您输入的这些值在读取条目中。
double被存储到这些变量,然后你可以使用它们程序的其余部分,我运行程序显示你的小计是多少,了解他们使用65美元的税费百分比,现在在帕洛阿尔托,我想应该是这样,可以写成小数,比如10。0。
但应该写成0。1,因为我正在看这里的代码,所以我觉得差不多是零点要10%税输入,所以现在这两个值是在代码的其余部分中使用,所以这些读取命令和这些交互程序非常有用,我认为强大的东西让很多人有点困惑。
学生通常是当你知行,当你编写一个方法时,你只需命令写出方法的名称,然后括号,然后是分号,或如果这是你排序的打印型方法,将消息放在引号内括号,但一般来说你知道名字方法的括号,分号java中执行方法的方式。
这看起来有点不同,你正在写一个方法的名称,用分号,但你也喜欢声明一个变量类型的look,这两件事加在一起就是这样,代码中的一个奇怪的样子,更多关于后来它被称为返回值,我们会更明白那是什么意思,是稍后。
但长话短说,我意思是我给你的心理模型,比如用户输入45和45,有点被粘贴到代码中了,这是一个完全合理的方式,关于此代码的任何原因,到目前为止的问题是的哦,这是个好问题,我可以吗。
输入您知道的表达是1plus23,它实际上说的是非法号码,他真的只是看起来对于代码中,此位置的一个数字可以写一个程序,你在哪里取出一个数学表达式会为你计算,但这是不是这样做的方法。
这将是我们会更复杂一点,实际上必须采取那条线并排序,将其拆开并进行操作,每个数字和运算符等等,现在我们只需输入一个数字,例如如果您输入小G是多少,他不了解您的业务,所以你必须输入int你知道的东西。
所以这个命令读取int会反复提示你,问你再次输入,直到你输入有效的,如果您要求int,但用户输入像这样的双重权利,他说的是不是那么int,所以如果你想要的话,请输入另一个一个真实的数字。
你可以说零售好吧,我,确实认为学生有时很难了解这些互动节目,因为我认为这是代码型,看起来与任何其他线路不同,到目前为止,我们编写的代码以及程序的整个暂停,是一种一个新事物,但实际上这只是一种方式。
让用户指导执行只是一点点,我们将使用这个课程中有很多内容。
好的让我们继续吧,我想我们已经搬家了,收据随便就好,所以我告诉你,我想重温java中的一些语句,现在再看可能会很有趣,在我正在谈论的控制台程序中,我们了解的if files语句。
正确的让程序做一件事或者另一件事,取决于条件,如果卡罗尔被屏蔽或者类似的事情,好吧,你已经看过了if false语句,但我们要学习更多关于这种类型的信息,可以放在if内部的东西,斯蒂芬。
因为你说如果前面是清除左侧块中,还有其他可以放入其中的东西,GIF其他种类的条件,其他种类的您可以执行的测试和漂亮的,常见的测试类型是提出问题,关于变量的值,我们了解变量。
所以你问user int age等于read int是什么,您的年龄,因此用户输入一个数字,并该数字被粘贴到其中变量,所以现在如果他们的数字建筑的内容少于40,则打印一消息,否则他是一个不同的消息。
我来了,危险的接近希望之一,这些消息发送给另一个HUD,这些消息对我来说非常发人深省,意识到这一点,并且可能是原来的两倍,作为我的一些炖菜,没关系,我就买一辆车,好车,无论如何,一切都会很棒,但是是的。
如果你知道这个问题很常见,关于变量的值使用什么,我们称之为关系或比较小于大于等于运算符,这是这样的东西,所以这里是这些运营商,大多数运营商是不言自明的,除非他们可能不会这样写,你所期望的比比这更简单。
如果你问十是否小于五,这不是真的,或者如果你问十是否大于五,这是小于或等于你的事实,实际上用两个写出来,字符数不小于或等于表明它可以在java中运行,你只需将其输入为与以下相同的两个字符。
大于或等于前两个,如果你问是否有某事,这是不寻常的,等于你必须做的其他事情,写两个等号,如果你想的话,知道某件事是否不等于你写一个感叹号,然后写一个等号,你认为他们为什么用两个,这里的等号不是很典型。
数学符号是这样的,是的,我说如果你只使用一个等号,已经具有含义,java就是你声明变量的地方以及变量值的符号,为此使用等号,因此等号只能用于一个基本上,所以我们不能用它来比较值和负值。
java设计者决定的价值观,用它来赋值,他们决定使用双等号比较值,还有其他语言的做法有所不同,但是这在编程中相当常见,事实上,如果你用一个单一的来写,它等于它不会编译一点红色下划线,你必须有第二个等号。
现在可以了吧,我写这张表的方式可能是有点令人困惑,因为每个人侧面我说指true值false,我这么好是什么意思,基本上只是告诉你是否测试,是否是一个真实的陈述,你知道是否有if语句里面有那个测试。
不会代码输入大括号TRU入会意思是是的,false意味着知道他不会,但实际上是我写的原因,就这样,真或假,就是这样,从技术上来说,这就是所谓的我们要学习的布尔逻辑值,稍后会详细介绍。
但那就是java思考这些逻辑的方式,现在对语句进行逻辑测试,我神智提到了幻灯片底部,你知道我们一直在学习向右循环,并在for的标题中循环,他说foi equals0,i less超过15。
加上加上上周我排序,抱歉我说哦语法是很奇怪,不用担心,只写它下来,我稍后告诉你,所以我想一下周一我们开始明白ONI等于零,就像声明一个变量或者其他什么都可以,这部分语法开始看起来像我在这里更熟悉。
这部分小于十,这是一个测试,不断循环,只要我有一个较小的值比十,所以这样的比较运算符,用于这些小循环边界测试基本上没问题,所以那些关系运算符有吗,关于那些的问题,我想这是不言自明的,额吉爱的。
那么i plus plus是什么意思,是的,我会告诉你,我实际上有一张幻灯片,这基本上意味着去下一个值,从0~1,从一比二,我肯定会谈论这个在几张幻灯片中,所以知道这一切,关于这些关系运算符。
你可能会编写这样的代码,询问用户他们赚了多少百分比,然后打印出他们的年级课程,看起来很合理,尽管你可能会反对这条曲线,如果你连你自己都不明白的话,如果你得到80分,就得到你的名字。
它满足此代码有您没有的错误,错误是某事,你得到了你得到的成绩,然后你除此之外还获得其他成绩。
那个男孩是好是坏,我不知道你怎么让奶奶来的好吧,让我们运行它,我们不必这样做。
理论上我认为你是对的,所以我想我有一个程序我不好吗,也许我不让我们把它放在这里,我以为我有一个文件,为了解决这个问题,粘贴我要运行名为累积循环,这不是他不好姓名,但您的收入百分比是多少,好吧。
我得到了86,他是什么意思,明白为什么我的意思就是你说的好,为什么会这样,是的,86大于或等于80,86也是大于或也等于70,86大于或等于八,计算机按照你的指令去做,你告诉他这个数字是否大于。
我想把这个消息放在这里,你说的对吗,我想你知道,如果你没有看到那件事的到来,那就是因为我们有这些隐含的东西,我们说话的措辞草率,我们期望我们是什么样的人,交谈以了解我们的意思。
当然我不是想让你打印三条消息,但计算机已完成,计算机感觉比人更聪明和更愚蠢,我们永远可以按照我们所说的去做,要做我们告诉他打印所有这些东西,基本上没问题,那怎么办,你做的很好。
这里的问题是这些条件有点像你们互相排斥,应该只打印这些消息之一,将其表达为程序的方法是hive的形式略有不同。
else称为嵌套,If f else,你写的地方基本上是在说,你反复知道并尝试每一个这些测试,并选择第一个匹配,所以他有点粘合他们全部在一起,并使它们彼此相辅相成,自面量互斥,解释这一点的方式是。
如果这是第一个测试,通过运行第一组语句,然后转到底部,否则如果第一次测试没有通过尝试,第二个,然后如果那样通行证运行第二组状态,否则进入第三组,以此类推,你可以拥有任意数量的这些,在这里我有一个例子。
三种不同的积极结果,负数零代米可以有七个不同的选择,A b c d e,无论如何,如果你回到这段代码。
我们正在努力做你要做的一切,要做的就是将这些更改为else,If else if fs,if fs好吧,现在如果我重新运行同样的程序,我输入86,我得到了B,他不会输入其中多个树枝不在了好吧。
有一个小微妙的改变。
将使这段代码甚至好一点,你会的,请注意我的幻灯片在哪里。
我的幻灯片以else结尾,不以else结尾,gift和有一个微妙的区别,这两件事之间,我知道这些图,你流程图我不知道是不是有帮助或无帮助,但可以告诉我们哪些代码的走向,代码的作用是什么。
下一步做我的幻灯片上总是有这段代码,恰好计入三个之一分支,要么是第一个分支,要么是第二个或第三个,他永远不会记录多个分支,并且它永远不会变成零分支,你明白为什么吗,因为它总会选择,你知道如果是的话。
它大于零,它会做,如果小于零,则第一个分支它将执行,第二个分支,并为其他一切都会做第三个放置这些路径之一,代码将运行轻微的变化,是如果第三个有影响,所以米如果区别于则以else结束这个版本。
甚至是最后一个快代码,有一个测试,如果你失败了,所有测试,包括最后一次测试,然后它不会运行分支部,所以这是相互的独家,您将运行其中之一,他们或零,我想给你一个你想要的例子,如果你想的话。
请在此处的幻灯片上决定你想要什么金属,奥运会或者其他什么,如果你获得了第一,如果你获得第二名,你将获得金牌,获得银牌的地方,如果你得到第三名,你可以获得铜牌,否则你不会得到任何东西,获得一枚奖牌。
也许你会获得参与奖杯或类似的东西,但你不会弄乱,所以如果你只是在那里写了其他内容,而没有这个地方等于三又什么问题,那,是的,没有其他命令,所以你的意思是,如果我还有其他的是的。
我想如果你添加了第四个else,什么也没有,在大括号里,就像你不需要说别的,没什么别的就是没什么,不要以同样的方式说,那是对的,即使你只有一个if和一个,其他和其他什么都不是包括什么费用。
如果我把现有的代码划掉的话,如果place等于三,我就删除它部分,并保持其余部分不变,改变每个人都是错误的,谁不是第一名或第二名,所以我现在颁发大约45枚铜牌,基本上明白这样不好。
所以你必须选择其中的一个结构是正确的。
所以对于这个例子,在这里我只想向你指出,你知道如果你超过90分,你就会得到A如果您高于80,B70C60DI实际上可以删除这个,如果在这个特殊情况,因为如果你不是,你将成为前四个人中的任何一个少于60。
你确实想运行它第五段代码,所以它不是有必要说一下,哪一个百分比就不用说了,你的分数低于60,因为他是暗示正确,所以更好一点,我猜你是这样写代码的,从我现在向你展示的内容来看,哦好吧。
我们永远不应该连续三个提示,我们应该他们之间总是有爱丽丝的不正确,我的意思是,有时你只是想说,没有任何其他的,这就是一个例子,那就是那些东西的地方,你们吃的东西不是相互的,彼此排。
他的地方可能想做不止一项,就像如果你问的是配料,你想要三明治还是汉堡生菜,你想要吗,番茄你想要吗,你可能想要所有你想要的纠察队,可能需要七个中的四个,他们你可能什么都没有,所以你不想做其他事情。
如果那些在一起,因为那意味着你只得到右上角的一个好吧。
所以这些是某种嵌套的if files结构,这是我刚才说的一些例子,如果你是的话,测试你不需要的东西,测试一下是否将其删除,必须不小于零,大于等于零,所以我只是别问这个问题,这是一个更好的编码风格的例子。
我想我已经向你提到了一点,伙计们,当我们迎接你的作业时,我们根据功能及其含义对您进行评分,对这两段代码进行样式处理,具有完全相同的功能,同样的事情,第二个更好风格,因为我们没有缘。
这是另一个很常见的事情,学生会做,并且有一些常见的,如果你看看这个所有之间的代码,例如我尝试对它进行颜色编码很少,但我不知道它是否会出现投影仪上效果很好,你注意到了吗,在我所有的三个分支中。
这个打一行无关紧要,它是或者他是什么或者其他什么,但我是打印,我正在做同样的行代码,Rain down,在所有不同的代码,右侧的分支也执行B等于B加X,无论它不等于不管这些名字是什么。
但是然后有一些部分不同,在A等于一分之中,我正在做X如果等于二,则分配三执行X的分支等于六等等,所以这段代码有点多余,如果出现以下情况,你可以将其中一些部件拉出,你在两个方面都做某事。
NFL的分支机构或所有分支机构嵌套的files,你可以把它拉出来到顶部或底部,取决于什么,在这种情况下,你想要运行它的顺序,如果你的代码看起来更好,不服你总是要打印A,只需将打印A移除即可,特殊情况下。
我发现了一个模式,如果如果A为二,则一被分配为三,如果A为三,则分配六分配九,无论A是什么,我都会分配三个,所以总是说X等于每次搬家三次,我们总是作B等于B加X,我们可以移动它。
但也许我们应该把它移到一步,因为它位于所有的末尾,你知道这些小树枝,然后有一点是,如果你仔细观察的话,这是独一无二的,等于外加时只出现的部分在中间分支,所以第一部分仍然需要有一个。
如果以确定我是否需要这样做,再次将左侧代码放在右侧代码上,具有同等的记录功能,是更好的风格,因为他有节少冗余好吧,另一件是你,可以用这些布尔值或逻辑值来做测试,是你可以加入多个测试一起说。
And or or not you,可以说是不是二等于三,如果你问的话,一小于五,你要求他们俩为真,所以如果其中一个或两个都是错误的,整体事情,就像如果你问二是否等于三,如果你不等于问这是否正确。
是否定的,一减小于五好,一小于五是是的,但另一个不是真的,所以说他们是不正确的,都是真的,你知道我的意思,所以如果你说这些的话,总体来说是错误的,它们所在的垂直管道字符反斜杠键,如果你说二各管道意思是。
如果你问是这样的话,剩下二等于三或负数,一小于五,你基本上是在问是其中之一或其中之一或两者,如果是其中任何一种情况则为true,总体陈述是正确的,并且所以二等于三不成立,但是一小于五是这样的。
总体结果是true,这个感叹号标志,我在几张幻灯片前看到过你自己,那不等于感叹号相等,感叹号字符为一种非字符,如果你把不是在逻辑测试面前,它会反转,逻辑测试的结果二等于三是假的,但如果我不这么认为。
从假到真,你知道,如果你如果你学习逻辑之类的,你可以谈论这些事情,真值表就像给定A的值,如果您要求P合,则测试P和测试Q问,除非他们都为真,否则它是假的,如果你要求P或Q,这是真的,除非他们都是错的。
如果你在你的电脑上使用antenna就可以了,塔罗尔计划作业义,虽然有一些我一直在叫的其他事情,这周你喜欢外面的变量for循环的上下文,我想你不应该用在卡罗尔身上,但我们经常会用结合这些东西。
我想写一个很快就和你们一起编程。
为了好玩,如果我们想尝试一下怎么办,决定我们要约会的人,这是一个敏感的话题,非常个人的信任,非常非常个人的信任,决定我们想要做什么,我们想问用户一些问题问题,然后根据他们的内容说,我们会告诉他们。
我们是否愿意,无论是否与他们约会,我们都会学习很多关于阅读数字的知识,所以我想知道你是否是将决定,我们是否要去约会,与某人有一些数字,关于你想要的那个人,知道了,让我们尝试让pg做好准备。
你想知道的号码是多少,是的高度可以有不同的单位,对于高度,所以也许我们只是说int height等于read,int有多高,你英寸问号好cool,你想知道的另一个号码是多少,是GPS。
这是一个非常斯坦福的答案,好吧,很酷,我没有,我没有问你是否有一个最小或最大边界,我们正在寻找信用评分这些事,是的,你的信用评分是多少,N,好的,我还想要一个,这很有趣,给我多一个性别作为数字,很棘手。
因为我认为这更多的是就像A,并且很难知道,到底如何处理那一块,我想要的数据以及如何处理它,要知道给我一个更像是数字式的好吧,你确定几岁了,也许吧我会问年龄中的第一个读int如何老了,你还好吗。
你可能有一些完全不同的重要标准,你没关系,这只是为了好玩,所以也许我们想要什么就想做什么,我们需要这里,也许我们有一定的年龄限制,我们想要30岁以下的人,这么说吧,如果你的年龄较小的话,超过30。
这是一件好事,但我基本上我想要组合在一起,某种如果有那么富兰克林,我们去约会吧,否则如果你不是我关心的全部print,不是你,而是我,基本上在这些中,括号里我想写下所有我关心的,我需要的东西。
愿意尝试并继续与你的第一次约会,所以你知道我们只是开玩笑,就在这里,所以我们只是玩的很开心,但是也许你需要身高五英尺,一英寸或类似的东西,61英寸或类似的尺寸是多少,那所以如果我也希望你是61英寸。
我应该在此处添加什么同步,并且您的身高大于或等于61,大声喊出所有61岁以下的人,没问题,你也很棒,但我们只是在这里玩弄布尔逻辑,所以N和一个兄弟同步,并且对你明白,如果我说或者。
那么基本上任何年轻或高大的人都会得到通过,但也许我需要这两个快乐的事情,所以我要写到这里就结束了,Gpa,你的GPA是多少,希望他们有4。0挖,也许你应该从简单一点开始,就像呼吸一样。
你知道愿意说话没事,所以无论如何让我们试一试,有点回旋余地,过来吧好吧,但如果我们需要所有这些东西,那又怎样,但我们会放弃你所拥有的一切,一个非常好的信用评分,因为胜过一切良好的信用评分。
我们想要不知道,你甚至不知道,除了800,是那伙计们,为什么你甚至去信评分,为什么不呢,就这样吧,父母们平衡一下吧,银行余额,让我们直接说吧,我想要一份遗产承认去度过美好的一天,嗯嗯信用评分800。
如果信用评分800就好了,我们非常渴望,如果他们有递话,就放弃其他任何东西,我如何在我的程序中表达这一点,是的先生,就像那样,这肯定是完全正确的,我我认为我们可以做的更好一点。
风格比那个因为我不得不重复Y打印两次,所以这是功能完全正确,我想稍微提高一下风格,轻松火,是的是的,如果你这样的话,那就完全正确了,拥有这一项真正伟大的品质,信用评分,或者您拥有所有这些其他品质。
这两者之一,你知道我会尝试一下,所以让我们尝试一下,但我不想详尽的坐在这里,并测试所有这里有可能性,但有多老了,你好吧,让我们一起去22吧,我的我不知道70,我的GPA3。99是多少,你的信用评分很好。
我有点粗略,信用520很好,够了,我们去约会吧好吧,否则我76,我身高33英寸,但我不是,做的很好,但我会发布这个程序,稍后如果您需要使用它,那好吧,如果我31碎了怎么办,我64岁了,我的GPA是3。
2,我的信用评分是600,我搞砸了,我这里没有分数,我不得不降低GPA并零线要成功,所以他去了,无论如何,其他方向我们只是善良,玩得开心,但我不是故意的,因特工身高冒犯任何人,而是或者其他什么。
但就像嗯那就是你用的一些东西,这些布尔值与这些逻辑测试,是的哦,这是一个很好的问题,比如什么,如果你把括号去掉,会不会仍然以同样的方式工作,所以你知道在我直接回答问题之前。
我只是像往常一样指出可以添加一些括号,确保我相信,与符号实际上具有更高的优先级,评估的优先级高于逆己经,所以我认为从技术上讲,这事没有他程序会正常工作,但我认为你经常得到的结果是。
如果你有一个更复杂的测试,有一个X你就有ORS和一个大的,将所有这些混合起来,然后就得到了,真的很难记住到底是什么顺序会发生,所以我真的认为早餐不错,我觉得还不错,这并不是一件坏事。
老实说有点忘记是否合都有不同的先例,只是真的确保我会锁定,通过这些来评估这里的顺序,括号到位,但我认为你是是的,我很确定程序会运行在这个特定的情况下,没有它们也是一样的,安利是的好的是的。
这是一个有趣的问题,他说如果我能用的话怎么办,信用在这个如果开始就想,如果那些其他的东西,比如这些和零件三个,你必须拥有这三个,但你还得担心分数至少有500个,其他品质都不错,所以是的,你可以这样做。
你可以说所有其他的东西和信用,至少为五一百就可以了,这样你就可以多次引用同一个变量一次,如果你需要的话,我已经这样做了,之前有过一次例子,但我没有做关于他可以获得的,任何类型的免责声明,pg级。
还有其他一些人们要求该课程的人数,FRND是的,是的,这是一个有趣的问题,他说这个程序的成绩是我本来可以写在这里的,就像如果你大于或等于80,并且你小于或等于89,或者我看到这种代码可以这样写吗。
我的主张是好是坏,陷入不必要的代码,我已经检查过的类别,您大于或等于90,所以那么如果我随后问你是否大于等于80,我知道你不可能是90或以上,因为我已经检查了一下,所以他不是有必要询问任何不在。
这段代码第14行的要点不是,显然是一段糟糕的代码,只是你不需要这么说,如果你不必好吧。
是个好问题好吧,还有什么哦,还有一对一些微妙的事情,我不会花时间,像很多数学人一样,花很多时间,想要写成二比X少超过十,它实际上不起作用,如果你真的想要的话,就这样写,要工作你必须说二比X少X小于十。
只是java需要你把它写的更长,因为java不理解,三元组也体现在以下方面的不平等优先级,你可以混合算术和乘法和逻辑之类的东西,你可以说是5×7大于相等,并且它完成所有算数,首先然后执行逻辑之后。
以及所有其他协力,我们了解到仍然适用,所以它是很常见,好吧,让我们来讨论一些东西,关于我是否想教你一些新的,现在关于循环的事情,for循环我们可能会做,while循环星期五,所以记住for循环。
你知道我们之前比赛时间等于零,并且全部那东西真正发生的事情是,for循环的标题,由三部分组成,它有所谓的初始化步骤,有一个测试步骤,初始化首先发生在java到达循环,然后重复java将检查测试是否正确。
并且如果是这样,它将运行里面的语句大括号,然后运行后大括号中的语句它将运行更新,然后它会重复,所以好吧,如果你看一个具体的例子等等,这是哪里哇,抱歉我有一点在这里混在一起,我想谈谈你是新人。
我想有人问过你,关于i plus plus,我plus plus是一个更新事例,i plus plus的真正含义是什么,当以下情况时,它被称为增量语句,你写一个变量的名字,接下来是一个加号。
基本上意味着设置该变量来存储其旧的值加一,实际上这是一个非常有趣的一行代码,X等于X,如果你是数学家,则加1X等于其自身加一,但是当然你不会写出来数学中的不等式,这里等号的意思是存储一个标志。
这样你就可以说,我想要将X的值更改为原来的值加一,如果X等于二,并且你说X等于X加一,就像说我希望X变成三一样,因为这是一个相当常见的,增加A的值的操作变量,被赋予特殊的运算符,称为plus加运算符。
如果你写x plus plus,则表示设置X的价值在于它的优点,也许你听说过,在编程之前加上加上你们中的一些人,拥有称为C加加的语言,也许听说过即将到来的语言,这是个笑话,这是一个傻瓜笑话。
C中有一个持有者语言,然后他们添加了一些新东西,他们就像哦就像下一个种子喜欢看到加号后,如果你拿106P是的,那就是这就是正确的数量笑,如果你有的话,你也会笑,学习C加加,我希望坚持下去,大约106。
因为大事我们在那堂课上使用的语言,但无论如何,这就是i plus plus的意思,意味着将变量值增加,所以我想向你展示一个具体的,例如,现在又是一个for循环,我谈到我们如何拥有一个初始化。
我们有一个测试,我们有更新,所以这个for循环是什么,真正的意思是起一个不变的名字,我存储零,现在重复打印,直到我已经到了五岁了,我要去的方式,每次循环时修改id眼睛值会增加一次,基本上我会是零。
然后是一,然后二,然后三,然后四,然后那么一旦我达到五就不会了,小于五,然后循环会停止,所以从技术上来说,这就是for循环确实在做,虽然当然我们还是有这样的心理,如果我在这里读五的快捷方式。
循环将重复五次,这仍然是正确简化是什么,正在发生更新之类的事情,所以这张幻灯片的一个有趣的怪提示,我们实际上正在使用的值代码里面的变量,来看看我打印LI加点点点和,这意味着对于每个整数零质。
但不包括5Y之间,想要打印该整数后跟一个点点点,所以它打印0。1点点到四个,然后就停止了,这实际上非常强大,你可以使用该变量,还这只是一个变量,就像其他变量一样,你可以参考一下,是一样的。
指的是它的价值,目前有,该代码有意义吗,关于这张幻灯片上的代码的问题,是的,是啊,为什么不从1~51呢,也许在这里读一个,然后说只要I小于或等于五,然后他会说让我们数一下12345还多。
自然你完全可以做到这一点,我这样做的原因是,从开始零式计算机启动的方式,在很多情况下系数为零,很多时候我会谈论斯莱特,当然但很多时候你就是你想要循环一系列数字,并且这些数字用作类似的偏移量。
从一个起点开始,比如有多少个距离我家几英里,我们将从一英里外,然后门一英里外,然后去两英里外,你想要做零一,这样你就可以有一个循环,就在你家的对面,从离你家英里远的地方出发,或类似的事情。
因为我们常常最终想要数从零开始,没有真正的为什么你总是必须这样做零,但这只是我认为作为一台计算机,你属于科学和编码类型的人,只是有点落入零开始点习惯,我的一个朋友和另一位讲师,他的名字叫克里斯克雷格。
他有一个杯子说世界0号计算机科学教授来吧,就是这样,有趣的,无论如何,如果你想要更多一点详细介绍其中之一,看起来很复杂的流程图,有你第一次这样做时,这里是第一个初始化步骤,所以这实际上是一个循环。
开始于如果测试为真,则重复一次,一小于或等于四,是的,如果是的话,他会执行以下快大括号中的语句,然后是更新是i plus plus,所以我就变成了它保留的两个图像,调到43~43到四三,直到二为假。
然后就停止了,所以它会产生脂肪,所以这就是为什么循环有效,所以我谈到了i plus plus作为一种增加增加的方式,您没有的变量的值使用i plus plus作为你的增量,可以增加或减少其他值。
这是你写的一种方式,加等于,然后写出金额,你想通过你可以改变它,说简等于X等于除等于这些都有效,或者你可以写出较长的形式,将其设置为等于自身加上也完全没问题的东西。
具体的例子就下,如果你如果你在这个程序中写到这里,如果你说INTEI等于零,则小于大于或等于100,I加等于十富兰克林,那么他是,试图询问约会的事,不不不运行该程序,然后运行该程序。
他打印零十二十三十四十,它上升十,因为我说我家等于十,而不是我加加,我猜另一个该程序的版本是我可以我说过,我在这里加上,然后我可以说在身体内部,如果I能被十整除,则打印明智,但这样就可以了。
不必要的重复循环。
爱不需要,所以我认为这个人是比那还干净,所以这些是一些这些简短的修改命令变量的值,你可以有一个倒计时的循环,可以从以下位置开始归结为一,区别在于你需要稍微改变你的测试,这个测试的条件是循环应继续重复。
所以只要眼睛价值还在,就继续前进,至少有一个,所以从十点开始继续,直到e i minus,minus表示减一,所以去十987,然后发射更少,比递增for循环更常见,这个递减for循环,但你仍然有时做。
那么这个怎么样,这是一个有趣的例子,它被称为累积卢,漂亮常见模式,你,想要计算一定范围内的东西,所有数字的总和是多少,现在从1~1000的整数,如果你数学很好,你知道有就像一个简化。
你可以N乘以N加12或类似的东西,但不担心那个有很多你想要的例子,计算某事重复的值范围,有一个关于如何做的有趣模式,这是你声明一个变量曾经在循环外,现在在循环内,你修改循环的值这个变量。
所以这里发生了什么,是说总和从零开始,但是然后你加一,然后你加二,然后你无论如何都有三和四,所以总和正在积累,随着时间的推移,一直变大到千,所以这是所有的总和,从一到千的整数排序。
这里的关键见解是你有声明某个变量之外,现在for循环。
为什么你必须这样做,如果你不这样做的话,我会告诉你,我的意思是简短的回答是这样,如果你不这样做就不起作用,但有些等于零,我们增加到100,让我们做我加加让我们做一些,加上等于我柏林总合适加一些东西好吧。
如果我运行它,它会说总合适五百五百,我很确定这是正确的回答,但是问问,如果你尝试这样做怎么办,像这样声明这个值,如果你细心的话是行不通的,你注意到第15行的总和有下划线,但我的意思是。
我认为他有与理解哪些行有关,代码执行一次与哪个执行的代码行数超过,如果你说总和等于零一次,在这些花括号里面,你就可以了,重新创建,并将该总和重置为一遍又一遍的归零,它不会变得越来越大。
并随着时间的推移积累起来,实际上对我来说非常重要,仅声明一次,而不是重复,但反复修改它,这样就可以了,重要的区别,如果你想,如果您愿意警察看他想象一下到底发生了什么,有点麻烦,发生在这里。
我会做这个我会做打印,进行中的零总和是加总和,然后我会像这样增加它,事实上也许只是为了好玩,我会说暂停100ms,你会发现,只是逐渐增加歌曲,如果你没有的话,程序会继续运行,有停顿,它会呕吐出来。
离线输出太快了,无法观看他们,所以我们可以看着太阳升起,作为一个恩惠,你可以看到的最后一行,它来自四十九五十二五十四,这个添加了一个距太阳100英里,这是最后一次注册范围内的编号,如果我一直向上滚动。
如果你没听懂他开头的一些内容零,然后我加一,然后我必须,然后我有三个比我有四个等等,所以任何关于累积的问题和,好的,如果我想知道的话,该怎么办,整数的因数之和,就像我有一个int n等于24。
我想要知道24的所有因数之和,我是怎么计算的,我的意思是我们可以重用很多这样的代码,我想这个想法是我想参考的,必要时到N,以便如果我改变结束宣言和其余部分代码,会自行修改,适当的有哪些变化。
你想让我完成尾声,好吧,让我们尝试一个不同的问题,电流循环上升到100怎么办,我知道一个数字是否是另一个数字的想法是,如果,余数为零,所以如果我说N24,余数四,就是说24除以余数是多少,四余数为零。
所以我可以问N冒四是否为零好,这意味着四是一个因数,那么怎么办,我找出24的所有因数来求和,一切都很好,我可以尝试所有从1~24的数字,看看是否他们每个人都是一个正确的因素。
所以我可以有一个从一到N是什么,我在这里做什么,所以每个int,我从1~24,我想做什么,那,是的,好吧,如果这个数I是N的因数,如果N被I修改,则比投资的总和还要多,余数为零,然后将I添加到。
太阳24的一些因数是61+2加3+4,加6+12加24,我想我忘记了八,无论如何,所以我认为这是正确的金额,无论如何,那就是我们要停下来的地方,因为我们没时间,周五我们会用while做更多的事情。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P6:06_ More Loops, Constants, Random Numbers - 外影译坊 - BV14U4geNEEq
所以今天的计划是我要讲,我将进行更多控制台编程,详细讨论循环,我也要去教你关于随机数的知识,常量和其他一些好东西,每隔几个快速公告家庭作业,从今天要出去的作业二,我们将举行一次帮助会议。
我们的一位部门领导将参加,我们给你一些有关的详细信息,如何开始的作业,给你一些提示,可以回答您的问题,我们称之为这是您的早期作业,帮助时间或是的时间和第一场会议作业,二得作业将于下周二进行。
晚上七点在STLC114个,所以作业当然会去,今天已经起来了,但是也许需要这个周末看一下,但是如果你对此有疑问或需要建议关于他,并去那个会议与办公时间略有不同,或我认为后面的事情就像该层用于调试。
如果您作业代码被破坏了,是的我们的绘画不是为了这个,他更多的是为了了解您所知道的作业,询问预期的问题,您的情况以及您需要做什么,才能获得关于开始这类工作的一些建议,你们应该拥有的一切都好吧。
现在已经转到你的第一部分了,如果你没有或没有被分配给你,应该晚点去填写该部分注册表单,放入一个部分,你知道这就是一个模型,我们每周要做的事,我们要解决这些问题,这些工作表和练习更深入一点。
与您的部门负责人分别提供材料,时间在较小的设置,所以希望这对你们所有人来说都很有效,嗯让我开始今天的幻灯片,所以就下第六张幻灯片没问题。
问题是的,作业二将于一周内到期,星期一,所以从现在起十天后到期,本季度的一般作业要么缺席一周,要么只是缺席,有一周多一点的时间,也许我们喜欢一周加一个周末,给你一周的时间再加一点。
但是春天是最短的一个季度,今年所以一些作业指示春季严格一周1/4,好吧是的,所以无论如何,今天课堂阅读来自张杰,我们要读的书的第三和第四部分,重新审视一下循环,这样我们在去年年底看到的最后一件事。
我称之为讲座累积循环和这个例子,这里的幻灯片是关于添加,所有从一到千的整数和I,向您展示了这个重要提示,您需要执行的重要代码段,您需要声明一个像上面的一些变量一样循环。
然后再循环体中它将逐步修改修改该变量的值,构建代码很重要,这样你就知道变量了,在整个过程中保持正确的值代码,以便你以后可以使用它,你需要它,当然还有这个例子,是一个简单的规范事例累积算法。
但我们要只用这个想法几次,所以我想要只是提醒你,这个想法在循环期间累加一个值,可以好吧,让我们看几个例子,在此基础上我想更深入wave with循环在这里,所以一个特定的我想谈谈什么时候。
他们称之为哨兵循环和哨兵value是一个值,有点像在某些情况下向您的程序发出特殊信号,这是一个通用术语,例如如果你在这里查看这个程序,我说我们写一个程序来询问用户输入一些数字,并然后当用户输入零时。
程序将停止,并显示所有数字的总和,用户输入,好的,明白了,我需要你的帮助,所以我要取我的eclipse项目。
今天我有一个名为哨兵点java,好的哨兵我们走了,所以帮帮我吧。
他说输入数字十,当我写一个数字20M时,我喜欢把程序切的更小,解决这些问题,然后有点向外扩展,直到我完成整个程序,并且经常你可以消掉的一小块是,如果你应该做很多事情,有时你为什么不尝试做那件事。
只需一次即可使其发挥作用,并然后向右重复,所以份额数字十的类型,我如何要求用户输入一个数字,是的是读入命令。
谢谢您,请输入数字,十好吧,所以读in type这样的数字可以吗,通常还有一点点在左边,右边我该怎么办,通常放在阅读的左侧,你还记得吗,是的,我做了一个变量,是的,我在number中声明了。
像int这样的变量等于读取它,以便它们输入数字,它被存储到该变量中,好的太好了,现在我在这里做一次,我需要重复做正确的事。
我需要做,直到他们输入一个零,问题描述说对好的好的。
所以看来我需要重新做一遍,一遍又一遍,听起来像一个循环,对我来说,我应该使用for循环还是while循环,以及你为什么认为,好的while循环,因为用户需要告诉我什么时候停止,是的,如果我知道的话。
那就是四循环,我确实要去五次,要去十次,我不太清楚无限期使用多少次一个while循环,所以好吧,而我不知道做对了,记住,你放进去的东西是一个测试,你想要检查的内容以及测试时间变为false,循环将停止。
因此测试类型是持续进行的条件,那么我应该在什么条件下保留,当他不为零时就去好吧嗯,他们输入的数字不为零,当我写的时候,他是用红色下划线写的D14形态number,这个词为什么下划线是一个错误对偶。
为什么是这是一个错误,是的,先生变量不是尚未在程序中的该点定义,谢谢完全正确,就是我在定义它之前尝试使用它,尝试在D14行使用它,但它直到我15岁才存在,哎呀我该怎么办,解决这个问题,是的。
就像现在麻木一样,先声明他,我们已经学习了不同的语法,你可以只需声明一个变量,而不给出他是一个值,或者你可以给它一个值,一件有趣的事情是,如果你不要给变量一个值,实际上也会导致错误,我现在遇到的错误是。
他说我有一个名为number的重复变量,所以也许你还记得是否将其用于number两次,他试图制造两个他们互相冲突,真的是这样,这里的代码型是我想要的,更新number的值已存储,int用户已输入。
所以我只是删除这个词,已了解,你不要再说一遍,因为类型加上这个名字,意味着你想创建一个新的之前不存在的变量,但是如果你删除这个词,这意味着你想要更新已经存在的变量存在,所以没关系,但现在是还在生我的气。
他说电量可能不是初始化了,所以现在他很生气,我因为如果你只是跑过程序做的第一件事,就是它创建了这个变量,但它没有有任何价值,但就是这样无价值的内存块,然后如果我询问他是否等于零,不知道它的价值是什么。
所以他是他不知道如何在这里表现,所以当变量没有值时,你不能使用它,所以好吧,我需要给他一个价值,我应该给他很多价值,如果我们初始化,那么我们就将它们设置为零或做什么,你想那个,是的,哨兵为零好吧。
所以我如果我不应该将其设置为那样,将其设置为零,然后循环此测试,这是一个错误的陈述对吧,零不等于零,是错误的,不真实的陈述对,那又怎样,意味着循环,实际上会甚至从来没有进入过它本身。
这意味着我的程序会立即完成,他不会做任何事情,所以我认为我想说的是,我需要将number初始化为除零,开始我的程序就像他们一样,除了零什么都升级,Open to,你需要验证不,我不想升级。
oben to任何东西,但为零,所以如果你明白为什么,那必须是除了零之外的任何东西,只需要让这个测试成立即可,它会进入循环,然后他会将值更改为任意值,用户输入某种类型的是在这里开始这个程序。
也许这个随机的愚蠢数字是善意的,愚蠢的,也许将其设置为一个或某物,就像我现在不知道好吗,阅读这些数字,记住目标程序是当他们输入零时。
应该打印总和是60,那么我该怎么办,执行程序的那部分,有人帮我看看我该怎么做,总和等于60公元。
所以有一些加上等于他们输入的数字不是,所以添加这些可以,但我没有,月亮还存在,所以你想让我走吗,使一个像这里一样,总和等于零,就像累积算法一样,我们讨论过的东西好吧,所以添加将它们全部加起来。
然后最后我可以打印总和式加总核对嗯。
总和加上类似的东西,好吧,让我们尝试一下sental java运行并,我能得到什么哦,字体很小好吧,让我们来做吧,那里更大,哎呀,斜体不,我不想要它,粗体好的,输入数字是二十三十零和60,伟大。
我们做到了好的,到目前为止一切都很好,现在让我们做一个小改动。
我不想要哨兵不再为零,我决定我想要哨兵是消极的,所以我会只需将代码更改为负数,一期末余额不是零,好的,我们现在就去做吧。
应该不会花很长时间,所以虽然总和不是负数,继续循环好吧,实际上这个评论绝非零,这确实不是消极的,现在可以了,输入数字十二十三十,一届总和适,59oh,事情不对,我们继续吧,是的,是的。
用户的负面影响介入的内容,就像添加到我的歌曲中一样,现在不想这样,有时如果你愿意的话,会让学生感到惊讶,就像浏览这段代码一样,观察循环旋转,看看会发生什么发生等等,你会发现什么事,最后你知道你读了十个。
你读二十三三十很漂亮,最后一次步行时不言自明,通过循环,你要求他们输入一个数字,他们输入一,然后然后一旦他们输入否定的添加到总和中,然后我们循环回来,我们检查测试,然后我们看到它是负数。
然后我们停止循环,但是你看到了吗,我们没有检查测试,直到它为时已晚,直到我们已经错误的将负数添加到太阳中,我认为有一件事让一些人感到惊讶,学生们此时此刻就在这里,用户输入负数的地方。
并且他在那一刻被存储,从技术上讲,这个测试是正确的,现在就变得错误了,测试的瞬间就变成了假,所以你会想象,也许瞬间该测试变为false,循环会停止,但java总是执行检查之前循环的整个循环体。
如果测试为真,则再次测试运行整个牙套的主体检查,再次测试运行整个支架主体,再次以此类推,如果测试变成甲在身体中间,它仍然跑完了全身,所以仍然这样做,并添加负数,一首不该做的歌,那么好吧,我们必须修复它。
我们该如何修复这个错误,你觉得怎么样,添加一个新的赛亚人,如果是一切就想解决这个问题,你想要在哪里,如果,好的,如果number不是负数,然后将其添加到这样的,当然所以我想我喜欢这个例子。
因为有多种方法可以解决,我想谈论很多的问题,解决问题的不同方法,这完全是解决问题的正确方法,问题让我们运行它,并查看这样的类型,数字十二十三十,-160,如此有效,这不是我最喜欢的解决问题的方法。
问题是因为你有点重复这个测试两次,还不是最差的,世界上有什么东西可以重复测试两次,也没什么大不了的,这很好,但我也只是想看看其他一些方法,各自的优缺点都还好,还有一件事,你可以做,我可以做。
就像我不喜欢这个解决方案,但是java中有一个命令叫break中断命令立即退出,就在那里循环,有些程序员不这样做,就像这个命令,我认为他的风格很糟糕,或者他们认为你应该避免这种情况。
命令我们的教科书使用它,我个人不太喜欢用,除非我需要它有点感觉,就像您知道应该使用的工具一样,很少,因为他有点跳跃,你围绕make进行的程序,有时会make程序更难阅读,所以你可以做,而不是说好。
如果总和不是负数,或者如果是第一,你可以说如果这个数字是负面的,我想抱歉,如果数字是负数,我想打破类似的事情,你可以你可以插入这个break语句,立即停止循环,如果他们输入的数字是负数,和什么几乎一样。
你建议它略有不同,你可能会说这些解决方案都有效,我认为有一个解决问题的,第三种方法是与这两个我不同,想谈谈这个,所以想一下我们现在在这里做什么,用户正在输入数字,用户在屏幕上输入数字,十二十三十。
一又为数字,我想将其中三个字母相加,我们没见过这样的情况吗,在我想做某事之前四,我想做点别的事情,一倍是多少,栅栏柱问题,记住类似这是一个栅栏柱,我们已经在不同的衣服上遇到了问题。
学习了栅栏柱的策略问题,记住你知道栅栏柱是如果你保存邮局邮局,邮局邮局为什么你总是会以一根悬空的电线,就像有什么技巧,为了解决栅栏柱问题,你把一个帖子放在第一位,你就放置了一个发布。
然后你的循环是电线帖子,电线柱,电线柱正确好很好,这个程序记住帖子是你做的次数越多的事情,以及电线是你做的事情越少,那么我们再一次做什么呢,在这个节目中,是的,从用户处获取输入和int。
读gains就是post的事情和电线是我们想做的事情,减少一次,添加它们的次数一起算成总和,所以如果你只是排序,盲目遵循栅栏解决方案,以及我们了解到您可以的模式,实际上以这种方式解决这个问题。
下面是如何做到这一点,让我们移动其中之一,这些帖子,让我们移走其中一篇,将输入读入输出,所以你会做什么可以做的事,而不是初始化这个到某个虚拟值,但绝不是负数,将其设置为以下结果,读一个int。
所以问他们第一个现在循环开始之前的数字,请记住这是我们的帖子,那笔帖子如果你付了钱,如果你放置了一个先发布,然后再进入你所在的循环,应该走线柱,线柱正确,所以电线就是数字相加,今年夏天加上number。
就是县队等内部主体,环路应该在那根电线或电线柱上,首先发布电线,所以这也是这个问题的正确解决方案,你别相信我的话,我会逃跑,他告诉你,让我们试试,10:20分30负一总和是60。
所以米从这三个解决方案中知道,您知道你的if解决方案和或中断解决方案,或我个人喜欢的这个,这是最好的,不是因为它客观上更好,而是因为我喜欢能够重复使用解决方案,策略的常见模式,我以前见过的还有这个栅栏。
铁丝模式,经常弹出,这是一个解决这个问题的简单方法,就是移动,现在每个帖子中都有一个解决方案,有像你这样的优点和缺点,解决方案,我必须添加一个,如果是有点重复,我的这个测试,添加一个重复的读。
所以你总会有一个需要处理一点额外的代码,这个问题,所以你知道没有解决这个问题的完美方法,但我因为这个原因有点像这个对此的疑问,是否会导致感觉是闹,那太好了,我很高兴你,也建议这是另一种方式解决这个问题。
将是他说的是初始化这个总和,而不是从零开始,然后从一开始那个负面的东西被添加了,但他很友善,取消了一项我喜欢的权利,我并没有真正在这里展示该解决方案,因为该解决方案存在问题,他会解决这个问题吗。
但是它只适用于具有逆运算,例如如果您正在添加数字,您只需添加即可,相反数或减数有一种相反的情况,但是有时有些事情就像你一样,知道你想要多少栋房子,推土机什么的,如果你推土机太多了,所以你尝试一下。
你必须稍后重建一个,你照我说的做,就像你不做一样,总是有相反的操作,就像删除一个文件一样,容易太多了,我们都会放一个文件,包邮时很难喜欢做与你相反的事情,不小心做了太多次了,在此程序中。
尽管该操作会工作得很好好吧,所以这是一个作业之一上的哨兵循环,我们要求您解决的问题,有类似的事情,你必须保持循环,直到看到一定的价值,所以你必须思考同样的逻辑。
那里好吧,我要跳回幻灯片,这是我们修复的一些不同的问题,谈到了,我想谈谈胶水循环的嵌套,松散的循环部分,因为你没有受够了这一切的头痛,所以嵌套循环就是,当你有你可能拥有的循环内的循环。
已经为卡罗尔做了一些,但是这是一个包含两个for循环的事例,我觉得有些同学有很多,诸如嵌套推理之类的麻烦,循环阅读,他们有点困难,有时所以我的意思是在这个例子中,我有一个循环五次的外循环。
我有一个内循环使times和内循环打印星号盒,我称之为刺痛的内循环,括号内没有任何内容,基本上结束输出型打印十颗星,然后转到下一行,执行所有这些五次,这是这段代码的行为,所以当你在屏幕上运行它。
你会得到一个五行长方形,每行十行,如果你想追诉的话,现在就加星星这个程序的行为。
抱歉让我去我的,我想复制这个第2boob数字。
点java粘贴好吧,所以我的意思就是这样的代码,你相信我,我的意思是我可以运行这个,并且如果你愿意的话,现在看起来就是这样了解这是如何运行的,这个内在事物的整个身体就在这里,他完成了所有这五件事。
时代如此的思维方式,当java运行这个的时候,程序并到达这里,他开始反一下子就跳进去了,将I的值设置为一后,它会运行所有这些代码都完成了,所以它运行该内循环的所有十次传递。
它运行这个打印行和之后做完所有这些事情,然后就可以了,回到这里,他也固定在原位,然后他又重复了这一切,只是不断的做所有的内在身体,连续五次才停止好的,所以外循环有点需要。
比每个都需要更长的时间与内运行的操作。
我想要向你展示一些变化代码,并查看行为是否嵌套循环,有点道理,所以这段代码是做什么的嗯,它与我的上一张幻灯片非常相似,强调了唯一的微小差异,蓝色唯一的区别是内部循环J上升到五,而不是最多十个。
你觉得怎么样,行为将在这一段,当你看到那种破损的时候,三角形好吧,你为什么认为,我认为你可能是对的,是的,我认为这是正确的思考方式,他说如果你在线的话,你知道你打印的每一行,从第一行开始。
你打印一颗星星,在线二,你在线打印两颗星,你打印我的星星,如果你是的话,那就对了,第五行我等于五,非常好,这么想的话。
如果我去在这里编程,我将J更改为小于或等于I,它确实打印了三角形星星,就像你说的那样,没错好吧,现在为了好玩。
我可以打印它吗,如果我想要这些其他的东西怎么办,让我们试试,这个地就在这里,我想要打印一座323444555,我该如何打印,而不是星星。
任何想法,是的,而不是星星,打印ISO的值,打印ii4的值,这将打印出来,是的,那太好了嗯,我想要的另一处怎么样,它以较长的线开始并结束形较短,所以从五个开始字符,并以一个字符结尾。
否则我想我想要五个4233的结果,不管怎样明白,所以我想要三角形,就是那个形状哦,天哪我画不了好吗,这是一个直角,因为他们这样做小盒子的东西,我该怎么做,想法是的,哦有趣的事有很多。
你可以通过不同的方式解决这个问题,考虑最小变化,我认为我想要关注的代码修改这循环,我喜欢你的地方,我认为最主要的是,如果我愿意的话,五个循环等待我在做什么,我在就像拖着我的应用程序待在那里走开。
所以如果我想要其中的五个,就像什么决定了我有多少这样的明白,这是这循环,我做了多少次会打印一个数字,就是这样确定将获得多少个数字打印正确,他是有点像我不直视我的,意思是你可以思考的一种方式。
你可以在网上说的很好,想要在第三行打印四颗星,I想在第二行打印三颗星,我想打印两颗星,等我能找到,为了打破两颗星,并在第五行我想打印一颗星星,所以有点像,就像我如何将这些纸连接到。
你知道这些价值观是什么,映射左边数字的方程,现在只是一些简单的基本上代数的东西,如果你认为我认为最简单的方法,Make it go,就是说五减去II认为这是对的,或者或者等等,我说的右五减我加一就是。
对或者也许是4-1或六减,碍于六减去I是多少,无论如何,正确的数学是残酷的,但是你可以想出一些简单的,你知道它们之间的线性映射,两个现在可以了,你有一点不同的建议,大约有十个。
使这项工作和你一起工作的不同方式,我知道有很多方法可以做到这一点,只是想指出,如果你是查看代码的哪一部分,我应该建模吗,这里只要想想哪一部分确定打印多少个数字,这是多少字的监狱,这循环重复了多少次。
您将看到的数字,因此请修改该循环的边界,然后你会得到你想要的零钱,好的,然后还有一些其他输出,在你可以尝试制作的幻灯片上。
为你自己,如果你愿意的话,但是没关系,让我跳过这个怎么样,一我想打印这些数字,但我想要在他们前面的点,所以有点看起来数字已对齐,现在就让我来吧,尝试帮助构建我们的解决方案,第二看起来我们有点。
接下来是数字右点,然后然后是数字,所以这就是其中的部分。
我们正在打印数字,让我让我输入,他回来了,上升我使用twitter通知很棒,这是我朋友的,狗喜欢我的推文确实如此,对我们所有人来说重要的消息,我想嗯我很高兴黛西喜欢你,得到更多狗的照片,比你想象的还好。
这就是我们的出发点输出,我想要在前面有一些点数字正确,所以你在我之前就知道了,打印数字,我要打印点,打印点对,但我并不总是会打印一个点,我要打印四个点或三个点,或两个点或其他任何情况。
你将打印重复出现的内容,一个字符及其数量逐行不同,这可能意味着你需要一个循环来打印这些字符,所以我可能想要一个J打印循环四个点后,跟一个J打印循环四个数字,所以如果令人困惑的是,我从哪里得到这个。
你知道我为什么不把它放在同一个地方循环,这样的原因是,因为点数和数字的数量彼此不相等,所以它们需要分开,所以好吧,但是这是不太正确,因为如果我运行它,每行都有相同数量的方式点,表示他们有整数或其他。
所以这不太正确,我想要多少个点,我想要那个输出第一行。
我想要第四行及以上线,我想要三个,我该怎么办。
表示代码中有多少个点,你认为我想要是吗,无我是,看起来不错,我的意思是,如果你像我一样想一想,总共想要五个字符对,其中I是数字,所以其他五个我必须是这些点对了,这是另一种方法,想想这些是吧。
现在你可能会说天啊。
为什么为什么要做这些蠢事循环,为什么我不直接告诉他,print ln点点点点一,前肢向上,为什么我不只是把这一切写成打印腿,又为什么我会知道好吧,这是个好问题,但是答案是,如果你读完所有内容。
你可以制作这些循环代码更通用,如果我想要怎么办,以便我可以打印相同的内容,某种图案,但尺寸不同。
如果我想打印一个尺寸怎么办,八所以例如如果我去这里,并且我我希望能够打印此内容8号,所以也许我会改变这个说A所以现在有八行哇,看起来有点乱,所以哦好吧,也许我需要bug减去我这些米。
知道也许五岁的人需要秋天变成八,所以现在看起来很漂亮,不错不错不错,确实一般,这个版本是像大小变量之类的东西等于八,然后我说我小于或等于尺寸,这就是尺寸hi,所以现在我运行它看起来仍然很好。
但如果我把它改成17,好吧,实际上我不认为它适用于两位数的数字,意为宽度,数字不同,但我可以做四个,它会起作用,我可以做九个,它会工作,所以这实际上很酷,我可以改变一个程序,一个地方他就会像这样工作。
没错,我神智可以做点什么,就像读取int大小,问号盒尺寸六七,无论繁荣如何,这个尺寸非常酷,代码更通用,这就是我喜欢的原因,使用循环,而不是仅仅这样做,用手打印所有这些东西好的,所以嵌套循环。
所以这个想法喜欢看线条的图案,想出了一个小方程,一个字符的重复次数,你会想要打印,你可能会想要使用类似的东西,画出火箭飞船的图画,我想让你扮演的角色作业是的,1月,这是个好问题,结一在这,我这里有结一。
我可以吗,使用相同的字母式的,这样很好,问题如此简短,答案是的好吧,只要两个循环不是可以相互嵌套使用,我想再看这封信,稍后因为他语,接下来我想教你这个讲座被称为范围,但是基本上你可以减少一个名字电量。
只要他们不重叠,彼此都是你计划的一部分,可能会说我会在第二到目前为止,有关嵌套的其他问题,如果遇到一点麻烦,就循环,我鼓励遵循此代码,你下课后和我们一起去,或者一些东西,然后插入一些小字体。
其中的语句只是看起来像,例如如果我这样做怎么办,打印林high intei加上I,然后,我说暂停500ms,然后我再次运行它,它就像5号,所以你可以插入一些小语句。
例如可以帮助您观看程序并跟踪运行它的程序,可能会帮助你发现一些他执行操作的顺序,完全令人困惑,我会鼓励你插入这样的命令就可以了,晚安看看,好吧好吧。
让我们继续前进一点,结合更多的变化,您稍后可以查看的幻灯片,我想要谈论你问我的事情,关于使用相同的变量,这种事情的名字必须做这个想法,称为范围m m tune,如果我让你知道我说过的话又怎样。
关于如何制作这些图案,不同大小的字符好吧,也许在我的运行方法中,我声明了一个可变的新尺寸,我想使用它,我程序其余部分中的该变量,所以我有一个叫做上半部分的方法,绘制该图的上半部分。
我正在用下半部分方法绘制,尝试参考尺寸和其他它不起作用,它关闭了java,不允许,如果你生命一个一个方法,内部的变量只是可用于该方法,但不会通过任何其他方法看到不起作用,你会在其中加下划线红色。
它会说找不到可变大小,在上半部分方法中,好的这个想法,该限制称为范围,范围式程序中包含变量的部分存在,或者可以参考理解java范围的最简单方法,变量作用域被定义为是他声明的花括号。
如果你在A中声明一个变量方法,它一直存在到闭合卷区,支持该方法,有一些此的其他变体,例如如果您在循环内声明一个变量或if语句,它只存在于内部,light的特定的循环或NE个特定的if语句,回到他的问题。
如果我使用他,这在两个不同的循环中,J是仅在有效期内声明这些循环,然后在该循环之后是变量消失了,所以一些有趣的后果是,如果您愿意,请让我转到下一张幻灯片,所以这里如果你有两个循环范围不重叠,且为嵌套。
彼此之间可以使用相同的两者的变量名字母,那些循环没关系,有趣的是,在循环之后,目前还没有已知的int i,所以如果你想声明一些其他的变量,int i之后就可以了,你想要你看不懂闪电泡芙啊。
相同变量的副本,相同的名称彼此重叠,所以如果你在这里声明了一个in time for循环标题,你不能有另一个in time循环内那些冲突在这里,如果你声明整个在循环内部,您尝试分配他是循环后的值。
他不是循环后声明更长,所以你现在不能这样做,你知道你是否愿意稍微了解一下哲学,可能会说他们为什么这样做,似乎他只是犯了更多错误,我的代码和东西为什么不直接让我宣布变亮,然后它们永远存在。
你知道他们生活在整个世界,我猜这个程序看起来很烦人,我会给你的答案是一些孤立的代码片段,不能互相打扰,就是好的,因为它允许不同的东西,程序员负责不同的部分项目及其代码,不会中断彼此的代码,更容易调试。
写的越大越好,程序让您了解隐私和这类事情的限制,是实际上适合大规模编程,这是一个很好的功能,java但我们必须注意它,我们编写代码,好吧好吧,如果。
所以让我们来谈谈我读过的这个这叹息,这是一个数字,那么如果我想为之做一个方法呢,我们已经做到了,我们还没有做那么多本周的方法,但方法仍然是超级重要,如果我有一个怎么办,方法称为图一,这就是方法。
就是我们的for循环代码这么写,我们只是讨论了尺寸如何,你不知道可以分享吗,类似的不同方法,如果我只需将其设置为八即可,大小八即可好吧,如果还有一个图二怎么办,所以我只是想有一个程序,可能有多种方法。
两个没有点,也许只是那里有一群明星,所以就是这样有点相似,但他是一个有点不同好吧,现在这两个人方法无法使用size hit,如果我能用它就好了,在整个计划中,虽然像如果我拿了这个,我猜是为了这个怎么办。
汉堡上班,我不得不说图一并在这种事情中,图二好吧,如果我确实想要这个怎么办,程序可以缩放到不同的大小,以便你可能会在这里做尺寸和尺寸好吧,现在可以了,我想如果我跑的话,他确实吸引了两个假货。
但是那不太好,因为如果我想改变尺寸,我仍然必须去这两个地方,并改变它,让我不太喜欢,我希望它是一个解决方案,所以提出了一个问题,我可以吗,一个贯穿整个过程的变量,整个计划不仅限于一种方法,是的你可以。
所以这实际上是合法的,将不存在的变量放在这里,在方法内部好吧,现在一件事有趣的是,这个新材给了我读取错误,你认为这是为什么,为什么她已经被宣布了,是的,我的意思是,如果是最精确的计算机科学。
远说他会是在该计划的范围内,已经存在一个尺寸变量up,这里有一个尺寸,如果我说此处的大小彼此重叠,它们的范围一直存在冲突,所以也不想让我这么做,这里已经有一个了,这里还没有,就像那样,所以我摆脱了它。
所以现在我这里有一个尺寸相等的八,我可以把它全部改成六程序运行,并且它仍然可以调整大小,太好了,但我没有告诉你,我刚刚教过你,我忘了什么是哈利,波特的比喻是我教你一个蛇老枪或类似的东西。
你不应该使用这个,考虑到我看到你的时候,我会打电话给你一秒钟,他被认为是坏的,在这里声明变量的样式,例如这是因为他违背了我的想法,一分钟前说过,他涉及到这个想法,小段代码独立会互相破坏。
关心的是如果有人喜欢怎么办,这里无意中说大小等于七或四或类似的东西,如果他们改变,他现在会弄乱图二,所以如果我运行图一,它看起来是正确的大小,但图二搞乱了,所以关于这些小事的整个原理。
独立的代码片段是一种在这里迷路了,所以这里的东西,我写的是我们有时所说的全局变量,它被认为是坏的风格,所以我不想让你声明,任何像这样的数学之外的变量,我不想让你这么做课程,但我还是想要一对。
每个人都可以看到,所以存在差异,这没关系,而且是某事,在我告诉之前,我们会打电话说抱歉,我完全可以把他压在你身上,问题是你的是什么,是一个标签,像用read int或类似的事情嗯,这是可能的。
按照我们的方式做类似的事情,了解如何执行某些参数,星期一我会告诉你一切,教你一些好方法来做到这一点事的好吧,这是不好的风格。
但是有与以下略有不同,这个没关系,叫做扣子常量,扣环常量是变量,但你声明他多一点语法,然后区别在于它可以只能被赋予一次值,并且不能设置后即可更改,并且这是一个重要区别的。
原因是因为现在我不用担心这段代码会改变它,这会破坏那段代码,这实际上是一个非常重要的的区别和区别,声明常量的语法是你有三个额外的java及声明,前面的关键字说private static final。
那些是什么,我认为最有意义的词,所有这些话中最重要的是最后一句话,这意味着这是我最后一次,永远会为这件事设定价值,我永远不会改变它的值更新。
所以看看我是否回到这里,我说私人静态最终的大小是没有的,更长的坏风格是一个类常量,没关系,之所以没问题,是因为如果你尝试在之后设置它的值声明,他不允许编译器,现在会给出一个错误,所以得到摆脱它。
现在我有一个尺寸,代码中的每个人都可以使用的变量,看看他工作正常,重要的是这里的事情,你知道你不必做,但惯例是命名常量名称改为大写,小写的原因是因为当你看看你的颜色,它使您更容易找到并查看它们,它们。
而且它们更加突出,所以我可以将其重命名为大写的大小等等,这被认为是他们更好的命名系统,因为当你看到这段代码,很明显,这是某人的一些常数,在那里宣布没问题,所以我要你在作业部分写过吗,我只有你写一个常量。
调整一些代码的大小,要打印出来是一样的,这里的语法是的,那么A之间有什么区别,类常量和实例变量,我想我想赌一下这个问题,直到下周我必须教你,在我认为B之前,还有几个概念说的很清楚。
这与所谓面向对象的东西,我将教你的编程,很快好的,我们酷吗,这很有意义吗。
恒定的旧程序可以看到他不能改变你的价值,好吧,所以我要教你的最后一件事是还剩几分钟,我想教你如何获得随机数,程序并不难,但我想向你展示如何去做,并且你想要你在你的家庭作业中做这件事,已获得随机数。
随机数很有趣,因为它是程序不可预测,你可以问电脑,对于随机数你必须写,你有这么长的代码,说随机生成器点获取实例,点下一个int,然后用括号括起来读取最小和最大的数,你正在寻找的边界。
因此如果你想要一个随机数,1~10,你说一逗号十随便,所以你告诉他,你的范围对它感兴趣,会选择一个随机数,从这个范围你可以存储它数字到变量中,所以再次语法看起来有点奇怪,但那就是你只需要写下这个。
他只会做你想做的事,所以这是一个09之间的随机数示例,这是36之间的随机数,然后我用它作为边界循环中,我会打印hello,那么多时间或任何,你可以用它作为你的代码中的int,这是什么,很好很好。
这里有点简单,程序称为掷两个骰子,所以我们会询问用户,他们想要什么投资,加起来我们要制投资很多次,直到我们得到那个,所以他们说我想要九的总和将重复至两个骰子,直到两个骰子数字之和不等于好吧,让我们写吧。
我会努力的,我喜欢帮助你们。
所以说想要九个好的,所以我会哦哎呀我还没有准备好文件。
这欧拉新文件掷两个骰子。
我会说,掷两个骰子好吧,所以技术如何。
应该说需要九个。
所以好吧,int期望的总和等于read int希望现在在那里工作,有一些问题,你不知道我应该做什么。
应该两头,并且显示值,并显示他们的内容加起来,你就知道我喜欢做什么,如果我必须做某事,那就对了,反复的,为什么我不开始做呢,只显示一次,我该如何显示其中一行代码就在这里,是的,好的当然。
随机的无论是什么,嘿我没问题,两个从1~6的随机数正确好。
8int产量一等于随机生成器点,获取其旁边的实力点,从1~6,然后我必须导入a cm dot。
Usual dot start,他说我必须在幻灯片上执行此操作。
导入正在制作它,以便我可以使用该库,在我的程序中,这是第一个死亡,然后这是我复制的第二个骰子,然后像这样粘贴就可以了,现在我想打印这个和这个,这样我就可以打印林带一,带二等于加,然后有。
就像它们的值的总和一样,也许我会写一些这样总和就等于死,一加上也死好吧,我掷骰子打印总和,我应该重复这样做对吧。
所以我需要一个循环,我们快完成了。
一会就完成做这个,那么我要继续这样做多久,是的,虽然总和不等于想要一些看起来不错的东西,只是他不知道总和是多少,也许我应该把一些搬到这里,就像你尝试一下一样,想要好的给我十秒左右,这里需要。
所以九好吧来吧,好的,所以他会掷骰子,直到我得到九,我没时间了,但是你的作业两个发布在您可能的网站上,两人一组完成这项作业,如果你有一个来自你部门的朋友走吧,前进并组队,你会拥有一个很棒的周末。
【中文配音】斯坦福王牌课程 CS 106a Java教程 2017年春季课程 - P7:07_ Parameters - 外影译坊 - BV14U4geNEEq
好吧,现在是第三周,星期一,我就像当前的下一段课程的一两周,意为对我来说很难做,没有内容的讲座,只是关于一个主题和很多上两堂课,我们一直在跳,围绕很多快速主题,所以每个讲座有三四个关注不同的事情。
接下来的几个改变一点,我们有个别的讲座,我喜欢其中大多数的主题,作为一名老师,你知道他仍然更好,具有挑战性和棘手的一切,就当前事件而言,如果你刚刚开始我们的作业,明天有一节课夜晚叫我们早起。
由我们管理的分配健康时间,明天晚上晚上七点在STLP大楼中检查一下,我们在外预计下周一到期,从今天开始的一周,我忘记了我自己的预产期,有时还可以,所以今天我们要谈论一个叫做参数,这是一个棘手的话题。
真正了解我们要去的细节,在整个过程中使用这个概念,其余当然,但它非常强大,这是非常基本的概念。
好的,让我来打开今天的幻灯片,让我开始,宇飞编程类比第二,想象一下你喜欢做饭,知道食谱,所以这是如何构建完美的构建,我正在为你做一个蛋糕,这是如何为你制作20块饼干,你混合四杯面粉,无论我做什么。
完全由这些成分组成的事,可能是荒谬的错误,混合物如何,这些成分中的大部分都是,使用时不要遵循这个食谱,但是不管怎样,有一个制作20个的食谱饼干好吧,然后如果你想要怎么办,僵尸补翻倍。
我们可以做40个饼干很好,你可以把这个加倍,然后你加倍,你仍然烘烤它们10分钟,但你把很多成分加倍等等,如果你要想象一下,这是你可能的代码,有一些烹饪20块饼干的代码,你可能有一些烹饪代码。
40cookie,你会发现的是两段代码非常相似,彼此右边除了小数字会有所不同,所以当然我们不喜欢计算机那样的冗余程序员,所以我们可能会尝试,通过创建一个方法来消除冗余。
这里做一个制作cookies的方法,问题是代码不是代码,正是相似的,但这些数字从一变为cookie的数量给对方,所以方法很棘手,因为你知道方法有一种,有一组您想要执行的语句。
您程序中的多个位置是一群非常相似,但又不完全相同的人,同样的陈述对,所以米真的希望你能做的事,有一些更一般的东西可以说好,这里是如何面对和进入你使用N次的cookie,几杯面粉和N倍的鸡蛋等等。
这样你就可以概括食谱,取决于你有多少饼干,想要这再次显示出一个可悲的,因为你对烹饪的误解不只是完全同意,意味着加倍任何好厨师都知道的食谱,李娜有点棘手,但是不管怎样,暂时原谅我吧,推广算法的想法。
并把其中的部分分离出来,如果你想改变,就需要改变关于算法的一些事情,称为参数编写算法,然后在这种情况下,参数文饼干的数量很忙,所以你知道我们正试图将这个联系起来,回到java,回到编程。
让我们看一个具体的例子,假设我想画盒子,我想画一个小正方形或长方形的星星,中间有空格,所以我想打印屏幕上的这些框,你知道我可以直接打印in print和打印长度,但无想化这些使用循环好吧。
所以这是一个这个,我相信第一个盒子是10X4盒子,十宽四高,让我们画出那个盒子,现在使用循环,让我们看一下剪辑。
我有一个这里的程序成为盒子,我想要画一个10X4的盒子,所以帮我一下,我想要,使用循环绘制所有内容,我该怎么做,画出盒子的顶部,我知道你们和我一样,感觉。
SPINNET女孩昨天真的只是有很多东西需要吸收,所以很难获得,仅仅一天后我就回到了java,我知道我知道,但是让我们尝试一下,一起为婴儿下的汉娜做这件事,画出盒子的顶部,有人来了,该怎么办,是的好的。
四循环,去了多少次,可以,你怎么办,想在里面为他们画画,如果我这样做十次,那么明星就是明星,汽车排十星看起来不错,谢谢就是这样,现在我们为什么不画出盒子的顶部,盒子的中间部分。
中间部分是这样的,线条垂直走,没有办法做,在控制台中垂直运行的循环,你只需要从左上到左下向右,所以基本上让我们画出所有这些形,让我们有空白,中间我有多少行,很好,我有两个。
因为这是一个像四个盒子一样的东西,很多时候如果你正在做台词和里面的东西,每行都有两个循环,每条垂直线一个循环,然后你有另一个循环来重复水平字符。
那么如果我这样做怎么办,这部分在这里是顶部,然后从技术上讲,应该说print in two结束,您知道的行已转到下一行行,因为星星星星星早,现在下降了很多,让我们坐中间的盒子,中间的盒子就是你知道的。
星星之间有空格的两条线空间,所以我会做困难的部分,如果我们有两条这样的线,然后我会做一个for循环,最多可达二是那里有笔,里面有什么。
我再次将这部分画的远远超出了。
里面有什么星八个空格,然后另一颗星好吧,打印星号循环J到八,打印空间,然后打印,另一颗星,然后也结束该行,你可以直接说print ln明星,所以他们会在决赛后倒下星星,好的好的,那是中间的。
然后是盒子的底部,盒子底部看起来和顶部一模一样,盒子的上面有一排星星,我们已经为此编写了代码,以便适合只需复制并粘贴即可,一般我可能已经对你说了这句话,一般来说,如果您复制并粘贴一段代码。
可能表明你被冗余的投入到你的程序,好吧,这确实是真的,您在代码中粘贴了两次,所以这可能是多余的,但那是好吧,让我们回到这个话题,这样我们就有了10×4的盒子,对吧,我想我没有运行它,但我已经结束了。
对自己有信心,所以我想会的工作室的,我有一个十微型盒子很棒,我们做的很好。
所以现在如果我们想在上面画出另一个有多大,滑动一个7×6的盒子,我想那是那是什么,所以现在我们要放弃七胜六的盒子。
好吧,我们开始吧,嗯它可能看起来有点像这段代码是正确的,所以让我们复制所有的这段代码,让我们说话,一个七六个框,我们将所有这些代码粘贴到这里,我要再换行一次,只是这样之间有一个空行两个盒子。
但是可以告诉我零件我需要改变它,以使其成为七胜六的盒子,符号学没有改变,十位数进入第七,好吧好吧,还有其他我需要改变的事情吗,是的,先生将八改为四,好吧我们试试吧,这也怎么样,敬请期待。
所以他是七宽成六高,如果你,希望这个是五,因为他是不到期,我这个怎么样转到两个,那应该在这里做什么,因为它就像所有的线,除了顶部的一个和底部的一个在哪里。
我得到这些数字了吗,我的意思是,如果无论你是否看到它,但就像四个意味着有四行中间部分在这里,右边四行中间部分还有五个空格在中心。
从左到右,所以四行五空格可以吗,我们来试试吧,嘿很酷,我们有一个7×6的盒子,它是太棒了,所以我正在烘烤十个饼干的代码,我正在做20块饼干,非常相似的节拍方法,明智的是不完全相同的代码。
但是这和你非常相似,可能注意到的是这些数字与以下密切相关,盒子的宽度和高度,好吧好吧,我们为什么不考虑一下那一秒钟,如果我到这里来话,10X4盒子我去这里好吧,如果我表示高度等于十的int等于四。
使用这些画一个该大小的盒子指导你的变量,所以告诉我一些,我应该对此代码进行更改,10X4框代码,以便它将使用这些变量,我想目标是,那么如果我稍后更改变量,10X4盒子将完全变成新尺寸价值观好吧。
那么我该怎么做呢,我该改变什么事的哦,我可以使用,常量的private static final只是true,有一个特定的,我不想在这里这样做的原因。
因为我想做的是运行用十和四编码,然后向下。
在这里我想说等于七,高度等于六,然后我想重新运行相同的代码,希望如此,相同类型的代码将运行在7×6的盒子,如果我做一个私人的静态最终常量,我不被允许将值更改为第二个值。
例如但如果我不打算做两个何似四人静态,最终会很有趣,所以帮助我改变什么,所以这个代码将使用这些变量式的肯定,其中写着十的地方是宽度,无论盒子的宽度如何,顶部和顶部有那么多星星,底线好吧,他们很棒。
告诉我其他一些东西,我是你改变了似的,原因是有两行空间是因为他是为了高,但是上面一张和下面一张是画出来的,在B上,所以中间就像如果如果是100高,它将是一,并且然后是98,然后是一,这就是高度。
线路也是如此,这就是那里有多少星位于盒子的中间部分,你明白,所以这应该是高度二好吧,还有什么我们需要改变的吗,是的,巴语正确的原因。
余是,因为如果你看这些行中的两个字符是SARS,其余都是空格,所以无论宽度是什么,都是两个字符。
小于这个数,就是你有多少个空格需要很大,所以这是一种该算法的通用版本,是的,我想我们还没有尝试过,但是我想现在如果你使用这个确切的代码,没有任何修改,你就下去了,这是7×6的盒子。
我是只是要抢7×6版本,我将完全粘贴。
用那个通用版本来代替它,我们把它改成上面的好吧,那又怎么样,我希望这里是确切的同一段代码,现在绘制了盒子,两种不同的尺寸,可以我会证明,对你来说它有效,因为如果我做宽度为17,高度为9I。
应该得到一个17X9的球,很酷,所以这太棒了,看起来就像能够画盒子一样,是一个超级视觉化的东西,程序员需要这样,你知道我的感受,也许我应该制定一个方法画盒子。
让我们来做这件作品,这里的代码你知道它总是好的,分解我们的程序并制作方法和事务。
所以让我们做一个调用public word的方法,画一个盒子粘贴和他让我生气的事情说很奇怪,但不知道身高是未知,且底层显示为红色,是的,这不太好,所以如果我是的话,就在这里将绘制尺寸为10X4的盒子。
也许我会说,而不是所有这些代码绘制boss print ln,并设置高度,再次到那个抽奖箱,明白那是这就是我的程序想要画的东西,10X4合抽7X6和获17X9盒子,或者任何可能合适的东西。
你明白我想要做什么,在这里作者看起来更好,如果你看着我程序的版本,它更短,读起来更好,但是这个版本无法编译,为什么程序无法看到宽度和下面的高度,这只鸟被宣布为外面的消息,是的,我们有一个很奇特的词。
该运动员或保持其范围变量的方法,是艾米声明性的,而不是任何其他方法,所以与run方法中存在的种类,它们不存在于绘图和方法中,太好了,如果我们可以做到这一点,我想我们有放弃,但等待还有很多曲折。
是一种做类似我所做的事情的方法,到了这里,正在使用这个功能称为参数,所以让我向您展示如何要做到这一点。
一个参数是当你发送一个,当您调用时,将值放入方法中,方法就像你在烘焙一样,饼干就像给我发送你的东西,想要N的值,如果你写成你要烘烤,所以你可以写一个称为box或抓box的方法,画一个任意大小的盒子。
按你的样子要用该方法,你可以指定什么你想要的尺寸,并说我想要10X4,我想要7×6的盒子,如果你是的话,将要使用此功能,子参数特点有两件事,你需要做的一件事是当你写作时,该方法的代码。
就像你是实际编写抽奖代码合适方法,你不得不说这个方法意味着以下参数是给予它,以便运行或指定需要什么参数,这是你需要做的第一件事,你需要做的第二件事是每次执行该方法的时间。
time run调用您拥有的方法,告诉他这些值使用了什么值参数,所以这两件事必须匹配,我需要这些参数,它们在这里,这是两件事,所以画一个14合抽7X5美元,我的幻灯片看起来不正确,我不知道为什么。
没关系,这是你声明的方式,当参数在括号内时,你正在编写你声明的方法变量,你声明一个变量,它是技术上称为参数变量,如果有的话,这是四边形上的角度类型的单个参数很友善,我给你看了一个傻瓜简短的例子。
这样我就可以放一些东西插入这里的代码,所说的是写在消息密码和他X或参数名称,代码以及运行时,打印密码的方法是阿门多拉打印机代码,评论掌声,所以这是第一步告诉他什么,你的方法需要第二个参数。
步骤是当你执行该方法时,你运行你必须提供的方法该真的值,所以如果你说密码42,这意味着您正在运行密码int代码设置为42,如果您说出密码12345,这意味着您使用int运行密码方法。
代码参数设置为12345,然后它导致这两个输出密码,是因为它不是什么编译,如果这两部分程序彼此不匹配,如果您要求参数和颜色不提供一,他不适用它,老实说,如果你愿意让我回来。
如果你想通过超过您可以指定一个参数,然后指定逗号分开,然后当你执行您可以提供所有值的方法,想要存储逗号分隔,所以如果你回到这个盒子程序。
让我我认为展示这种想法,如果我回到这里是例,会很有帮助,你看看这个DROPBOX方法,基本上我想做的是我想做,说我会送你想要的任何尺寸,但你必须告诉我你的尺码想要像你说的那样,就在括号里。
你用逗号写int的方法高度,如果你告诉我你的宽度是多少,想要什么类型,你告诉我你想要什么类型,我会画一个那个尺寸的盒子,你呢请注意,所有红色下划线都消失了,那些在底部的不是吗,那些消失了。
所以现在这个方法是好吧,破损的部分就是这个部分执行,我们现在必须执行的方法,写出我们想要的值,括号内的宽度和高度,在run方法中,所以不要说inflate等于十,高度等于四,你只需在这里写十逗号四。
而不是说17和九,听你说说DROPBOX时期逗号不是,所以它只是赛,我该如何阅读这篇文章,哎呀基本上还是这样说,我想跳下来,然后跑这个方法,但是当你在这里写实时,java将使存储到其中。
当你在这里写四个时,java就会出现将四存储到其中,然后运行所有这些代码与这些值这些变量,然后当方法完成后,它会返回运行,并且继续,然后到达这里,这个调用将该变量设置为17,并将该变量设置为九。
重新运行相同的代码,因此它会执行,如果你的电话取决于因为参数提供什么值,并且命令就像任何东西一样施加,你在这里先写的就变成了值第一个参数,无论你为你的第二次写作成为价值,第二真的,所以她很漂亮。
强大的语言功能,真的一次你会掌握窍门,就像我跑步一样,再次这个程序我确实得到了两个框,但就像现在一样,这个方法是概括化了,所以我可以画任何东西尺寸,我可以说我想要一盒15号的,三点之前,我想要一盒8。
5个或者什么,我应该买盒子,这就是我可以运行的尺寸方法,任意多次34A米,我希望他能做正确的事,问题是的哦,是的,而不是一个数字,还不错的问题,他说的是,而不是写一个这里的数字。
我可以在这里放一个变量吗,是的,所以所以就像你会做的事,如果你说int a等于15,你知道int b等于四,inc等于你知道B减一,所以就是三,我可以写一个逗号C效果是一样的。
传递15和三等等A的值会转到这里,C的值会转到这里,所以它会画出十五三个盒子或者I呀,我可以写一个这里的表达式,我可以写成乘以21和C减去B上的四,就可以了,进行计算并找出结果价值及其结果。
它会经过这里,他会做计算任何值,它会在那里传递这个值,所以是的,当然可以,你可以做到这些一些事情,有时还有你绝对想做一点,如果你只是了解除了你之外,还有哪些参数绝对可以做某事,就像另一个问题似的。
你可以在这里定义一个int宽度吗,等于高度等于九,事实上,如果黄色下划线的话,肯定是这样,因为我还没有使用过它们,如果不使用变量,则加下划线,是的,你可以写一个员工,然后绑起来在这里。
但他们与下面的那些是我们的事情之一,上周我们简要讨论过,了解范围是你无法拥有的,他们需要的两个变量,只要他们做不同的部分,我认为一般来说这事有时会让学生感到困惑,好吧等等,上面有一个宽度。
下面有一个宽度是我不知道的宽度,所以我不知道并不总是喜欢这样做,因为我想要把事情分开,但是是的,这让我想起了我的麦克风爷爷,叔叔和我的勇敢者爷爷,所有他们叫的名字都像罗伯特女孩坚持第一个,第二个,第三。
他们永远无法保持自己的丁之,你就知道不同人们有不同的名字,但他们是他们的生命跨度重叠,所以它是令人困惑,所以我想你知道,我不是会给我的任何一个孩子命名为马丁,所以我保持简单,你知道一些事情。
就像这里发生的那样,其他问题我想我看到了一些别人的手,是的,很好的问题我会重复一遍,比如你问如何做的问题,我知道什么时候,我想用这个简化我的代码或分解我的代码,而不是询问用户。
我确实认为他们得到的参数最有趣,也是最棘手的是,当你开始尝试思考时,关于他们如何与所有的碰撞,我们一直在了解的其他功能,到目前为止特征之一,我们一直在询问输入的用户,会读入这种你知道的事情,你在哪里。
问用户为您输入值,这个功能有点不同,但你可以同时使用它们一起使用,或者你可以使用其中之一,这取决于具体需求,现在我们来比较一下程序要求用户输入一个值,有点像参数化,你的代码除了他被参数化为。
当用户输入时,程序会运行什么那个数字,该版本被参数化为,正在编写代码和值,写在这里的事,如果我总是一样的,想要混合的好处,这两种方法我都可以做,像这样的东西,我可以画两个已知尺寸的盒子。
那么我可以说int w等于RINT盒子退出,并且H等于读取盒子类型,问号,然后我可以说我想要画一个那个大小的盒子,所以现在我会说画一个盒子WH,所以无论他们输入什么,我将把这些值传递到这里。
作为宽度和高度,他会做到这一点,我希望如此,让我们证明,前两个盒子只是已知的固定尺寸尺寸,但现在我说我想要一个盒子20X7,这就是我得到的,所以你可以,如果你同时使用这两个东西,想你,我见过学生。
你知道我想参数看似很难了解,他们在以下方面是第一的,就像他们所有不同的微妙之处等等,但我见过学生,你知道很难区分读音质版本的区别参数,这又是关于我这个程序员是否愿意提供一个值。
或者用户想要提供一个程序运行时的值,是两个不同的东西,当然当我使用时,它很混乱,我自己的计划,因为我是程序员,我是苏打水的使用者,这很棘手,但并不总是如此,那两个人怎么会是同一个人,到目前为止。
我们还有其他问题吗,就目前我向您展示的内容而言,我告诉你一些细节,比如如何它确实有效,因为我认为他是真正了解你,很重要,我知道我一直在谈论某种逐行浏览程序,当它运行时,我想确定你当你这样做时。
伙计们明白该怎么做,查看参数,所以我实际上学了备份一秒钟,参数的传递方式是带参数的方法,运行是当java到达这一行时,会说OU想要念诵三遍,所以他说唱两次做一个for循环,java打印的次数是伟大的。
所以好吧,当你说三遍java跳到这里去念诵方法吧,获取这三个并将其存储到就像有一小段记忆,你知道一小部分可变的内存,因此它将该数字存储到那块内存,然后他执行到这段代码,与存储在那里的代码一样。
它循环三遍,你知道什么时候方法完成后,它会返回运行,并且他会继续下一个,所以现在我们有七个,所以现在七个就结束了,这里它存储在该块中内存,并且它运行代码A杠,所以这些值被传递,并且它通过早期的某种联系。
这位先生有类似的问题,我可以传递另一个变量的魔音,或者一个表达式或类似的东西,该表达式的值被放入那段记忆,然后程序运行正常,所以我们写了这个框绘图程序,我想谈谈你,你的方法中可以有不止一种方法。
使用参数的程序,因此如果您看看我们的代码,看看抽屉的方法,有一个这段代码中有一点冗余,正确的,如果你的话,这些碎片是做什么的,记性很好,我神智还复制了它,粘贴它,这样你就知道它正在返回。
顶部和底部是相同的代码好吧,这些是什么代码,他们画一条星星线吗,天哪我不想拥有那部手机两次,所以让我们对其进行削减,让我们到这里来,让我们说公开虚空星星线,让我们粘贴它,太棒了。
所以现在这里的顶部仍然是星星线,凉爽下来,在这里合围,底部我不需要重复星星们说话的那段代码,关于伟大的I压,现在LISTAR无法编译它,这里在说什么,这是怎么回事,我需要做什么。
是的星星线需要知道有多少星星喜欢宽度线,所以基本上意味着这个等等,再次像我想的那样令人困惑,有些学生是他们喜欢宽度就在这里,然后我打电话明星,所以他不能有点喜欢看宽度,因为那个叫他的人宽度不就像范围。
事情取决于方法,如果我愿意的话,他们没有其他方法与他分享这个宽度,然后我做什么,我会说我需要你告诉我什么宽度,应该是我想要的孩子,我的宽度和我一样,他的百叶窗怎么和我的盒子一样,宽在他的妻子身上。
所以我会给她我的宽度作为他自我管理的价值,所以现在在这里,你就像我一样知道一件事,我想澄清一下,我正在谈论如何过多使用同名,可能会令人困惑,所以让我来吧,澄清一下,就像下面这个事称为长度线的长度星星。
然后我将其更改为长度,就像你在这里仍然说宽度一样,希望这条线的长度相等到盒子的宽度,即使我是这么想的,如果你可能会说命名很重要,如果我在这里称之为长度,那为什么不呢,我在这里写长度,不不不。
原因那不起作用,是因为我应该指定A的长度,我想要这条线,我想要多长菜单,我如何在这里写宽度,我不知道,也许我让你感到困惑更多,但我只是想指出,就像你执行该方法时一样,你必须提供多少东西。
想要并且描述为我在这里的变量,就我所拥有的变量而言的方法,在投递箱中,我一直说投递箱而不是投递箱,因为那非常就像我有我的投递箱一样,当我们在我的电脑上运行时,随便写个绘图框函数,好的。
你可以有多种方法接受参数,就像你想要像这里一样追踪这个,当我说让我看看,我可以穿上这个吗,那里的屏幕必须缩小字体一点点,如果我在这里说15,那么变成这个奇才,如果我说星线宽度意味着50D。
所以同样的15号也放在这里,变得舔那个上下文一小段代码,所以无论如何,只具有一部分的名称宽度,我的程序的名称长度,我的计划的另一部分,还有什么认为那是,我认为那是我想用这段代码做的,所有事情都可以。
这个中间部分怎么样编程的好,他肯定不是这样,就像这些星线一样,多余顶部你会注意到我正在这样做,在我的代码中多次出现,我有一个for循环,然后再缝内部循环,我打印一些字符。
所以他很友善的重复数量的副本性格,所以有办法改变他嗯嗯进入一种方法,但我不知道我不是确定我是否想展示他,因为这有点像黑魔法类型,但你认为你们可能是准备好了,我想我可以告诉你,如果你不明白这很酷。
如果我想要的不仅仅是一排星星,能够画出任意一条线性格,所以我只说台词等等,无论如何,你必须说出你想说的话,画一条线,然后是多少,你不会在其中看到这些人引指定的位置,用引号引起来字符和文本之类的东西。
这些被称为字符串,我们是将更详细地了解他们,星期五,但你可以把屏幕变成一个参数,你也可以实际去在这里,你可以将字符串S写入长度,然后你在这里说,无论你给我什么屏幕,我都会打印重复他的副本。
然后在这里当已将该方法成为我想要的字符串,print是星号字符串,所以字符串是有点奇怪,因为他们有一个大写的S代表他们的名字,它漂浮在他们周围,我们还没有谈论过他们,再次这有点黑色,这个程序的神奇版本。
但是有该方法能够打印任何字符反复,我们现在可以删除一点,在其他地方可以多一点冗余,我用虽然它不叫阵容,是的,这个底座是对的,我想画一个空间很多次,所以相反,对于for循环,我会说空格型逗号宽度减二。
就是有多少个是我想要的,所以我会删除它,循环那里不是看起来更好吗,绘制框代码看起来是不是有点像现在很酷,画一条线性卫星,然后有两条星线的高度线,接下来是那么多空格,然后是一颗星,然后底部是一条线。
喜欢这样的明星,看起来更多,就像你会如何描述它,英语不是吗,我一直认为这是一个,如果你的程序读起来像这样,这是个好兆头,几乎像英语,意思是可能写的好不响啦,肌肉在这里表扬自己哦,这是一个有趣的事情。
虽然看起来并不完全正确,哎呀你知道为什么他看起来不对吗,微妙的,正在画一个大字母,现在停止或者发生了一些事情,所以我猜猜公园的部分是实际上损坏的,是在底部,该程序可能出了什么问题似的。
第二颗星印在第二颗星上,如果你仔细看代码的话,对于这条线方法,它实际上结束了这行,就像我们告诉他打印的那样,这些空间,然后哎呀它下降了到下一行,然后结束星星被打印在那里,所以它是只是对于很多人来说。
这是一个微妙的错误,如果你去写你的火箭,给你两个任务运送东西,可能会遇到类似的事情,如果我猜你不小心打理哎呀,也许那么长的线,也许我之后我不想换行,也许希望这更具有普遍性,顶部和底部需要换行之后。
但这里没有,所以也许这会让盒子看起来就在那里,所以盒子有15X6的外观相当不错,所以这部分语字符串稍微高级一点,我要回斯普林斯了,后来我就不太想进去了,今天太多了,但我想可能会让程序有点更酷。
我只是想向你展示如何强大的参数,真的可以让你编写的代码完全是不同级别,你注意到了吗,我曾经有嵌套的for循环,我甚至没有任何嵌套的for循环,我已经让程序员这么多了,更精解,我不需要他们。
所以这就是我们的力量,谈论一旦你擅长使用,如果你真的想要参数,可以弄清楚你是否擅长参数,你可以去看看这些恶魔。
我喜欢让你解决的问题,这里称之为参数之谜,你会讨厌这些,但他们会建造,特点就像豹子甘蓝,那么怎么你能算出A的输出吗,像这样的程序,当然我已经使用令人困惑的名称,以便没有直觉,伯杰会做,如果你看。
你会看到这样的代码,我重复使用相同的变量名,就像我说的,也许你不应该这样做,几分钟前,我已经走出了我的世界,在这里做到这一点的方法。
只是作为一种方法理解这个程序,让我指出哎呀抱歉,让我指出有一个X和一个这里的Z和Y,那些不是与这里的XY与Z相同,他们只是碰巧与那里有一个,所以如果你想的话,解释这个程序如何运行,看到这个第一次打电话。
上面写着mr easy y x为此存储什么值,第一次运行该方法这样,你应该考虑一下,这是顺序是最重要的事情,我总是试图填补你的空虚,使用相同的字母,并且你认为你可能会说字母很重要哦,X好吧,X是九。
所以这个东西就在这里是九,这里错了,我说C是第一个参数,表示这些值转到这里,所以对于第一次运行神秘方法,第一个参数收到值五,你会看到,并且那么第二个参数Y就下来了,在这里对于这个值它收到Y直是二。
然后这个东西X是第三个参数,它就过去了,这里它的值是九,所以对于这个第一次运行代码X是五,Z是二,Y是九,这与写在这里要小心这一点,那我该怎么处理它们呢,print ln z逗号Y减去XI。
print c2逗号Y减去X9-5,表示P2逗号四,所以这就是你的方式,走过这个这种类型的代码,是的,他是这样写的,最大限度地增加挫败感,所以我认为实际上你做了一些这样的事情,掌握它们的窍门。
对你思考问题更有意义,是的,就像多项选择一样,问题对了,是第一个吗,第二个是对的,所以也许是这样,马内斯看起来很混乱,我只是想说是其中之一吗,是这个还是这个货,是这个吗。
结果是我先得到这个刑部与任何一个都不匹配,另一种也许你已经可以了,结论是这是一个,但是是的,我不会给你,他是多项选择,如果他就像在参加考试或其他什么事情好吧,让我们看一下更大的计划。
我想这会发生什么具有挑战性的事,如果我只给你一个问题,我请你解决它,我说你应该在这里使用参数,但我并没有真正告诉你哪些在哪里,或者只是你应该分解问题,就好像当你做卡罗尔,或者当你做的时候。
家庭作业你应该分解,把问题归结为方法,但是什么乱七八糟的。
这是设计的一部分程序,让我们看看是否可以这样做,让我们这样做吧,我这里有一个程序想写的叫投资计算复利,你知道复利是如何运作的,就像你知道的,你可以从本金额,然后每隔一段时间,也许每月在那里。
我们你会得到一些兴趣,然后当他到达时,它在你嘴里变大,然后下个月的利息是新的,较大数额的复利时间,就像100块钱,3%的利息,五个月额外的93每分,从技术上讲,现在来自该化合物,这有点假。
因为组件并没有真正花掉,我正在做的那一年,每月一次用于化合物干事,不管谁在乎,所以她看起来很漂亮,公式在这里,我的意思是,这并不难,有点像不管怎样,您添加的月份或期间那么多到金额,然后你继续增长它。
布朗每次让我们尝试写一个成为投资的计划,算了,这天有些没得到,太担心地图了,不想让我们只是获得基本的外壳程序,首先运行我们需要询问用户,获取所有这些数字,然后计算一些事情好吧。
所以我想我可以帮助我们一点点开始有了这个。
所以我这里有这个东西,一号投资者说我已经这里的另一件事是投资者,2号,当然也是我所希望的,你看到的是所有这两个部分,看起来真的很相似对吧,所以可能有一些冗余,那里我现在可能需要修复。
让我们编写一个仅适用于一位投资者,然后我们可以考虑两个投资者方面都还好,所以让我抓住所有这些,让我去看我的剪辑,我这里有一个名为投资的文件,java让我们粘贴并打印,L引用类似又王牌的东西。
让我们来看看,那样那样那样,还有你和一个,还可以,所以不太对劲,因为我们需要向用户询问一些集中向他打字的,这个我要求用户支付100美元,输入号码,我该如何询问用户需要这样的实数,记得说加倍。
记得这样好吧,双倍初始金额等于补两遍好吧,在评论中我会只需写下测试中的数字,在幻灯片上,以便我可以从事相同的操作数字,然后是利率,用户也可以输入该内容,这是另一个毒,双双利息等于三倍。
然后默认值为3%几个月,那是另一个,那是可能你可能有一个完整的一个月,所以也许需要八个小时才能读完个月,等于六个月等于REDI好吧,五然后这些东西就全部了,计算了一下,我想好吧,让我们开始吧。
让我们尝试计算一下最终的金额,所以如果你想看看这个公式。
在这里你可以从,初始值乘以一加利率提高到,如果他们总是喜欢一个周期的数量指数,马蒂,你没有教我怎么做,作为一个指数,但我被困住了,有一种方法可以做指数,我是仍然不会教你,他是什么,因为我是一个可怕的人。
但可以你用你的东西做幂运算,总本课程中已经知道无需使用其他任何东西,是的进行四次乘法循环,又3~5之式循环乘以三五次,对这样的事情,所以我们不会需要一些指数乘法,这就是我们所需要的,我们甚至不需要乘法。
我们可以只添加多个等等,这太简单了,让我们不这样做,但正确,所以只需添加反复利率,让我们这样做。
计算最终金额双倍最终金额,所以如果你要计算一些东西,通过不断的增加兴趣,我们正在累积最终的值,我们在这里了解到的投资价值,关于累积算法,对一些在关键想法中,您声明了一个变量,首先在你们中的任何一个之外。
并且那么你想知道如何评估它的价值,循环内的变量就是该代码的一般结构,所以我们宣布一些最终金额,为什么要最终金额开始。
我的意思是,如果你看在这个等式中,你有点从一个地方的钱到另一个地方钱,那两个地方是什么,是的,所以从现值到未来,所以从现值开始。
所以从我认为我所说的开始,这里的初始值可以开始初始金额,我该如何获得你说的最后一个循环一下好吗,for循环我应该执行多少次,就像我在这个等式中所想的那样,重复在这里你多次想要这个权利。
在我的代码中它是什么,不管多少月,有几个月,我会反复多次应用利息,因此for循环从零到几个月,上面那个变量是我读过的吗,然后我在那里做什么,我想将利率添加到数量正确,所以我想说最后,我要添加一些东西。
我应该说加等于利息增加,对这不完全的兴趣,这始终是我们面临的挑战,我们吟诵并将英语翻译成鸭马,或翻译数学或会计金融,对java式的感兴趣。
X个月X,我认为这几个月是通过这里的月份进入。
等式为作为这个指数。
所以我认为几个月就是这样,我们计算了一部分,但我认为你说的对兴趣需要延长一些时间,以便这就是我们的方式,是的乘以初始值的限制数量好吧,让我们尝试一下,就像这样,你赚到的100美元的3%。
3%乘以你的100美元,让我们看看最终金额等于会发生什么,美元符号加上最终利润金额,让我们在另一个下做利润,接下来的事情复选框不,我不想要,我想运行另一个完美的盒子,初始金额100块三5%个月。
他说一百一百一十五美元,应该是115美元,93美分有点小,这不是舍入错误,只是我们没有计算清楚,正确的说,你知道出了什么问题,是的,但他需要是一加是的,我想我认为加号等于一。
另外因为我是那个他是那个休息一下,你知道我的意思,就像我想的那样,这里真正的问题是你需要说成以最终金额,因为上个月的利息现已成为我的期末考试,我需要用它作为一部分,下个月易维纳作为一部分。
下个月的最终金额正在增长,适用的兴趣应该适用于所有成长的数字,你知道我的意思,所以无论如何,我认为这给了我正确计算35%分钟,92每分,接下来我们可以讨论舍录一分钟内的数字,但这是正确的。
基本上数量好的,我有一号投资者,我有2号投资者。
我想这样做代码两次,你可以将其作为for循环来执行,我宁愿把它作为一种方法。
所以我而是有一些叫做公共的东西无效投资者,然后你在这里说一号投资者,你说投资者二,我怎样才能让他说的不同,适合不同投资者的东西,比如up,在这里,如果我说投资者,然后是投资者,再次,是的。
你有什么样的投资者number,他是一个参数修正,它只用在一小部分地方,暂时就像我在数字中所说的那样,怎么样,你是多少号投资者number,加这个变量,加那个,所以现在我说注意这怎么不突然编译。
以为他是说黑,你没告诉我什么投资者编号,这是这个怎么样,一个是最好跑的,那个是投资者,太棒了好吧,现在我只剩下一点时间了,在这里我想做一件事,这是我想打印的有多好,一项投资是基于多少你赚到的利润。
所以如果你赚了,我该怎么办,本周利润为10%或更少。
10~15,中等和50以上,强烈的对漂亮的费成数自我选择了,但无论如何,所以我想打印,这是一项多么好的投资。
类似公共无效打印质量,像你这样的投资,知道利润是否低于十百分比,然后打印LN5la弱中或强弱,否则如果利润不到50中等,否则如果不止于此,我会打印一行,它很强大,所以我刚刚创建了这个名为利润的变量。
不知道利润是多少,这个方法知道利润是多少吗,我可以使用参数来获取利润,如果你告诉我他赚了多少利润,我会告诉你一项投资有多好,当我计算出的时候就是这样,最终金额我要打印的质量,但我需要知道投资。
要传递什么利润,你知道如何传递,你赚了多少利润,是的,你赚了多少,结束于您开始时的金额,说双倍利润等于最终金额,初始金额及利润美元,一旦利润百分比,所以这将是就像你知道的,19。53或其他什么。
我该怎么办,知道将计算的利润百分比,然后我们就离开这里,当时的现货,所以利润百分比可以,你快回来,利润除以初始金额,如果你100块钱赚了五块钱,你赚了5%的钱,只是为了使它成为一个整数。
你可以说鼠标打印的利润百倍质量百分比利润,让我们真正尝试一下快点,如果有效的话,我们就回家,所以100块钱3%利息五,几个月我们赚了15美元和92美元每分,所以我们有中等投资,我没时间了。
所以我得停下来,更多参数,周三见,然后去我们的西蒙那,谢谢,我真的很喜欢很多人不喜欢的,实际上做一些你有的事情,投资办公室有点酷,性格,是的,我想钱是的,充满了我的轮胎和冠石,特许经营警告,他们肯定有。
我的目标是人,很多,我认为有一家更大的公司,这里还有很多其他课程没有,嗯他们问我们尊贵的会员费纳塔西亚,我的室友,接下来就像喂食那些早上做事的人,像这样荒谬的边界,事情真的攀登,你应该只接受他高尔。
我不知道知识东区,所以我说好吧,我真的很享受,这太棒了,我很高兴,我认为到最后他们什么都不是,这个班级会有很多像我们需要的小程序,摘录你能够崛起的,我认为科技的东西真的很有用,有点像插入包机,是的。
正如你所知,我已经成为了一名导师,我之一,我认为只要一两杯,其余的有两个孩子,我很喜欢,谢谢你的观看,是的,很酷的人,谢谢有人知道吗,也许,殷承包上的文物音乐书,但他喜欢没有部分较小。
为他们的快乐管理工作,我不希望你在中分享书籍考试,因为基本上如果你的专利给其他学生的论文,这很友善,喜欢喜欢基本上还好,荣幸代码,当然你应该工作,每个人都知道坚果是其他学生的副本,以及当然在房间里。
如果你看到有人针对这种虐待或言论采取行动,我认为对某人来说,这是正确的,老师,我不想创建一个不可能的情况,其他学生告诉学生,是否做我们推荐和我推荐的事情,觉得可以打包我们的周围的资源去做。
而不去很难理解他们正在弥补,我知道你不会那样做,但让我给你一些可以做到的,任何人都不可能有任何时刻有点刺激,所以现在我当然不想告诉你,潜在后正确妥协,我这里有几份副本,当我把他们带到测试时。
另一个我们把它们放在这里,它正在下降,所以我来这里是因为我就像这样,他们并不总是在玩整个测试的代理,但后来我得到了,这是我会一直关注的大事,我就在那里,你可以过来给我冰敷吧,古德温兽不是的。
就像我把它拿出来一整年一样,肯定不会令人惊奇,但我们正在做你的,如果你有的话,你想分享一个吗,无论如何,我不会说他是让他同意,你可以,我可以让任何人告诉他吗,对该法案投票,我真的明白了。
这是一个说明循环中的任何个人原因都会出现,来自艾比的机床,好的,所以有并不是让他返回的真正方法顶上,但他们正在为你让路,以某种方式添加一个循环,也许是这样,我想过把这个喜欢他的开始。
但然后开始玩游戏的时候,对你说,4月10日再一次吧,所以也许你走在正确的道路上,好吧我的没错,好的好的,是的,太棒了,谢谢好吧。
我想我们要开始了,弄清楚提交的内容哦。
酷。
少一点自己的削减。