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

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

教材学习内容总结

  • 1.字符串的概念以及拼接。
  • 2.println方法和print方法的用法和区别
  • 3.转义序列的概念和用法。
  • 4.变量常量和赋值语句的相关内容。
  • 5.8个基本数据类型。
  • 6.表达式的概念,算数、自增自减、赋值三种运算符以及运算符优先级。
  • 7.数据类型转换的安全性以及三种技术。
  • 8.最最重要的Scanner类!!!

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

  • 问题1:字符串与数字拼接和数字运算的区分。
  • 问题1解决方案:我本身总结了一下。若是是数字拼接则至少有一个是字符串,会有两种形式:1.数字放在字符串中,也就是双引号中。(代码形式,举个例子:"Letters in the Hawaiian alphabet:12")2.字符串+数字或者数字+字符串的形式。(代码形式,举个例子:"Speed of ketchup :"+40或者40+"km per year")。若是是数字运算则操做数都为数值型,也就是把数字+数字用括号括起来。(代码形式,举个例子:"24 and 45 added:"+(24+45))
  • 问题2:制表符的做用和空格有什么区别。
  • 问题2解决方案:制表符通常是8个空格,并且制表符遇到特殊状况会自动缩进,总的来讲,制表符比空格方便并且整齐。
  • 问题3:
    b说都是int型,可是e又说他是final型,它究竟是啥型。
  • 问题3解决方案:它属于int型也属于final型是从不一样角度去分析而获得的。
  • 问题4:自增自减运算符的优先级。
  • 问题4解决方案:独立使用在一条语句中时,前缀形式和后缀形式是同样的。(举个例子:++count和count++)在复杂的表达式中,前缀是先把变量+1而后赋值,后缀是先赋值最后把变量+1(举个例子:count是5,total=++count则count是5+1=6,total也是6;total=count++则total是5,count是5+1=6)
  • 问题5:操做数除法的运算出的结果的数据类型。
  • 问题5解决方案:两个操做数都是整型数则结果为整型数;若是操做数中含有一个浮点型值则结果为浮点型值。

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

  • 问题1:html

  • 问题1解决方案:在以前已经声明过变量value了,因此不须要int value=age;只须要直接value=age;,若想打int value=age;则应把以前的int age,value;改成int age;
  • 问题2:java

  • 问题2解决方案:在A=scan.nextInt;后面忘记打()了,B和C的也是这个缘由。
  • 问题3:有些数字的计算结果有误。
  • 问题3解决方案:我查询IEEE 754 浮点数舍入后,只能了解到与浮点数的精确度有关,变量不一样的浮点数精确度不一样,好比double与float的精确度就不一样,因此致使结果显示的不一样,还有有四种舍入方法,不一样的方法对应的数据类型不一样。可是具体的舍入方法就不是很能理解。
  • 问题4:
  • 问题4解决方案:语句不能想固然的用,好比nextChar就没有这个= =
    改为这样就能用了,就是多输几行代码的事。
  • 问题5:得出的结果不对。
  • 问题5解决方案:声明分数时应用浮点数。修改:
  • 问题6:不知道怎么让小数表现出跟整型数同样的效果。(= =解决方案贼简单,可是当时就是没想到,这一个题卡了我将近一个点!)
  • 问题6解决方案:一位小数乘10,两位小数乘100啊!只要把小数点移到最后一位数字以后,就是把小数化成整数了,就能用整型数表示啊。(我知道答案的那一刻,忽然以为本身导论白学了,很气但仍是要保持微笑!)最终成功的截图git

代码托管

