20172306 2016-2017-2 《Java程序设计》第五周学习总结

教材学习内容总结

第五章主要学习了if以及while的语句的运用

运算符:== 代表相等,是两个之间的内存地址相等;这个地方我知道了=和是不同的,=代表的是赋值,将某值赋给某值,这两者是有很大区别的。

浮点数比较:绝对值小于精度,接近相等

字符串比较string1 . equals(string2),尽管是比较的是字符串,但是实质上是比较字符。还有compareTo 也可以用来比较字符串。这个在前面有学习。

算数运算符优先于相等性运算符和关系型运算符,在例题中,while (str.charAt(left)str.charAt(right) && left< right)这里面,先要满足&&左面和右面,再考虑&&。

第六章主要学习了switch语句,其中不可缺少的是default,而break不是必不可少的

条件运算符,主要要了解,条件运算符只是一个运算符而不是语句。

do的语句,主要和while的不同是do先循环再判断,而while是先判断再循环。

for语句,我个人觉得for是一个很方便的语句,而且比较容易懂。

教材学习中的问题和解决过程

  • 问题1:在5.4.1中,无限循环中有一个下溢错误,我不懂这个下溢错误是什么意思?
  • 问题1解决方案:我在百度上查找了有关的知识,自我理解就是数据溢出包括上溢和下溢,上溢就是说你想用一个int类型来保存一个非常非常大的数,而这个超出了int类型所能表示的最大的数的范围,下溢也是这个道理,你要用double来表示一个非常非常小的数,超出它所能表示的最小数时,就会发生数据溢出错误。
  • 问题2:在学习回文的时候,我有这样的一个疑问,就是在我运用这个回文的时候,是否只能利用字符,而不可以用空格、符号?对于回文来说,是否对于字符的大小写的要求也很严格?
  • 问题2解决方案:对于这个问题,我现在知道,因为java中是对大小写很严格的一种语言,所以回文也依旧如此,而对于是否可以运用空格和符号,我觉得是可以的,只是不经常利用,而在判断回文时,这些是否作为判断标准,这一点我还在查找。
  • 问题3:上篇博客中,我有提到我不是很理解形参和实参的差别,这周在看例题的时候,我依旧对于这两者很模糊,尽管上篇博客中我写了它的定义,也理解了但是用的时候,就不能准确判断。
  • 问题3解决方案:问了同学,也看了概念,基本的理解是,一般编写类中有形参,在编写类中,在你声明的括号中一般是形参,在你要运用这个类时,声明的括号里的应该就为实参。但是这个问题,我觉得自己还是理解的不透彻。

代码调试中的问题和解决过程

  • 问题1: 本来我是要编12*12的乘法表,以上是我编的和运行出来的样子。都是相同的数字进行相乘,我就很不解。
  • 问题1解决方案:我觉得在自己写一个程序的时候,不断地尝试是一个很不错的过程。上面的虽然运行成功了,但是却和我要的不同,我看了。主要是因为,a 加1时,b 也同时加了1;导致在循环的时候,两个数都在不断地增加,所以就会出现上面的情况,后来我用了两个判断语句,成功运行了12*12的乘法表
  • 问题2:不知道有没有人和我一样出现了这样的错误,
  • 问题2解决方案:这样的问题,主要是在运用if的嵌套语句的时候,经常会因为某些原因,导致{ 或}少了或者多了。还有,if之后,你可以没有else及其后续,但是如果你有else,则你就要编上else之后应该输出什么。这个代码我没有照,不过这是我出现这样情况的主要问题,现在已经解决了
  • 问题3:我在编写石头剪子布的时候,出现了很多问题,但是都根据错误一点一点解决了,这是我其中的一些错误
  • 问题3解决方案:第一个错误,是因为在前面我没有定义wanjia这个变量;第二个问题是我的com1是玩家对于Scanner 的一个对象,而当时我只声明了一个对象,我想要有输出终止的程序,所以后来我又重新声明了一个对象。对于第三个问题,我知道了对于我程序中的a b c 这个只是程序中的一个变量,如果你用键盘输入这个变量,是什么效果都没有的,而要输入的是实际的参数。

代码托管

