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

教材学习内容总结

本周主要学习了教材第二章的内容,相较于第一章而言,这一章的内容比较生僻,包括常量与变量、基本数据类型、交互式程序这几类概念都不太容易理解。不过在反复的阅读理解,以及完成课后练习题的过程中,我逐渐开始了解到了这些概念的意思。本周初步了解了数据与表达式的一些相关知识,收获颇丰,编程的能力也在逐渐提高。

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

  • 问题1:SR2.33假设result是一个float型变量,value是一个int型变量。执行以下复制语句以后,变量value将是什么类型?为什么?

    result=value;

  • 问题1解决方案:在执行该语句时保存在value变量中的值被读取出来并转换为float型,然后复制到result变量代表的存储单元。但value变量本身没有变化,所以在执行赋值语句后value还是int型变量。

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

  • 问题1:本周遇到的问题极其复杂,我觉得能从头到尾叙述清楚是几乎不可能的了。首先因为学长的建议,我准备将码云上混乱不堪的文件分类--将.java文件归入src文件夹,.class文件归入bin文件夹,起初进行得挺顺利的结果在上传的过程中遇到系统提示

    由于一周之内数次遇到上传文件的问题,所以我尝试自己上网查找解决方案,详细解决过程我记不太清晰,但当文件上传到码云之后,我发现上传的文件夹出现了如图所示的情况

    chap01文件夹的名称后出现了一串乱码,鼠标点击之后无反应也无法删除,点击查看代码行数变化出现了如图结果

    在寻求学长的帮助后,我对要上传的文件进行git pull操作,程序又提醒出现如下错误

    最后只有找到老师帮忙解决,将码云上的项目彻底删除重新新建一个项目,最终上传成功

  • 问题2:在编辑PP23项目时,要求读取两个浮点数,输出它们的和、差及乘积。我编辑的程序如图:

    编译后执行程序发现求差以及乘积运算结果都正确,只有加法运算出现错误:

    在网上查找之后,我了解到有些小数不能用二进制精确地表示,导致运算时出现差错,于是修改了输入的数值,重新进行编译,问题就解决了。

代码托管

