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中
mkdir
week1 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 |
参考资料
---恢复内容结束---