上周考试错题总结

  • 1.In order to preserve encapsulation of an object, we would do all of the following except for which one?

    A Make the instance data private

    B Define the methods in the class to access and manipulate the instance data

    C Make the methods of the class public

    D Make the class final

    E All of the above preserve encapsulation 本题选D,

    这题意思是为了封装为了保持一个物体的封装,除了哪一个之外,我们还会做所有的事情?

    a.使实例数据私有

    b.定义类中的方法来访问和操纵实例数据

    c.使类的方法公开

    d.用final在类中

    e.以上所有的保存封装 封装的主要目的就是不让别人修改和访问自己封装的东西。这里面final不一定必要;对于第三项,访问和操纵实例数据的方法被公开,以便其他类可以使用该对象。
  • 2.Consider a method defined with the header: public void foo(int a, int b). Which of the following method calls is legal?

    A foo(0, 0.1);

    B foo(0 / 1, 2 * 3);

    C foo(0);

    D foo( );

    E foo(1 + 2, 3 * 0.1); 本题选B,这道题,因为参数都是整数型,所以排除了E,因此选了B
  • 3.The expressions that are passed to a method in an invocation are called(在调用中传递给某个方法的表达式被称为)

    A actual parameters(实际参数)

    B formal parameters(形式参数)

    C formal arguments(正式的参数)

    D formals

    E any of the above 本题选A。formals(正式参数、正式参数)是在方法的标题中给出的。实际的参数(实际参数、实际参数)是实际在调用中传输到方法的表达式。
  • 4.What happens if you declare a class constructor to have a void return type?(在类的构造函数时有了void返回类型会发生什么)

    A You'll likely receive a syntax error(你可能会得到语法的错误)

    B The program will compile with a warning, but you'll get a runtime error*(你编译的时候会有警告,在运行时会有错误)

    C There's nothing wrong with declaring a constructor to be void(没有任何的问题,在你使用void时)

    D The class' default constructor will be used instead of the one you're declaring(类的默认构造函数将被使用,而不是您所声明的)

    E None of the above 本题选D,这里面,在构造类中没有void的返回类型,但是当你加上了,它就会变成普通的而不是你所声明的,但是在这里面仍旧是有构造函数的,系统中会默认。
  • 5.A method defined in a class can access the class' instance data without needing to pass them as parameters or declare them as local variables.

    A true

    B false 本题选A 类中定义的方法可以访问类的实例数据,而无需将它们作为参数传递,也无需将它们声明为局部变量。实例数据对于所有类的方法都是全局可用的,因此这些方法不需要作为参数接收它们,或者在本地声明它们。如果在方法中本地声明与实例数据相同的变量,那么实例数据将在该方法中“隐藏”,因为引用将是本地变量。
  • 6.Defining formal parameters requires including each parameters type.(定义正式的参数需要包括每个参数类型。)

    A true

    B false 为了让编译器检查方法调用是否正确,编译器需要知道传递的参数的类型。因此,所有正式的参数(在方法头中定义的参数)必须包括它们的类型。这是使Java成为强类型语言的一个因素。我觉得应该正确理解正式的参数,因为它是方法头定义的参数,所以要保证其完整性
  • 7.Accessors and mutators provide mechanisms for controlled access to a well-encapsulated class.(存取器和突变器提供了对一个良好封装的类进行受控访问的机制。)

    A true

    B false 本题选A 存取器提供对那些否则无法访问的变量的读访问。突变器提供对其他难以访问的变量的写访问权
  • 8.During program development, software requirements specify

    A how the program will accomplish the task

    B what the task is that the program must perform

    C how to divide the task into subtasks

    D how to test the program when it is done

    E all of the above 本题选E 在程序开发期间,软件需求指定a.程序将如何完成任务b.这个程序必须执行的任务是什么c.如何将任务划分为子任务d.如何在完成后测试程序e.上面所有的,这道题在书上是有的。
  • 9.Static methods cannot

    A reference instance data

    B reference non-static instance data

    C reference other objects

    D invoke other static methods

    E invoke non-static methods 本题选B 静态方法不能a.引用实例数据b.引用非静态实例数据c.引用其他对象d.调用其他静态方法e.调用非静态方法,这也是书上写的。
  • 10.Inheritance through an extended (derived) class supports which of the following concepts?

    A interfaces

    B modulary

    C information hiding

    D code reuse

    E correctness 本题选D 通过扩展(派生的)类的继承支持下列概念中的哪一个?a.接口b.modularyc.信息隐藏d.代码重用e.正确性
  • 11.Which of the following interfaces would be used to implement a class that represents a group (or collection) of objects?

    A Iterator

    B Speaker

    C Comparable

    D MouseListener

    E KeyListener 本题选A 下列哪一种接口将被用来实现一个表示对象组(或集合)的类?a.迭代器b.演讲者c.类似的d.MouseListenere.KeyListener
  • 12.The goal of testing is to

    A ensure that the software has no errors

    B find syntax errors

    C find logical and run-time errors

    D evaluate how well the software meets the original requirements

    E give out-of-work programmers something to do 本题选C 测试的目标是a.确保软件没有错误b.发现语法错误c.查找逻辑和运行时错误d.评估软件满足原始需求的程度e.给不工作的程序员做点什么
  • 13.Interface classes cannot be extended but classes that implement interfaces can be extended.

    A true

    B false 本题选B 接口类不能被扩展,但是实现接口的类可以被扩展。a.真正的b.假 解释:任何类都可以被扩展,无论它是一个接口,还是实现一个接口,或者两者都没有。唯一的例外是,如果该类被显式地用“final”这个词进行修饰,在这种情况下,它不能被扩展。
  • 14.All objects implement Comparable.

    A true

    B false 本题选B 所有对象实现可比性。a.真正的b.假 解释:可比性是一个接口,类必须定义compareTo方法,并显式地声明它实现了可比较的可比较的实现。大多数类都没有实现可比性

