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

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

教材学习内容总结

这一周的学习,我觉得我比上一周认真多了,而且我突然发现慢慢学习的过程中,以前有一些多余自己打出来的东西,有了更清晰的认识。在这次写作业的时候,我最开始还不会,但是可以知道自己错在哪和应该怎么改了,而不是完全按照书上的模板来做。而且这周,因为我很多东西不怎么理解,都自己编了一下,了解了解它的具体用途。而且,我有问题时,我的室友还会给我讲讲,我很谢谢他们。总之,我觉得这周收获很大。

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

  • 问题1:书上有一段是这样说的,一行变量声明语句可以同时声明具体相同类型的多个变量,同一行声明的各个变量,可以根据需要决定是否赋初始值。例如:
    int count,minimum = 0,result;我以为是count对0,minimum对result,然后我就编了这个,后来发现是不对的。

  • 问题1解决方案:我问了同学,又看了几遍这句话,才明白是自己理解错了。在我运行这个时,它就提醒我说我没有初始化变量count,当时我还不懂,后来才知道,书上要告诉我的意思是,我可以用一个int同时声明几个变量,也可以对变量进行赋值,而我对我的count并没有进行赋值。

  • 问题2:在2.3.3后面的自测题中,我有一个问题不知道如何解答。就是他问什么是基本类型的数据,它与对象有什么不同?

  • 问题2解决方案:我知道什么是基本数据的类型,但是不是很懂什么是基本类型的数据,所以这个问题我还没有解决。

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

  • 问题1:上一个博客中学长给我评论问我有关¥和$作为标识符的问题,然后这一周我自己编了¥的,发现确实是不可以的。我还编了$的,却发生了问题,依旧无法编译。
  • 问题1解决方案:嗯~首先我和老师上网找了,现在新的版本已经支持中文符号了,但是对于java这个语言来说,还是不提倡用中文符号的,还是按书上的那几种来说。我上一个有关$的是可以成功编译的。但是如果我用public class $liu 就是不可以的,这一点我不知道为什么,我就问了王老师。王老师说因为类名用$是可以的,但是文件名是不可以用$的,所以当我用这个符号的时候,是不可以把它变成文件名的,系统就会自动的把$后面的东西看成是一个变量,所以不可以。
  • 问题2:以前上传码云的时候,没有遇见这个问题,这次上传的时候遇到了。如图所示。
  • 问题2解决方案:我上网找了解决方法。网上找到了两种方法,第一种没有成功,所以用了第二种,git push -u origin +master,这是强制上传,然后我就上传成功了。
  • 问题3:我在老师讲课的时候,没有理解老师讲的 的含义,所以自己私下里自己编了一个 结果是这样的
  • 问题3的解决方案:我不明白它会成为这样的原因,于是我就问了老师,老师说,是因为它回车符将88覆盖了,因为 之后,会有缩进,之后会有88,但是当 时,会将光标回到开头,将88就覆盖掉了,只有keys了。在这个过程中,老师用自己的电脑给我分步骤运行了一下,其中出现了一些问题,特别奇怪,后来,还是发现不是老师讲的问题。而我的解释是对的。之后我又编了这个,对 更加深了理解
  • 问题4:对于Scanner的用法,我有一点不明白。
  • 问题4解决方案:这个问题,我在找老师的时候一起也学习了一下。Scanner scan = new Scanner(System.in);在这个中,Scanner相当于类,scan就像是对象。而后面的括号里的意思是,它要从你键盘输入的内容中获取信息。我还了解了nextLine ,nextInt,nextDouble的用法,其实就是将你键盘输入的内容赋到你所定义的变量上,为后面的输出做准备。我还学习了Scanner useDelimiter的用法。以下是我自己尝试编的一个。

代码托管

上周考试错题总结

