学号 2017-2018-2 《程序设计与数据结构》第六周学习总结

教材学习内容总结

这一章主要是对数组的学习:

  • 数组是一种简单而功能强大的编程语言结构,用于分组和组织数据。在java中,数组索引总是以0开始。
  • java有两种声明数组方式,:
    int【】 grades
    int grades【】
  • 一个数组可以含有多个对象,每个对象又由一组变量和使用这些变量的方法组成,,而对象中的变量本身也可能又是数组。
  • 命令行实参存储在String对象的数组中,并将传递给main方法。

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

  • 问题1:在看课本8.3时候,,对于对象数组的理解。
  • 问题1解决方案:实例化对象数组只是为保存对象引用和预留空间,对每个数组元素所代表的对象必须分别实例化,所以一个对象数组实际上就是一个对象引用数组。

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

  • 问题1:在做pp81没有在while循环中设置停止条件导致无限循环下去。
  • 问题1解决方案:在尝试使用了break后成功运行。这也是第一次开始使用break,以前都是使用if和else而没有尝试过这一种。

  • 问题2:在做pp8.1时候,当时好像是多定义了一个数组输出,导致其本身的数字与输入的数字相加后才输出个数。
  • 问题2解决方案:我将我定义的第一个数组显示结果删掉,最后显示了正确结果。

  • 问题3:在用Math.sqrt(double num)方法时候,IDEA报错说num应该为int类型,而书上也写着无论是输出的sqrt还是输入的num都应该为double型
  • 问题3解决方案: 定义的时候刚开始在找数组,后面发现int型的运用不正确,全部改为double型后成功解决了问题。

代码托管

上周考试错题总结

将第五周和第六周错题弄反了,本次为第五周错题

  • 问题1:Which of the following reserved words in Java is used to create an instance of a class?
    A.class
    B.public
    C.public or private, either could be used
    D.import
    E.new
    保留字“new”用于实例化一个对象,声明new后面跟着的是类名,这就是类的构造方法。如
    Car x = new Car( );将会实例化一个car类,并赋予一个变量X。

  • 问题2:Instance data for a Java class
    A.are limited to primitive types (e.g., int, float, char)
    B.are limited to Strings
    C.are limited to objects(e.g., Strings, classes defined by other programmers)
    D.may be primitive types or objects, but objects must be defined to be private
    E.may be primitive types or objects
    实例数据是组成类的实体,它可以是任何可用的类型,无论是原始的还是对象的,public型还是private型。

  • 问题3: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
    软件需求指定了程序必须完成的功能,指明了程序应当执行的任务,而不是描述如何执行所规定的任务。通常,任务需求用一个称为功能说明的文档来描述。

  • 问题4:Java does not support multiple inheritance, but some of the abilities of multiple inheritance are available by
    A.importing classes
    B.implementing interfaces
    C.overriding parent class methods
    D.creating aliases
    E.using public rather than protected or private modifiers
    由于类可以实现任意数量的接口,所以该类本质上是使用接口类,就好像这些接口是在该类中定义的那样。因此,该类继承了接口的方法和常量。此外,该类还可以扩展另一类,从而直接或间接地从多个类继承。这与多重继承并不完全相同,但它与Java的概念非常接近。

  • 问题5: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
    测试是必需的,因为所有的软件都有错误。复杂的系统在发布之前尤其需要测试。所寻找的错误类型是逻辑错误和运行时错误。所有的语法错误都将在实施过程中被识别和修复。

  • 问题6: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
    静态方法是类本身的一部分, 而不是实例化对象的方法, 因此静态方法在类的所有实例化对象之间共享。由于静态方法是共享的, 因此它无法访问非静态实例数据, 因为所有非静态实例数据都特定于实例化对象。

  • 问题7:What happens if you declare a class constructor to have a void return type?
    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
    D . The class' default constructor will be used instead of the one you're declaring
    E . None of the above
    加void类型并没有语法错误,只是不是构造函数而是一个普通的函数了,但是每一个函数里都有构造函数,如果自己加了void类型后也只会是出现一个空的构造函数而非产生语法错误。

  • 问题8:Formal parameters are those that appear in the method call and actual parameters are those that appear in the method header.
    A . true
    B . false
    问题有两个定义颠倒了。形式参数是出现在方法头中的形参, 实际参数是方法调用中的参数 (传递给方法)。

  • 问题9:Accessors and mutators provide mechanisms for controlled access to a well-encapsulated class.(存取器和突变器提供了对一个良好封装的类进行受控访问的机制。)
    A true
    B false
    存取器提供对那些否则无法访问的变量的读访问。突变器提供对其他难以访问的变量的写访问权

  • 问题10:Interface classes cannot be extended but classes that implement interfaces can be extended.
    A true
    B false
    接口类不能被扩展,但是实现接口的类可以被扩展。a.真正的b.假 解释:任何类都可以被扩展,无论它是一个接口,还是实现一个接口,或者两者都没有。唯一的例外是,如果该类被显式地用“final”这个词进行修饰,在这种情况下,它不能被扩展。

    结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • 图片和文字相结合,方便理解。
  • 代码中值得学习的或问题:
    • 严域俊同学学习十分积极,代码行数体现了其应该花了很大功夫去研究。
    • commit十分详细,有条理性。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172333
    • 结对学习内容
      • 学习第八章pp项目。
      • 学习数组的具体内容

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