上周考试错题总结

  • 4.题目:Which memory capacity is the largest? (哪个选项的存储容量最大?)

    A.1,500,000,000,000 bytes (1,500,000,000,000个字节)

    B.100 gigabytes (100千兆字节)

    C.3,500,000 kilobytes (3,500,000千字节)

    D.10 terabyte (10太字节)

    E.12,000,000 megabytes (12,000,000百万字节)

    解析:这道题错在没有好好看清题目吧,两眼一看到这么多数字就有点犯晕。除此之外,对存储容量的单位还是有一点生疏,尤其是看到太字节时竟然一点都没想到指的TB。所以这道题其实很简单,A-1.5MB,B-100GB,C-3400MB,D-10TB,E-12TB,故此题选E。

  • 6.题目:Volatility is a property of (易变性是___的性质)

    A.RAM (随机存储器)

    B.ROM (只读存储器)

    C.disk (磁盘)

    D.software (软件)

    E.computer networks (计算机网络)

    解析:确实没有这方面知识的印象,所以我就在网上胡乱查找,于是乎就找到了此篇(https://iask.sina.com.cn/b/1qkhecI4iHT.html),于是就不加思考的选择了D选项。

    现在做错题分析,再仔细联系教材回想,RAM具有不稳定的性质也就是指易变性,而第一章的内容并没有涉及到软件的性质,所以正确答案应该选择A。

  • 7.题目:Java is an example of a(n) (Java是一个___的例子)

    A.machine language (机器语言)

    B.assembly language (汇编语言)

    C.high-level language (高级语言)

    D.fourth generation language (第四代语言)

    E.both C and D (C和D都是)

    解析:这道题纯粹是书上的知识没有掌握,选择E。

  • 11.题目:Comments should (注释应该)

    A.rephrase the code it explains in English (用英语复述它解释的代码)

    B.be insightful and explain what the instruction‘s intention is ( 有深刻见解并解释指令的意图是什么)

    C.only be included in code that is difficult to understand (仅仅包含在难以理解的代码中)

    D.be used to define variables whose names are not easy to understand (被用于解释难以理解的变量名称)

    E.all of the above (以上皆是)

    解析:刚开始看到题目时觉得好像所有选项都是正确的。书上关于注释的使用如是“注释应用于清楚地描述程序的目的、功能及解释一些特殊的处理过程。”所以A仅仅用于复述解释的代码,B仅仅包含在难以理解的代码中,D解释难以理解的变量名称都是错误的。故答案选择B。

  • 12.题目:The main method for a Java program is defined by (Java程序中的主方法是由___定义的)

    A.public static main( )

    B.public static main(String[ ] args);

    C.public static main(String[ ] args)

    D.private static main(String[ ] args)

    E.the main method could be defined as in A, C or D but not B (主方法可以定义为A,C或者D,但不是B)

    解析:这道题其实很简单,但我被其他几个选项所干扰。A错在没有括号里的内容,B多打了一个;号,D中用private取代public使得程序没有意义。故答案选C。

  • 14.题目:The instruction: System.out.println("Hello World"); might best be commented as (这个指令最好被注释为)

    A.// prints "Hello World" to the screen (将"Hello World"打印到屏幕上)

    B.// prints a message (打印一条信息)

    C.// used to demonstrate an output message (用来演示输出信息)

    D.//

    E.// meaningless instruction (没有意义的指令)

    解析:我倒是倾向于选择D,毕竟本条命令很容易理解,并不会因为编写的时间过久而忘记。但按照官方解释,A太过直白,B简直是废话,D、E又没有意义,只有选择 C。

  • 16.题目:Which of the following is not syntactically legal in Java? (在Java中,下列哪一条语法不合法?)

    A.public class Foo

    B.System.out.println("Hi");

    C.{ }

    D.s t a t i c main(String[ ] args)

    E.only B is legally valid, all of the rest are illegal (只有B是合法的,其余都不合法)

    解析:D的错误在于计算机无法识别“s t a t i c”。

  • 17.题目:Which of the following is a legal Java identifier? (下面哪个是合法的Java标识符?)

    A.i

    B.class

    C.ilikeclass!

    D.idon‘tlikeclass

    E.i-like-class

    解析:‘’、-、!等符号计算机都无法识别,而class是标识符,故答案选择A。

  • 25.题目:Which of the following characters does not need to have an associated "closing" character in a Java program? (在一个Java程序中,下面哪个字符不需要有与之相关的“结尾”字符?)

    A.{

    B.(

    C.[

    D.<

    E.all of these require closing characters (以上都需要结尾字符)

    解析:这道题需要记忆。好像没在书上看到过相关知识。

  • 26.题目:Mistyping "println" as "printn" will result in (将“println”打印为“printn”将会导致)

    A.a syntax error (语法错误)

    B.a run-time error (运行时错误)

    C.a logical error (逻辑错误)

    D.no error at all (根本没有错误)

    E.converting the statement into a comment (该语句转换成注释)

    解析:粗心大意把题目读错,我把“printn”看做了“print”,错以为是程序可以正常编译和执行,但得到的结果不对,故选择了C逻辑错误。

  • 29.题目:Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)

    A.true

    B.false

    解析:又是书上的内容读的不仔细,Java字节码同样需要由Java虚拟机的Java解释器执行。

  • 32.题目:The word "Public" is a reserved word. ("Public"是一个保留字。)

    A.true

    B.false

    解释:Java语言是对大小写敏感的,public和Public不是一回事。

其他

 两周以来我在向码云上传文件时遇见了许多问题,根本原因还是因为最开始的教程没有仔细阅读,所以上传文件时总会输入错误的指令,造成文件的重复上传。当时为了省事没有认真阅读,现在反而因此付出了数倍的时间。另外在考试中总是粗心大意读不清楚题目,按自己的想法选择答案。这些毛病都要尽量去避免。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 117/117 1/1 19/19
第二周 289/406 1/2 21/40
  • 计划学习时间:20小时
  • 实际学习时间:21小时

参考资料

原文地址:https://www.cnblogs.com/Lewandodoski/p/8562731.html

时间: 2024-10-09 16:44:58

20172323 2017-2018-2 《程序设计与数据结构》第二周学习总结的相关文章

201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很多表现很好的同学,他们课前准备充分,在课堂上完全没有任何压力,我也意识到了我课前没有花大量时间看书的严重性,所以我下课便去看第三章了,以后也一定要好好看书,找出不懂得问题,课上也要认真向其他优秀同学学习,不懂的问题也要想办法解决. 今天写了PPT上的任务1-9,着实也遇到了很多不会的问题,像是最后的

201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475377.html 作业学习目标 学习并掌握Java Application程序结构: 学习并掌握Java语言的数据类型与变量: 学会使用Java运算符构造各类表达式: 掌握Java Application输入输出技术: 掌握Java流程控制技术(分支.循环): 掌握Math类.Strin

201771010123汪慧和《面向对象程序设计Java》第二周学习总结

一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言中已经被赋予特定意义 的一些单词. ?常见有:class.public.try.catch.if. float.import.void等. 关键字不做变量名. 3.Java有三种注释的方式:   // 注释内容由//一直到此行结束. /*和*/ 定义一个注释块.  /**开始,*/结束 这种注释方法

2017面向对象程序设计(Java)第二周学习总结

2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为第一周学长正在家里吃西瓜吹空调.好了,闲言少叙.我先为你们介绍一下助教的职责,而后再对你们的学习情况进行总结! 身为你们本学期Java课程的助教...之一,我的任务是:指导你们学习,批改我所负责学习小组的实验作业.阅读博文并回复.其他学习小组会有另外三位助教负责.由于我们每周五都会汇总你们的情况,其

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

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨<程序设计与数据结构>第二周学习总结 又到周五,李馨雨同学要开始写博客了.让我们开始吧!(????) 教材学习内容总结 1.首先是String类定义的字符串,然后是print和println的区别.转义字符的学习.(让我印象深刻的\b[回车符]在字符串结尾不显示哈哈,及其更新的\t[换行符],还有在课堂上真正明白了什么是回车.) 2.了解变量.常量.赋值语句.变量:保存数据的内存单元.常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限.去修饰符等等.没实

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

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

20172304 《程序设计与数据结构》 第二周学习总结

20172304 <程序设计与数据结构>第二周学习总结 教材学习内容总结 本周主要学习了第三章和第四章的内容 第三章 集合概述--栈 3.1集合 集合是一种聚集组织了其他对象的对象. 集合可以分为两大类线性集合和非线性集合 线性集合:其元素按直线方式组织的集合. 非线性集合:其元素按某种非直线方式组织的集合.例如按层次结构或按网状结构. 3.1.1抽象数据类型 集合十一找给你隐藏了实现细节的抽象 数据类型:一组值及作用于这些数值上的各种操作. 抽象数据:类型(Absttract Data Ty

20172330 2018-2019-1 《程序设计与数据结构》第二周学习总结

20172330 2018-2019-1 <程序设计与数据结构>第二周学习总结 教材学习内容总结 集合 1.集合是一种对象,类似于保存其他对象的存储库 集合中的元素通常是按照他们添加到集合的顺序,或者是按元素之间的某种内在联系来组织的. 2.抽象数据类型(ADT)是由数据和在该数据上所实施的具体操作构成的集合. 3.栈是一种线性集合,元素按后进先出(LIFO)的方法进行处理,有push,pop,peek,isempty,size等常用操作 4.栈是用于计算后缀表达式的理想数据结构 5.Java

20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中的声明的变量所定义.对象的操作可能改变该对象的状态.对象的操作由 类中声明的方法定义. 类的分析:类的成员(类的数据和方法):构造方法(给类赋初值):实例数据(变量声明的位置定义其作用域):UML类图(类及其对象关系可视化描述). 封装:(1) 可见性修饰符:public(公有):private(私有,只能从