20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结
20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结
教材学习内容总结
- 字符串的拼接和转义序列的使用
- 变量的声明和使用
- 讨论语法及表达式的处理
- 定义数据转换类型和实现类型转换的机制
- 创建Scanner类
教材学习中的问题和解决问题
- 暂无
代码学习中的问题和解决过程
-
问题1:在提交过程中,突然遇到无法上传的情况
-
问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了。
-
问题2:在按照例题2.10打代码时,Javac都成功了但是在Java运行时却遇到提示说在类里找不到main方法,就让我很无奈。
-
问题2解决方案:学长告诉我,我所编辑的是一个类,需要在有main函数的类中创建对象调用。要将类的那一章看一下,我大概看了一下,不过还是不太懂。
-
问题3:在编程项目第pp2.12项目的编写中遇到了下面问题。
-
翁提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,这是一个运行时错误。
代码托管
其他(感悟、思考等,可选)
进入第二周,有点难,程序的样子和上一周有所改变,但要打的代码更多了,发现时间有点不够用,感觉这一周学的状态并不好,所以下一周会花更多的时间在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小时
-
改进情况:没有
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)