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

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

教材学习内容总结

  • 随机数,记住要返回的是指定的字符前一个。
  • String类型的一些用法,例如concat(连接),toUpperCase(转换为大写),replace(‘E’,‘X’)(把E替换为X),substring(3,30)(从索引3到索引29)
  • Math类,特别的,书上给出的除了Math.abs是整型的,其他的都是浮点型的。
  • NumberFormat类(调用静态方法请求一个对象)和DecimalFormat类(采用传统方式实例化,即用new运算符创建对象)的区别。
  • 接触了IDEA

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

  • 问题1:char charAt(int index)返回索引处的那个字符是什么意思。
  • 问题1解决方案:自测题SR3.7解决了我的问题,题中说String s1=”Foundations” System.out.println(s1.charAt(1));其用法为返回指定引索处的那个字符,charAt(1)指的是单词foundations的第一个字符,即“o”。
  • 问题2:Math.PI是什么意思。
  • 问题2解决方案: PI 属性就是 π,即圆的周长和它的直径之比。这个值近似为 3.141592653589793。

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

  • 问题1:在码云中学长指出的排版不清晰问题。

  • 问题1解决方案:在虚拟机中重建目录(在src中mkdirweek1 week2 week3这样子,bin同理)并将文件移入,最后git push一个代码到码云中就可以更新目录。

  • 问题2:昨天更新了目录后,今天在码云里重命名了一个文件夹…结果就不能再从虚拟机里面push上去了。

  • 问题2解决方案: 原因是因为码云和虚拟机里面的东西重复了,如果再次push的话就会提示共享的分支错误(大概是这个意思把我忘记截图了哭!)。最后的解决办法是把虚拟机中我创建的文件删除,然后从码云上克隆下来,再在虚拟机上用git clone进行复制。悲伤的事情是,我并没有把每一个代码都上传到码云上,导致我现在…真的很悲伤!还好有idea让我的输入过程变得幸福一点。

  • 问题3:一个有关于计算两点距离c的代码,最后一个命令要输出从c的值System.out.println(“c = ”);后等于符号后面为空白。

  • 问题3 :很尴尬a!真的很尴尬应该是System.out.println(“c = ”+ c);没得说!记住就可以了。

  • 问题4:如图所示,出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space的报错。

  • 问题4解决方案:简单来说substring出的来String小对象,仍然会指向原String大对象的char[],所以就导致了OutOfMemoryError问题。解决方法:java.lang.String的substring、split方法引起的内存问题

代码托管

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

上周考试错题总结

1 .如果我们执行下面的赋值语句float z = 5 / 10;,得到的z将会是什么值? z将等于0.0
分析:5 / 10是属于整型,得出结果应该是0,又因为float是浮点型,所以结果应该0.0。
2. 下列哪种情况需要强制转换?将一个float类型的数存储为int类型
分析:float转换为int型是为压缩型,需要强制转换。
3. 假设x、y和z都是整型数(int),分别等于50、20和6。那么x / y / z的结果是什么?0
分析:50/20/6=5/12 因为结果应为整型,所以结果是0。
4. 如果x和y是int类型的数值,x=10,y=5,那么语句System.out.println(""+x+y);的输出是什么?105
分析:没有空格!没有!没有!!!
5. 如果你想把"George Bush"这个值存储为字符串类型的名字,你会执行那条语句?
String name = "George Bush";
String name = new String("George Bush");
String name = "George" + " " + "Bush";
String name = new String("George" + " " + "Bush");

6. 如果我们执行下面的赋值语句int z = 50 / 10.00;,z将得到什么值?得不到
分析:z是一个整型数而50 / 10.00不是,会产生运行时错误。
7. 为了创建一个常量,你会使用下列Java保留字中的哪一个?final
分析:书上p45, “在Java中,如果声明一个标识符时使用了保留字final,则该标识符将定义为一个常量”
8. 如果a、b和c是int类型的变量,a=5,b=7,c=12,那么语句int z = (a * b - c) / a;得出的z等于4。
分析:不需要四舍五入,只有扩展类型转换时因为有可能损失最低位有效数字,才应该按照IEEE754浮点数标准的舍入。
9. Boolean类型的变量将被存储为0和1。(x)
分析:悲伤,我以为true和false就是用0和1标识的。
10. 你不能将字符串强制转换为char类型,也不能将一个字符串强制转换为int、float或double类型。(x)

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

这一周没怎么截图…写起博客来困难了很多,不过因为问题也很多…主要是书上的内容有点多,看得懂也会操作,但是一关上书就什么都记不住了,用法和语句变得很混乱,自己做实验的时候只能不停的翻书。不过很好的,这一周下载了idea,情况就好多了,Tab键的补全功能大大提高了编写代码的速度,任然没有改变陌生程度。

学习进度条

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

参考资料

---恢复内容结束---

原文地址:https://www.cnblogs.com/amberR/p/8635939.html