本周在课后项目编程时遇到了很多困难,课下还是要将课本熟读。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 180/180 2/2 20/25
第二周 312/414 2/4 20/45
第三周 557/971 2/6 25/70
第四周 1217/2242 2/8 44/114
第五周 734/2976 2/10 24/138
第六周 523/3509 2/12 20/158

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:20小时

  • 实际学习时间:20小时

  • 改进情况:

commit的提交有了改进

参考资料

20172330 2017-2018-1 《Java程序设计》第六周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

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

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

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

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

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

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

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

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

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

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

随机推荐

  1. Linux-Xshell会话保持

    1.Xshell客户端设置 2.服务端设置 修改/etc/ssh/sshd_config文件,找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号( ...

  2. TCP和IP的三次握手和第四次挥手

    TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确 ...

  3. Spring RedisTemplate操作-HyperLogLog操作(7)

    @Autowired @Resource(name="redisTemplate") private RedisTemplate<String, String> rt; ...

  4. 论文中“but”与“however”的区别

  5. 作为一个有B格的前端工程师需要掌握的一些知识

    如果说你3年还在不停地切页面的... 那么你对http协议的了解程度 你的原生的javascript的掌握程度 你的页面的优化的理念 你在写页面是否会有什么独特地技巧 你对ajax的get和post方 ...

  6. Python核心编程——Chapter16

    好吧,在拜读完<Python网络编程基础>之后,回头再搞一搞16章的网络编程吧. Let‘s go! 16.4.修改书上示例的TCP和UDP客户端,使得服务器的名字不要在代码里写死,要允许 ...

  7. expect 交互 之shell执行命令操作

    shell 执行命令操作 /usr/bin/expect -c " proc jiaohu {} { send_user expect_start expect { password { s ...

  8. 第9月第27天 AVAssetExportSession AVAssetExportPresetMediumQuality

    1. AVAssetExportPresetMediumQuality和 AVAssetExportPreset960x540 码率相差很大,视频大小也会相差很大 AVAssetExportPrese ...

  9. Linux awk工具简单学习记录

    awk是一个文本分析工具,它把文件逐行读入,以特定符号将每行切分(默认空格为分隔符),切开的部分再进行各种分析处理. awk其名称得自于它的创始人Alfred Aho .Peter Weinberge ...

  10. 微信小程序实现首页图片多种排版布局!

    先来个效果图: 使用技术主要是flex布局,绝对定位布局,小程序前端页面开发,以及一些样式! 直接贴代码,都有详细注释,熟悉一下,方便以后小程序开发! wxml: <view class='in ...