其他(感悟、思考等,可选)

 这周的学习我觉得自己用的时间比上一次用的时间多一些。但是回顾自己之前的学习和考试,总是倒数的几名,还是很难过的。自己总结一下,归根结底就是自己其他的事情太多了,导致自己学习java的时间太少了,缺少琢磨和反思的过程,这是我知道的自己在学习这科方面的问题。比较后悔自己低估了java,高估了自己。我觉得慢慢学吧,很多东西都是循序渐进的过程吧,而且我觉得java在编程时真的是一个不断去改动的过程,不断地发现错误,不断地去尝试,最终得到自己想要的,可能过程中会出现很多很多错误,但是最终还是会成功。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 193/200 1/1 20/20
第二周 193/440 1/1 22/38
第三周 445/895 2/2 20/60
第四周 885/1780 1/1 43/90
第五周 775/ 2555 1/1 55/120

参考资料

20172306《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

  3. 20172306 《Java程序设计》第二周学习总结

    20172306<Java程序设计>第二周学习总结 教材学习内容总结 这一周的学习,我觉得我比上一周认真多了,而且我突然发现慢慢学习的过程中,以前有一些多余自己打出来的东西,有了更清晰的认 ...

  4. 20172325 2018-2019-2 《Java程序设计》第九周学习总结

    20172325 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 图的定义 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和 ...

  5. 20172325 2017-2018-2 《Java程序设计》第九周学习总结

    20172325 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 异常 1.学习了异常的基本概念: 2.区分异常与错误: 一个异常是指一个定义非正常情况或错误 ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  10. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

随机推荐

  1. 使用openshit在ubuntu14.04下一键部署openstack(juno版本)

    一.基本介绍 本实验是在vmware workstation上虚拟机ubuntu14.04(64bit,desktop)上部署openstack(Juno版本).采用的工具是openshit.open ...

  2. Unity&UGUI

    UI:User Interface 用户交互接口,处理用户与程序直接的交互 新建一个UI控件,都会同时新建两个物体: --Canvas:画布,所有的UI控件都必须放到画布上 --EnventSyste ...

  3. EF CodeFirst学习笔记003--如何创建表

    参考: http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html webconfig中修改: <connectionSt ...

  4. C# sqlserver ExecuteNonQuery()方法详解

    关于ExecuteNonQuery() 方法以前对这个一直都没在意,基本上都没有用其返回值,查了一下MSDN,如下:SqlCommand.ExecuteNonQuery 方法对连接执行 Transac ...

  5. HTTP协议原理(长连接,短连接/ get,post区别等等)

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  6. UFPS入门: Unity FPS 教程

    http://blog.csdn.net/kmyhy/article/details/72846348 UFPS : Ultimate FPS v1.7.3 download:https://item ...

  7. 【zipkin】链路追踪

    1,安装zipkin:https://zipkin.io/pages/quickstart.html 推荐使用docker去安装zipkin服务,下载安装执行都有了.缺点是下载要等待一段时间 2,使用 ...

  8. 【Linux 线程】常用线程函数复习《三》

    1.关于函数pthraed_join与函数pthraed_detach 在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源 ...

  9. Incorrect Invoice Ref.

    IF_EX_ACC_DOCUMENT~CHANGE LOOP AT c_accit ASSIGNING <wa_accit> WHERE rebzg eq 'V'. <wa_acci ...

  10. Django配置后台xadmin管理界面

    Django配置后台xadmin管理界面 python版本3.6.5 Django版本1.10.8(刚开始是2.1.5,由于各种错误,改成了低版本) 1.xadmin的安装,下载地址https://g ...