首先我对于我的错题总结,我认为我不够用心,因为再看错题的时候,我发现基本都是书中的内容,还有的是自己的理解。我觉得自己不够用心,对于看书自己的态度不好,这是我的问题,我以后会改正。

  • 1.java程序被归为软件类最合适。解析的翻译是:程序被分类为软件,以区分它们与计算机(硬件)的机制。存储和处理器是两种硬件,而输入是程序处理的信息。书上写的是,软件包括程序和程序执行所需要的数据。java是一种程序,所以应该属于软件。
  • 2.易变性是RAM的性质。解析的翻译是:波动意味着,如果电源被关闭,内存的内容就会丢失。这是RAM(随机存取存储器)的真实情况,但不是ROM(只读存储器)或磁盘。软件和计算机网络不是记忆的形式。做题时我没有理解这个易变性是什么意思,看完答案之后,我才知道,易变性大概就是它储存的东西不稳定,这个符合随机存储器的特点。
  • 3.通过引用地址直接获得存储项的能力,被称为随机存取。解析的翻译是:随机存取是指访问任何物品都是同样容易的,并且任何物品都是基于它的地址来检索的。随机访问是RAM和ROM内存使用的访问形式。磁盘访问,称为直接访问,是一个类似的想法,直接和随机访问有时也被称为同义词。顺序存取被磁带使用。通过这道题,知道了,按照存储方式分按存储方式分 ,存储器可以分为随机存储器和顺序存储器。两者的区别是:随机存储器可以在任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关,而顺序存储器只能按某种顺序来存取,存取时间和存储单元的物理位置有关。对于只读访问,我认为意思就是只可以看的东西,而完全权限是可以在里面进行操作。
  • 4。试图解决问题之前,把一个问题分解成可控制的几部分是很重要的,因为大多数问题太复杂,以至于不能作为一个单独大型的活动来解决。
  • 5.java是高级语言和第四代语言。这道题是我看题没看全,所有错了。所有的语言都要翻译成机器语言
  • 6.注释是有深刻见解并解释指令的意图是什么。书中写,注释是程序员唯一可以随意使用并独立于代码的语言特性。程序员通过注释表达自己的想法及做出相关的解释,注释应当揭示程序员编写程序的初衷和意图。被注释的代码在程序运行时是不会被运行的。
  • 7.java程序中的主方法是程序是从这个位置开始运行的。而private static main(String[ ] args)不是主方法是因为private是私有的不是public公共的。
  • 8.解析的翻译是:Java标识符不能包含字符“!”在他们的回答中,C、D和E都是错的。“类”这个词在Java中是一个保留的词,不能用作标识符。标识符“i”是完全合法的,尽管它不一定是一个好的标识符,因为它没有描述它的用法。书上说,标识符可以分为三大类,class是编程语言自身保留用于特殊用途的单词。
  • 9.Java的独特之处在于其字节码,它允许在一台机器上编译的代码在不同的硬件平台上执行。解析的翻译是:java程序的翻译过程是首先将其编译成代码库,这在体系结构上是中立的(也就是说,无论体系结构平台是什么,都可以使用它们)。要执行这个程序,必须由Java编译器进一步编译,或者由Java虚拟机解释。这个在书上可以发现,我当时看的不够仔细。
  • 10.Java编译器可以判定你是否遵循正确的语法,但不能判定正确的语义。解析的翻译是:所有语言的编译器都有检测语法错误的能力,因为不恰当地使用语法导致了编译器不能正确地翻译代码的情况。然而,编译器无法遵循程序的语义,因为这需要一定程度的理解程序要做什么,计算机没有理解的意思(至少在这一点上)。我认为语法可能就和英语一样,如果错了这句话就错了,但是语义是理解的方面而计算机还没有理解这个功能。
  • 11.Java命名约定表明,类都应该以大写字母开头,并且多个单词的名称应该以大写字母开始每个新名称,而其余的字符则比较小写。单词应该在没有空格的情况下连接在一起,或者连接到“字符”。答案B和E不是合法的名称,并且使用Java命名约定,C可以作为一个变量名,D可以作为一个常量。这是有关类的命名的题目。我觉得解析说的很有价值。
    -12.Java源代码和Java字节码都不是可执行的。两者都必须被编译或解释为机器码。Java字节码是有用的,但是它们是机器独立的,但半编译的代码允许你的Java代码在因特网上传输并在另一台计算机上执行,即使那台计算机是完全不同的类型。

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

这周的学习,我对自己所编的东西有了更多的认识,基本知道每个东西是干什么的了。还遇到了一些很奇葩的问题,所以觉得收获很大。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 193/200 1/1 20/20
第二周 247/440 1/1 22/38

参考资料

1.Java学习笔记(第8版)
2.《Java学习笔记(第8版)》学习指导

原文地址:https://www.cnblogs.com/lc1021/p/8551586.html