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

Posted linanlalala

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172330 《程序设计与数据结构》第二周学习总结相关的知识,希望对你有一定的参考价值。

20172330 2017-2018-1 《Java程序设计》第二周学习总结

教材学习内容总结

第二章的内容相较于第一周是对计算机系统部件等一系列的概括,这一章讲的则更加专业性,让我们对Java程序中一些基本数据类型和计算表达式有了掌握,以及对交互式输入有了讲解,可以说这一章的内容算是对我们Java学习的初步引导吧。
比如说,这章我们学习的字符串的拼接啊,还有后面的赋值变量,以及看上去云里雾里的Scanner,这章就开始专业了。

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

  • 问题1:刚开始看2.6交互式程序的时候,我有点没看懂,对于Scanner的使用不太理解
  • 问题1解决方案:然后我百度了一下,上面显示
    “Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。”
    技术分享图片

  • 问题2:自增和自减运算符那里,前后缀的区别,他前文刚说完是等价的,后面又说结果可能不同,有毛病吧,我就百度了一下
    技术分享图片

  • 问题2解决方案:百度喽,

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

  • 问题1:int 和double的应用,当时它显示会出现丢失然后不能运行
    技术分享图片

  • 问题1解决方案:我百度了一下,告诉我因为小数点的存在,使得int和double输入转换会使得小数点后面的内容丢失,所以在更改之后得以运行。
    技术分享图片

  • 问题2:我老是忘记输入;在一句命令之后就直接回车进入下一行,导致最后无法运行
    技术分享图片

  • 问题2解决方案:我开始有意识的去纠正,告诉自己就像你写作文的时候肯定要写句号啊,要不那么长的句子不断开还不说到没气了哈哈哈QAQ

代码托管

技术分享图片

上周考试错题总结

-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百万字节)
这道题当时在比较完前四个之后是10太字节最大,所以也就没看e直接选了d,结果e是百万字节,比10太字节要大。
ps:1MB(兆字节)=1024KB(千字节)=1024*1024B(字节)=1048576B(字节);
8bit(比特位)=1Byte(字节);
1024Byte(字节)=1KB(千字节);
1024KB(千字节)=1MB(兆字节);
1024MB=1GB;
1024GB=1TB;

  • 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 (易变性)
    直接存取和随机存取这两个术语是可以互换使用的
  • 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 (以上皆是)
    任何有趣的问题都太复杂,不能简单地作为单一的活动来解决。通过分解问题,我们可以为每一块构建一个小的解决方案,然后整合各个部分。

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都是)
第四代语言是包在程序内部的工具,这样用户就可以灵活地编写从程序中执行的代码。所以Java也应该是第四代语言

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 (以上皆是)
注释不应该用英语重新表达一个指令的意思,而是应该解释这个指令与程序的关系。所以b是正确的。

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”将使程序不
可执行,从而使定义变得毫无意义。我当时没有看到d中private,就选了e

The line of Java code "// System.out.println("Hello");" will (Java的这行代码将会)
A do nothing (什么都不做)
B cause "Hello" to be output (输出"Hello")
C cause a syntax error (造成语法错误)
D cause "(Hello)" to be output (输出"(Hello)")
E there is no way to know without executing this line of code (不执行这行代码就无法知道)
字符“//”表示注释的开始。该注释没有被编译,因此在执行此代码时不会发生任何事情。

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中的注释解释了为什么该指令出现在程序中。但当时我觉着可能a比较恰当,就选了a

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是合法的,其余都不合法)
Java编译器将空白(空格)作为实体之间的分隔符,所以Java编译器不会识别“static。当时觉着c{}中间有个空格,就以为是错的。。。

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”是完全合法的,尽管它不一定是一个好的标识符,因为它不是描述它的使用。因为在敲代码时候见过class ,而i是一个单独字母觉着应该是错的。

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虚拟机解释。这道题,错了不应该。

An error in a program that results in the program outputting $100 instead of the correct answer, $250 is (程序中的一个错误导致程序输出结果是$100而不是正确答案$250,这是)
A a programmer error (程序错误)
B a syntax error (语法错误)
C a run-time error (运行时错误)
D a logical error (逻辑错误)
E a snafu (混乱)
语法错误被编译器捕获,程序不能在不修复所有语法错误的情况下运行。运行时错误出现在程序执行过程中,并导致程序停止运行。逻辑错误是程序可以运行到完成的错误,但是给出了错误的答案。如果结果应该是250美元,那么这个程序的逻辑就错了,因为它输出了100美元。snafu是一个术语,它表达了战斗中混乱的情况,不应该被尊敬的程序员使用!
当时我觉着应该是语法错误,现在想想有语法错误他肯定会显示给我并让我去修改而不能运行的。

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是一个常量。这题我做的时候因为在练得时候一直有空格,所以就想命名时是不是也有空格。

A color image is broken down into individual pixels (points), each of which is represented by (一个彩色图像被分解成单个像素(点),其中每个像素表示)
A a 1 for white and a 0 for black (白色的1和黑色的0)
B 3 values denoting the intensity of red, green, and blue in the image (3个表示图像中红、绿和蓝色的亮度值)
C a single number indicating the intensity of color between white and black (一个单独的数字,它表示白色和黑色之间的颜色亮度)
D two numbers, a value that denotes where between white and black the color is, and a brightness (两个数字,一个表示白色和黑色之间的颜色,另一个表示亮度)
E none of the above, it is not possible to represent a color image (以上都不是,不可能表示一个彩色图像)
黑白图像是用0和1存储的,而彩色图像是用三个值存储的,一个是红色的程度,一个是蓝色的程度,一个是绿色的程度。这题,是真不会。

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”不是,因此编译器提供了一个语法错误。没有分清逻辑错误和语法错误。

Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)
A true
B false
Java源代码和Java字节码都不是可执行的。两者都必须被编译或解释为机器代码。Java字节码是有用的,但是它们是独立于机器的但是半编译的代码,它允许您的Java代码通过Internet传输并在另一台计算机上执行,即使其他计算机是完全不同的类型。

Reserved words in Java can be redefined by the programmer to mean something other than their original intentions. (在Java中,保留字可以被程序员重新定义,去表示不同于它们最初意义的其他含义。)
A true
B false
无法重新定义Java保留字。我以为保留字是可以重新定义的。

ps(中间来了一波十连错直接嘤嘤嘤啊哈哈哈)
技术分享图片

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

这周题目错的太多,主要是因为一直想着先慢慢练着敲代码,然后就把课本上知识看了一遍就放过了,没有多去复习着看,所以导致好多题目都是看着好像对又好像不对,这一周一定要多花点时间去看课本,然后也要抓紧时间去好好练习敲代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 180/180 1/2 25/25
第二周 312/414 2/4 20/45
  • 计划学习时间:20小时

  • 实际学习时间:20小时

参考资料

















































































































以上是关于20172330 《程序设计与数据结构》第二周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

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

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

20172330 2017-2018-2 《程序设计与数据结构》实验四报告

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

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

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