20172321 2017-2018-2 《Java程序设计》第二周学习总结
教材学习内容总结
-
第一章要点:
要点1 字符串:print和println用法的区别,字符串的拼接,java中的转义序列。
要点2 表达式:自增和自减运算符和赋值运算符如++、+=、*=、%=
要点3 数据类型转换的安全性和技术,交互式程序
教材学习中的问题和解决过程
问题1:转义序列中的\t的用法
解决方案1:\t是制表符,但是效果似乎只是空出一些空格。后来在百度上搜索,产生一定距离的空白,使文本看上去像一个表格。
问题2:交互式程序这一节感觉是很重要的,但是每看一句话都感觉头皮发麻,难以理解。
解决方案2:各种在网上找答案,不断在虚拟机上尝试书上出现的一些东西,但是也还是不能特别理解这一节的内容,之后在课上可以解决吧。
代码调试中的问题和解决过程
问题1 试了一下书上的一个自测题结果就是一片混乱
解决方案1 一些乱七八糟的问题,比如忘了;或者是把\敲成了/这样搞笑的错误,自己慢慢找出来记住就好了。
问题2 做编程作业的时候编写的代码出现一些错误
解决方案2 这就比较麻烦了,因为不确定是哪个地方的小错误还是从逻辑上就不对,总感觉头很大,有些时候只有删掉这个代码重新构思偶尔还会去网上寻找一些帮助,找一些自己不知道的编写方式用来解决编程问题。
代码托管
上周考试错题总结
- 错题1
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 (易变性) - 原因
没在书上看到所以不会 - 理解情况
直接和随机访问有时是一个意思。 - 错题2
It is important to dissect a problem into manageable pieces before trying to solve the problem because (试图解决问题之前,把一个问题分解成可控制的几部分是很重要的,因为)
A . most problems are too complex to be solved as a single, large activity (大多数问题太复杂,以至于不能作为一个单独大型的活动来解决)
B . most problems are solved by multiple people and it is easy to assign each piece to a separate person (大多数问题都是由很多人解决的而且把每一部分分配给不同的人是很容易的)
C . it is easier to integrate small pieces of a program into one program than it is to integrate one big chunk of code into one program (将程序的小部分整合到一个程序中比将一大块代码整合到一个程序中更容易)
D . our first solution may not solve the problem correctly (我们的第一个方案可能无法正确解决问题)
E . all of the above (以上皆是) - 原因
感觉都很有道理所以选了E - 理解情况
任何有趣的问题都太复杂,很难作为一个单一的活动轻易解决。通过分解问题,我们可以为每个部分构建小的解决方案,然后将这些部分集成起来。答案是对的,但这不是我们将问题分解的原因。 - 错题3
In the following list, which statement is not true regarding Java as a programming language? (关于Java这种程序设计语言,下面的哪种说法是不正确的?)
A . It is a relatively recent language, having been introduced in 1995 (它是一种相对现代的语言,于1995年被引入)
B . It is a language whose programs do not require translating into machine language before they are executed (它是一种执行程序前不需要被转换成机器语言的语言)
C . It is an object-oriented programming language (它是一种面向对象的程序设计语言)
D . It is a language that embraces the idea of writing programs to be executed using the World Wide Web (这种语言可以使用万维网来编写要执行程序的想法)
E . All of the above are true (以上说法都是正确的) - 原因
知识点没有掌握 - 理解情况
所有语言都需要翻译成机器语言。关于java的其他语句都是正确的。 - 错题4
Which character below is not allowed in an identifier? (下面哪个字符不允许在标识符中使用?)
A . $
B . _
C . 0 (zero)(零)
D . q
E . ^ - 原因
概念没有理解到位 - 理解情况
java标识符可以由任何字母、Digit、$或_组成,只要标识符以字母或_开头。^不是规定性质。 - 错题5
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程序的翻译过程是首先将它编译成bytecodes,这在体系结构上是中性的(也就是说,无论架构平台是什么,它们都可以使用)。要执行程序,字节码必须由java编译器进一步编译,或由java虚拟机解释。 - 错题6
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 (该语句转换成注释) - 原因
确实是不知道 - 理解情况
如果java编译器无法理解一个命令,则编译器无法转换它,并使用语法错误进行响应。当“println”被识别为命令时,“printn”则不是,因此编译器提供了一个语法错误。 - 错题7
Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)
A . true
B . false - 原因
当时不是很懂,比较迷 - 理解情况
java源代码和java字节代码都不可执行。两者都必须编译或解释为机器代码。java字节码是有用的,因为它们是独立于机器的,但是是半编译的,允许你的java代码通过互联网传输,并在另一台计算机上执行,即使另一台计算机是完全不同的类型。 - 错题8
The word "Public" is a reserved word. ("Public"是一个保留字。)
A . true
B . false - 原因
当时记得比较模糊 - 理解情况
“public”是一个保留词,但由于java是区分大小写的,所以“Public”与“public”不同,因此“Public”不是保留词。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 189/189 | 1/1 | 18/20 | |
第二周 | 250/439 | 2/3 | 21/41 | |
第三周 | 437/876 | 3/6 | 25/60 | |
第四周 | 659/1535 | 2/8 | 31/90 |