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

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


2302学习总结博客目录:[1](http://www.cnblogs.com/hzy0628/p/8539037.html) [2](http://www.cnblogs.com/hzy0628/p/8584976.html) [3](http://www.cnblogs.com/hzy0628/p/8642935.html) [4](http://www.cnblogs.com/hzy0628/p/8671888.html)
## 教材学习内容总结

1.复习了上学期导论课程中与计算机相关的内容,包括计算机的软硬件、二进制、网络及各种组件等。

2.在书上新学到内容是因特网与万维网还有统一资源定位器(URL)的部分内容。

3.接下来就是涉及Java的部分,包括Java 的发展历史、使用情况及Java语言的简单介绍。

4.然后就是Java语言中一些基础的内容介绍,语句的应用及注释的用法还有标识符,保留字和空白符的介绍。

5.第5,6节主要讲了编程的语言及编辑器、编译器等,开发环境还有错误类型及面向对象的编程的一些特点。

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

  • 问题1:因特网、万维网区别还是没弄明白。

  • 问题1解决方案:从网上找到的答案,大概上有了了解。

  • 问题2: 在做练习题PP1.8时不懂b问题如何保证它每行一词且居中,不知道怎么进行。

  • 问题2解决方案:通过查看其他同学博客了解到 \n\t可以保证其居中显示。

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

  • 问题1:首先就是在代码托管中遇到的问题
    一直就是验证失败,无法进行绑定。

  • 问题1解决方案:最后就是碰运气不断地换着试用户名,当换成码云登录的账号时终于成功,之前用的一直是码云上的用户名。

  • 问题2:statistics.sh 脚本不会使用,不会修改权限

  • 问题2解决方案:通过同学帮助并查阅了相关的使用方法最后能够让其运行。

  • 问题3:在一次的代码推送中始终无法完成

  • 问题3解决方案: 通过自己查找相关资料采用 git push -f进行强制推送,上传成功。

代码托管

上周考试错题总结

  • 1.When executing a program, the processor reads each program instruction from (当执行一个程序时,处理器从main memory (主存储器)读取每个程序指令).
    解析:

当处理器执行程序时, 内存是一个临时存储设备,存储着程序和程序操作的数据。

而这里所说的内存也就是主存储器,所以说处理器是从主存储器读取程序指令的。
  • 2.It is important to dissect a problem into manageable pieces before trying to solve the problem because (试图解决问题之前,把一个问题分解成可控制的几部分是很重要的,因为) (A)
    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 (我们的第一个方案可能无法正确解决问题)
    解析:任何大问题都很复杂,很难简单地解决。 分解的问题,我们可以为每一件进行解决,设计相应的解决方案建立并集成块。

  • 3.Java is an example of a(n) (Java是一个E的例子)
    A .machine language (机器语言)
    B .assembly language (汇编语言)
    C .high-level language (高级语言)
    D .fourth generation language (第四代语言)
    E .both C and D (C和D都是)
    解释:误选C选项,认为Java不属于第四代语言,书上也没有明确给出第四代语言的定义。通过搜索其原意是非过程化程序设计语言,是针对以处理过程为中心的第三代语言提出的,希望通过某些标准处理过程的自动生成,使用户只说明要做什么,而把具体的执行步骤的安排交软件自动处理,因为Java是面向对象的,且属于高层次的语言,所以应该也属于第四代语言。

  • 4.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的独特之处在于bytecodes (字节码),它允许在一台机器上编译的代码在不同的硬件平台上执行) .
    解析:一个java程序,翻译的过程是先把它编译成字节码,这是体系结构中立的,这也说明了Java的代码是可以跨平台进行执行的。而字节码是由编译器产生的,只要安装 了Java虚拟机(JVM),就可以在不同环境下执行这些字节码。

  • 5.Which of the following is true regarding Java syntax and semantics? (关于Java的语法和语义,下列哪一项是正确的?) (A)
    A.a Java compiler can determine if you have followed proper syntax but not proper semantics (Java编译器可以判定你是否遵循正确的语法,但不能判定正确的语义)
    B.a Java compiler can determine if you have followed proper semantics but not proper syntax (Java编译器可以判定你是否遵循正确的语义,但不能判定正确的语法)
    C.a Java compiler can determine if you have followed both proper syntax and semantics (Java编译器可以判定你是否遵循正确的语义和语法)
    D.a Java compiler cannot determine if you have followed either proper syntax or semantics (Java编译器不能判定你是否遵循正确的语义或语法)
    E.a Java compiler can determine if you have followed proper syntax and can determine if you have followed proper semantics if you follow the Java naming convention rules (如果你遵循Java的命名规范,Java编译器就可以判定你是否遵循正确的语法,并且可以判定你是否遵循正确的语义)
    解析:书上内容记忆不到位。P28页:** 编译过程中,将检查程序是否符合所有的语法规则。如果程序有语法错误,则编译器将给出错误信息并且不会产生字节码。 **这也就说明了编译这一过程只会去检查程序的语言规则,而不会去对你的语义进行判定,只要语法符合规则,编译器就可以进行编译产生字节码。

  • 6.Following Java naming convention, which of the following would be the best name for a class about store customers? (下列Java命名规范中,哪个是关于“store customers”类的最佳命名?) (A)
    A.StoreCustomer
    B.Store Customer
    C.storeCustomer
    D.STORE_CUSTOMER
    E.Store-Customer
    解析:这道题我们采用对比排除法,Java的命名约定,一般都应以大写字母开始,多个字的名字应该保持第一个词的第一个字母大写,其余字符是小写。词语应连接在一起,没有空格,或者可以使用“_”连接。答案B和E是不合法的名称,答案C、D不符合我们一般的命名规则,所以只剩下A项。

  • 7.A color image is broken down into individual pixels (points), each of which is represented by (一个彩色图像被分解成单个像素(点),其中每个像素表示) (B)
    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 (以上都不是,不可能表示一个彩色图像)
    解析:这道题误选A项。黑色和白色的图像是用0和1的来储存的,彩色图像则是使用三值存储,一个代表红色的程度,一个代表蓝的程度,还有一个代表绿色度。

  • 8.Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。) ×
    解析:Java编译器将

其他

感悟

  • 从目前来说我觉得Java学习不算枯燥,自己设计的一些图形输出出来感觉不错,同时那些也是很简单的东西。对于一些问题解决有时也会烦躁,弄了好久都做不成,别人做的不需过多操作就可以完成,这应该是在此之前的操作中有错误,不断地出现问题。然后就是现在Vim的一些操作还是不够熟练,有的想用的记不起来,有的根本就想不起来要用,这个可能需要一个记忆练习的过程吧。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 157/200 1/2 15/20

参考资料:
《Java程序设计教程(第8版)》
https://www.zhihu.com/question/20597473
http://blog.csdn.net/h12kjgj/article/details/73435570
http://blog.csdn.net/liwenqiang77/article/details/70140766
博客园。

posted @ 2018-03-10 17:18  ◕‿◕  阅读(296)  评论(14编辑  收藏  举报
© 2018 GitHub, Inc.