上周考试错题总结

  • 1.A Java program is best classified as (一个Java程序被归为___类最合适)
    A . hardware (硬件)
    B . software (软件)
    C . storage (存储)
    D . processor (处理器)
    E . input (输入)
    答案是B,我选的E。解析:程序被分类为软件,以区别于计算机(硬件)的机制。存储和处理器是硬件的两种形式,而输入是程序处理的信息。本身的理解:程序属于软件,程序中的信息才属于输入。
  • 2.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 (能够是以上这些中的任何一个)
    答案是D,我选的是E。解析:程序在执行前从辅助存储器加载到主存中,以便经过读取每条指令不减慢处理器的速度。这种在内存中执行程序的想法叫作存储程序计算机,是20世纪40年代约翰·冯·诺依曼独创的。本身的理解:为了保持运行的速度,处理器都是从主存储器中读取指令的,因此别的指令都是要先加载到主存储器中,才能被处理器读取。
  • 3.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 (易变性)
    答案是A,我选的E。随机存取就是直接存取。
  • 4.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 (以上皆是)
    答案是A,我选的C。解析:任何有趣的问题都很复杂,很难简单地解决。经过分解问题,咱们能够为每一块创建小的解决方案,而后集成这些碎片。答案D是正确的,但这并非咱们将问题分解成碎片的缘由。本身的理解:= =书看的不认真,光知道个大概,可是具体的字词不清楚。
  • 5.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,我选的E。说实话,这道题我也不知道我为啥选错了,由于我本身的记忆中我选的是B,多是手滑点错选项了(尴尬又不是礼貌的微笑)。A选项注释不必定非得是英语。C选项不是仅仅,在容易理解的代码中也能够用注释。D选项我认为它包含的太少了。
  • 6.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 (没有意义的指令)
    答案是C,我选的是A。注意题目中有最好两个字,因此这道题应该选最合适的。A选项有点重复啰嗦,没有C选项简洁明了。
  • 7.Which of the following is a legal Java identifier? (下面哪一个是合法的Java标识符?)
    A . i
    B . class
    C . ilikeclass!
    D . idon'tlikeclass
    E . i-like-class
    答案是A,我选的B。这道题应该理解为合法的自定义Java标识符。B是已经规定好的保留字。自定义标识符的要求:能够包含数字,英文,下划线和美圆符号,可是不能以数字开头。因此C,D,E都是错的。
  • 8.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
    答案是C,我选的A最佳命名方式。A不够完整不能表示全意思,B太长了,D过短了和E不够完整。最佳命名方式,在过长和太短的命名中找到一个合适的命名。若找不到,则用长命名。
  • 9.Java byte codes are directly executable whereas Java source code is not. (Java字节码是能够直接执行的,而Java源代码则不是。)
    A . true
    B . false
    答案是B,我选的A。Java字节码和Java源代码都须要转换成机械语言,Java字节码不属于机械语言。(这题错仍是对书的理解不到位!)
  • 10.The word "Public" is a reserved word. ("Public"是一个保留字。)
    A . true
    B . false
    答案B,我选的A。Java语言对大小写是很敏感的,应该是public是保留字,看题不认真,没有发现P是大写。
  • 11.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都是)
    答案是E,我选的C。解析:java是第四代中建立的,它显然也是一个高层次的语言。机器语言是机器可执行的语言,编写的程序在0和1只。汇编语言,用助记符。第四代语言是封装在程序内部的工具,这样用户就能够灵活地编写程序中执行的代码。我本身是没在书上找到,当一个概念记吧=。=。

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

首先关于此次考试,我有很大的感觉。我对于书的理解仍是不够,对于一个概念不能向深处理解,而后是对于审题,粗心这个毛病,大学了怎么还没改掉!最重要的是,要增强英语学习了!下下次考试全英文,一首凉凉送给本身。
而后关于此次的学习,我以为书上例题真的很重要,首先知道了一些语句的用法,而后还能多熟悉操做。
最后我在作pp时,会把一些语句改变顺序,而后会发现有一些语句不能改顺序,有一些则能够改。并且经过作pp会发现不少本身记得不清楚的知识点,而后再经过翻书查找,加深对它的理解。
这章看完,我才以为本身开始迈入编程的大门,就一个交互式程序本身琢磨了好久,才搞明白怎么回事,估计后面会愈来愈难,须要花费的精力也愈来愈大,可是!感受有压力才有动力啊。
不过总的而言,我以为这周的学习状况会比上周有所好转。编程

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 182/182 1/1 10/10
第二周 458/640 1/2 15/25
  • 计划学习时间:20小时安全

  • 实际学习时间:15小时数据结构

  • 改进状况:首先很明显的是代码量比上周提高了,学习时间也提高了,可是依旧没有达到计划学习的时间。less

参考资料

相关文章
相关标签/搜索