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

时间:2022-01-11 10:28:04

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

教材学习内容总结

  • 字符串的拼接和转义序列的使用
  • 变量的声明和使用
  • 讨论语法及表达式的处理
  • 定义数据转换类型和实现类型转换的机制
  • 创建Scanner类

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

  • 暂无

代码学习中的问题和解决过程

  • 问题1:在提交过程中,突然遇到无法上传的情况
    20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

  • 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了。
  • 问题2:在按照例题2.10打代码时,Javac都成功了但是在Java运行时却遇到提示说在类里找不到main方法,就让我很无奈。
    20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结
    20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

  • 问题2解决方案:学长告诉我,我所编辑的是一个类,需要在有main函数的类中创建对象调用。要将类的那一章看一下,我大概看了一下,不过还是不太懂。
  • 问题3:在编程项目第pp2.12项目的编写中遇到了下面问题。
    20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

  • 翁提3解决方案:经过检查,发现在最初定义时,将周长和面积分别定义成l,s;但后面却代入的时L和S,所以出现错误。

上周考试错题总结

  • 3.When executing a program, the processor reads each program instruction from (当执行一个程序时,处理器从___读取每个程序指令)
    A .secondary memory (storage) (辅助存储器(存储))
    B .the Internet (互联网)
    C .registers stored in the processor (储存在处理器中的寄存器)
    D .main memory (主存储器)
    E .could be any of these (可以是以上这些中的任何一个)
  • 当执行一个程序时,处理器从主存储器读取每个程序指令。
    解析:在执行程序之前,程序首先从辅助存储器加载到主存储器中,以便处理器不会因读取每条指令而变慢。
  • 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百万字节)
  • 解析:A.1.5兆字节,B.0.1兆字节,C.3.5亿字节,D.10兆字节,E.12兆字节,所以选E
  • 7.The ability to directly obtain a stored item by referencing its address is known as (通过引用地址直接获得存储项的能力被称为___)
    A .random access (随机存取)
    B .sequential access (顺序存取)
    C .read-only access (只读访问)
    D .fetch access (获取访问)
    E .volatility (易变性)
  • 解析:随机存取(可以说成是直接存取)意味着任何项目都可以仅基于其地址进行检索。随机存取是RAM和ROM存储器使用的访问形式。磁带使用顺序访问。
  • 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 (以上皆是)
  • 解析:注释时程序员唯一可以随意使用并独立于代码的语言特性。程序员通过注释表达自己的想法及做出相关的解释。注释应当揭示程序员的初衷和意图。
  • 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 (没有意义的指令)
  • 解释:A和B中的注释是显而易见的,而D和E的注释是没有意义的。C中的注释解释了为什么指令出现在程序中。
  • 15.Which character below is not allowed in an identifier? (下面哪个字符不允许在标识符中使用?)
    A .$
    B ._
    C .0 (zero)(零)
    D .q
    E .^
  • 解释:标识符是由仍何字母,数字,下划线和美元符号组成的,没有E中的符号。
  • 17.Which of the following is a legal Java identifier? (下面哪个是合法的Java标识符?)
    A .i
    B .class
    C .ilikeclass!
    D .idon'tlikeclass
    E .i-like-class
  • 解释:Java标识符不能有字符“!”在他们的回答中,C,D和E是错误的。“类”这个词在Java中是一个保留的词,不能用作标识符。标识符"i"是完全合法的尽管它不一定是go
  • 18.A unique aspect of Java that allows code compiled on one machine to be executed on a machine of a different hardware platform is Java's (Java的独特之处在于其___,它允许在一台机器上编译的代码在不同的硬件平台上执行)
    A .bytecodes (字节码)
    B .syntax (语法)
    C .use of objects (所使用的对象)
    D .use of exception handling (所使用的异常处理)
    E .all of the above (以上皆是)
  • 解释:Java程序的翻译过程是首先将它编译成字节码,它在体系结构上是中立的(也就是说,无论架构平台是什么,都可以使用它们)。要执行该程序,字节码必须由Java编译器进一步编译或由Java虚拟机解释。
  • 21.Following Java naming convention, which of the following would be the best name for a class about store customers? (下列Java命名规范中,哪个是关于“store customers”类的最佳命名?)
    A .StoreCustomer
    B .Store Customer
    C .storeCustomer
    D .STORE_CUSTOMER
    E .Store-Customer
  • 解析:Java命名约定表明,类应该以大写字母开头,多字名称应该以大写字母开头,而其余字符为小写字母。单词应该连接在一起而没有空格,或者与“_”字符连接。答案B和E不是合法的名称,并且使用Java命名约定,C可以作为一个变量名,D是一个常量。
  • 22.Which of the following would be a good variable name for the current value of a stock? (下面哪个是关于变量“current value of a stock”的最佳命名?)
    A .curstoval
    B .theCurrentValueOfThisStockIs
    C .currentStockVal
    D .csv
    E .current
  • 解释:Java允许长变量名但程序员必须找到一个好的折中过度长名称(与B)和名称太短,了解他们使用(a和D)。目前这个名字可能会合理如果没有其他程序中被引用“当前”值。
  • 23.Which of the following is a legal Java identifier? (下面哪个是合法的Java标识符?)
    A .1ForAll
    B .oneForAll
    C .one/4/all
    D .1_4_all
    E .1forall
  • 解释:Java标识符不能以数字开头(因此,D和E中的答案是非法的),不能包含“/”字符,因此C中的答案是非法的。Java标识符不能以数字开头(因此,D和E中的答案是非法的),不能包含“/”字符,因此C中的答案是非法的。
  • 29.Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)
    A .true
    B .false
  • 解释:Java源代码和Java字节码都不是可执行的。两者都必须被编译或解释为机器代码。Java字节码是有用的,但是它们是独立于机器的但是半编译的代码,它允许您的Java代码通过Internet传输并在另一台计算机上执行,即使其他计算机是完全不同的类型。
  • 32.The word "Public" is a reserved word. ("Public"是一个保留字。)
    A .true
    B .false
  • 解释:“public”是一个保留字,但由于Java是区分大小写的,“public”与“public”不同,因此“public”不是一个保留字。
  • 33.Reserved words in Java can be redefined by the programmer to mean something other than their original intentions. (在Java中,保留字可以被程序员重新定义,去表示不同于它们最初意义的其他含义。)
    A .true
    B .false
  • 解释:无法重新定义Java保留字。
  • 34.In a Java program, dividing by 0 is a syntax error. (在Java程序中,除以0是一个语法错误。)
    A .true
    B .false
  • 解释:在编译时没有检测到除以0,并且由于计算机不能除以0,这是一个运行时错误。

代码托管

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

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

进入第二周,有点难,程序的样子和上一周有所改变,但要打的代码更多了,发现时间有点不够用,感觉这一周学的状态并不好,所以下一周会花更多的时间在Java的学习中。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 95/95 1/1 18/18
第二周 515/620 1/2 22/40
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:25小时

  • 实际学习时间:22小时

  • 改进情况:没有

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料