20172306《Java程序设计》第三周学习总结
教材学习内容总结
这一章主要学习了有关对象和类的用法。其中包括:String, Random, Math, NumberFormat, DecimalFormat,等。我觉得通过这一章的学习,对于自己在编写代码时,对于每条信息的是干什么的更加清晰了。而且在做后面的自测的题的时候,自己编写代码也可以很有条理的编写出来。这是我可以真切感觉到的一点进步。
教材学习中的问题和解决过程
- 问题1:我在看书的时候,总是弄不明白,对象和变量的区别。例如:String size = "name liu";
- 问题1解决方案:我个人认为,String是一个类,size是变量,后面的name liu是对象。但是我其实还是弄得不是很清楚,即使已经问了同学,但是,如果不仔细的分析,还是搞不清晰。
- 问题2:在学习Math类时,我对于它的很多条方法很蒙圈,因为也看不懂,所以也记不住。不光是Math类,其实学的这些,自己大致都是可以用的,但是就是还记不住,可能是英语不好的缘故。
- 问题2解决方案:对于这个问题,没什么好办法,慢慢记吧,而且,在照书编写的时候,才知道,原来在Math 类中Math.PI表示的是数学中的π。
代码调试中的问题和解决过程
- 问题1:在有关将数字变成货币格式的时候,我按照书中的例子做了,但是结果它显示的不是$而是¥。
- 问题1解决方案:一开始我以为是我在编写的时候,有某个代码更换了货币的符号。后来,问了学长,原来是我们最初安装虚拟机的时候,我们选择的地点就是中国,所以他会将货币符号改为中国的人民币符号。
- 问题2:我编写了一个代码,想要解答SR3.26的问题 ,然后我就编了这个代码最开始是没有括号里面的double的,结果出来的结果是这样的,这就让我很困惑,因为这个代码是可以编译成功的,只不过是运行失败了。
- 问题2解决方案:后来学长告诉我,应该有个括号里面有double,这样就不会丢失信息。
代码托管
上周考试错题总结
- 1.Consider the following statement: System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");This statement will output ________ lines of text (思考下面的语句,该语句将输出___行文本),这个是两行。这个问题我上次还弄明白了,结果又错了,然后我就自己编了一下,然后根据老师讲的\n,\t,\r自己画了一下,就懂了。
- 2.What value will z have if we execute the following assignment statement? float z = 5 / 10; (如果我们执行下面的赋值语句,得到的z将会是什么值?) 答案是0.0。5和10都是int值,所以5/10是整数除法。结果是0。尽管z是一个浮点数,并且可以存储真实的答案,0。5,它只会因为整数的除法而得到0。为了得到0.5,我们必须先把5或10作为一个浮点数。一开始我以为因为float是浮点数,所以结果就是准确的值0.5,但是后来才知道5和10都是整型数,进行除法也只有整型,后来才变成浮点型,所以才是0.0 .
- 3.What is output with the statement System.out.println(x+y); if x and y are int values where x=10 and y=5? (如果x和y是int类型的数值,x=10,y=5,那么语句System.out.println(x+y);的输出是什么?) 这道题的答案是15。这个题,我以前没有试过单有(x+y)的形式,我以为还是会将x和y代表的数字连在一起,所以我自己试了一下,发现是自己错了。 最后的结果是
- 4.If you want to store into the String name the value "George Bush", you would do which statement? (如果你想把"George Bush"这个值存储为字符串类型的名字,你会执行那条语句?) A . String name = "George Bush"; B . String name = new String("George Bush"); C . String name = "George" + " " + "Bush"; D . String name = new String("George" + " " + "Bush"); E . Any of the above would work (上述都可以完成)这道题选择第四个,前三个选项都可以,这个我是看了第三章的对于String的进一步讲解之后懂得的。
- 5What value will z have if we execute the following assignment statement? int z = 50 / 10.00; (如果我们执行下面的赋值语句,z将得到什么值?) A. 5 B. 5.0 C. 50 D. 10 E . none of the above, a run-time error arises because z is an int and 50 / 10.00 is not (以上皆错,因z是一个整型数而50 / 10.00不是,会产生运行时错误) 这道题,我以为是将double型自动成为了int型,但是看了答案才发现,由double变成int属于压缩类型转换,会产生错误。
- 6.强类型是一种编程语言的属性,在变量的存在期间,变量的类型不会发生变化,而存储在该变量中的任何值都属于那种类型。强类型的原因很重要,因为它保证了一个被成功编译的程序不会有与被声明的变量的类型错误相关联的运行时错误。这是有关强类型的题。我觉得这个解析可以很清晰的说明问题。
- 7.Boolean类型的变量将被存储为0或1,这个是错误的。书中写的是Boolean将被存储为true和false。但是其实这个地方,我有一点不是很明白,我们计算机就是运用二进制,只有0和1,那对于Boolean来说,只有两种选择,那么就是一个代表0一个代表1,所以我觉得这样说也是可以的,所以不是特别的懂。
- 8.The values of (double) 5 / 2 and (double) (5 / 2) are identical. ((double) 5 / 2和(double) (5 / 2)的值是相同的。) 这道题是错误的。这道题,我觉得(double)5/2是先取结果是2.5,5和2都是int型,所以取2,之后又换成double型,所以结果是2.0;而第二个,是2.5之后直接换成double型,所以结果应该为2.5;所以他们两个是存在区别的。
其他
我觉得这一周的内容不算是特别难,但是我这一周因为别的原因,异常的繁忙,很多代码都是大晚上才写出来的。听说,第四章的内容对于我们来说是核心,所以我对于第四周的学习,还是很紧张的,不知道自己是否能够很好的完成。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 193/200 | 1/1 | 20/20 | |
第二周 | 193/440 | 1/1 | 22/38 | |
第三周 | 445/895 | 1/2 | 20/60 |