20172324《Java程序设计》第二周学习总结

20172324《Java程序设计》第2周学习总结

教材学习内容总结

  • 了解了字符串及其拼接和转义序列的使用。
  • Java的基本数据类型。
  • 定义数据转换类型和实现其转换的方法。
  • Scanner类程序。
  • 堆了一个雪人。

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

  • 问题1:在学习eg2.4的时候出现了这样一个问题,因为这一行代码有一点长,relationship需要分行,我按照书上的方法却发现编译出来的"relationship"其实是"re lationship"。
  • 问题1解决方案:我意识到虽然我利用+将不能在一排打完的字符串分行了,但仅仅限于字符串与字符串间,一个字符串内部是不能分行的。

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

  • 问题1:在编写temp程序时,检查了多遍编写内容是没有问题的,但是输出时一直提示错误,有一个错误是一不小心删掉了import的i,还有一个问题“需要class,interface或enum解决方案”不知道怎么办。

  • 问题1解决方案:主要是用非记事本编写代码文件,存在编码格式转换问题。重新先建一个记事本程序,然后把源代码粘贴到该文件下,用javac 类名.java编译,java 文件名运行该程序即可。这是由于Java文件的编码导致的问题。 通常使用“javac FirstSample.java”编译UTF-8编码的.java源文件。 没有指定编码参数encoding的情况下,默认使用的是GBK编码。 当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8编码文件的3个字节的文件头,按照GBK中汉字占2字节、英文占1字节的特性解码成了“乱码”的两个汉字。 这个源文件应该是用记事本另存为UTF-8编码
  • 问题2:在编写temp程序时参考了eg2.7,其中有一段是final int BASE = 32,final double CONVERSION_FACTOR = 9.0/5.0 后文中计算的是就没有出现数字而是BASE和CONVERSION_FACTOR,于是我就将这个也加到我编写的程序里,结果发现有语法错误根本不能保存成功。
  • 问题2解决方案:按照eg2.8的方法,第一步先定义华氏度的数值型,然后创建一个从键盘输入数据的Scanner类对象。算式的地方也规规矩矩的利用数据进行计算才能输出。
    我理解的是BASE和CONVERSION_FACTOR应该就是一种代替值,但是final代表着方法体内参数的值是不能被修改的,既不能重新赋值,就和Scanner类的功能冲突了,所以不能通过保存。

代码托管


(statistics.sh脚本的运行结果截图)

上周考试错题总结

  1. 当执行一个程序时,处理器从主存储器读取每个程序指令。
    解析:在执行程序之前,程序首先从辅助存储器加载到主存储器中,以便处理器不会因读取每条指令而变慢。
  2. 易变性是随机存储器的性质
    解析:易变形指的是存储的东西在断电后会消失。
  3. 通过引用地址直接获得存储项的能力被称为随机存取
    解析:随机存取(可以说成是直接存取)意味着任何项目都可以仅基于其地址进行检索。随机存取是RAM和ROM存储器使用的访问形式。磁带使用顺序访问。
  4. Java是一个 高级语言 第四代语言的例子。
  5. 在Java中,下列哪一条语法不合法?s t a t i c main(String[ ] args)
    解析:Java编译器会将空格视作实体之间的分隔符,因此编译器不会将”s t a t i c”视作“静态”
  6. 关于Java的语法和语义,下列哪一项是正确的? Java编译器可以判定你是否遵循正确的语法,但不能判定正确的语义。
    解析:所有语言的编译器都能检查语法问题,但是计算机不能理解语义。
  7. 下列Java命名规范中,哪个是关于“store customers”类的最佳命名? StoreCustomer
    解析:Java命名约定规定类应该全部以大写字母开头,并且多个单词名称应该以大写字母开头,而其余字符均为小写。 单词间不应有空格,或与“_”字符连接。
  8. 下面哪个是关于变量“current value of a stock”的最佳命名?currentStockVal
    解析:Java允许使用长变量名,但程序员必须在过长名称和名字太短以至于无法理解其使用之间找到妥协。
  9. 将“println”打印为“printn”将会导致语法错误
    解析; 如果Java编译器无法理解命令,则编译器无法将其转换并以语法错误进行响应。
  10. Java字节码是可以直接执行的,而Java源代码则不是。(x)
    解析:Java源代码和Java字节代码都不可执行。 两者都必须编译或解释为机器代码。
  11. 在Java中,保留字可以被程序员重新定义,去表示不同于它们最初意义的其他含义。(x)
  12. 下面哪个是合法的Java标识符? I
    解析:Java标识符有类库中自带的和程序员自己定义的,在自己定义的标识符中可以是任何字母、数字、下划线和$符,但不能以数字开头。

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

这一星期比起上周来少了很多初次接触的不知所措,取而代之的是需要读懂书本的内容。在这方面我的弱点就很明显了,因为我一直都是先看后面要求的实验,然后大概能做的就没有去深究,导致我上一次考试都不知道知识点的位置...错误得很离谱。找到了问题所在就要好好去改正,以后应该把书吃透了再去做实验,这样又快又准,还知道自己的问题到底在哪里。

学习进度条

代码行数(新增积) 博客量(新增积) 学习时间(新增积) 重要成长
目标 5000行 30篇 400小时
第一周 128/200 2/2 20/20
第二周 329/500 1/4 18/38

参考资料

posted @ 2018-03-18 00:30  amberR  阅读(198)  评论(7编辑  收藏  举报
/*头部导航栏*/ #navigator { font-size:15px; border-bottom: 1px solid #ededed; border-top: 1px solid #ededed; height: 60px;/*导航栏高度,原始50*/ clear: both; margin-top: 25px; } /*导航栏设置,可以自定义导航栏的目录*/ #navList { min-height: 35px; float: left; } #navList li { /*每一个栏目节点*/ float: left; margin: 0 5px 0 0; /*这里原来是0 40px 0 0 */ } #navList a { /*栏目文字的格式*/ display: block; width: 5em; height: 22px; float: left; text-align: center; padding-top: 19px; }