java第二次作业
*JAVA第二次作业
**(一)学习总结
***1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法。举例说明equals方法和的区别。
***equals使用方法:
***equals方法代码:
***equals对比的是内容;对比的是地址。
***2.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么?
***构造方法是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,它的功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。
构造方法的重载则是在创建对象时,系统会自动根据所调用的构造方法中包含的参数类型,个数,选择匹配的构造方法创建对象
不能通过编译,原因:没有在有参构造方法中传递一个参数,应在Foo obj = new Foo()中添加一个参数,如:Foo obj = new Foo(100); ,可通过编译。
***3.运行下列程序,结果是什么?查阅资料,分析为什么。
***结果不是0.3,因为浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度。因此,产生的结果接近但不等于想要的结果。
***4.运行下列程序,结果是什么?分析原因,应如何修改.
不能按照数组的方式来定义多个对象,会出现赋值失败。把MyClass[]改为MyClass;把MyClass[3]改为MyClass();.
***5.在一个10000次的循环中,需要进行字符串的连接操作,那么,应该使用String类还是StringBuffer类,为什么?性能有差异吗?能否写出测试代码证明你的结论。(可查阅资料)
***当拼接次数多的时候,使用String方法会消耗大量的性能和时间,因为每次String拼接时都会建立一个新的对象,随着拼接次数的增多,性能消耗、时间消耗会大量增加,这个时候应该使用StringBuffer方法。


**(二)实验总结
***1.设计思路:创建一个二维数组score[][],score[i][]是五个选手,score[][j]是十个评委,然后在j循环中找出和最高分和最低分,在总和中去掉输出;然后在i循环中依次输出选手得分。
没有问题
***2.设计思路:输入字符串,判断字符串中是否含有@和.,若果没有,直接退出;若果有,进行用if进行接下来的判断
***实验问题:不会使用endsWith,通过请教,学会使用。
***3.设计思路:输入字符串,两个文件名应用,隔开(用split),然后把字符串转化成字符数组,用第一重循环进行首字母的大写,然后再将字符数组转化为字符串,用第二重循环判断文件类型名出现的次数,并且输出文件类型名和出现的次数;
***实验问题:觉得不应该在输入的时候手动用,隔开;
***4.设计思路:输入字符串,用substring取指定位置的字符串,再用Interger.parseInt将其转化为整型,然后与进行if的比较;(注意在身份证中生日信息中要考虑31天的月,30天的月,28天的月,29天的月)。
***实验问题:觉得程序太麻烦。
**三 代码托管

**四 学习进度条
| 代码行数(新增/累积) | 学习时间(新增/累积) | 本周学习内容 | |
|---|---|---|---|
| 目标 | 5000行 | 300小时 | |
| 第2-4周 | |||
| 第5周 | 350/500 | 20/30 | 学习了整型和字符类型的转换,对字符串的各种操作 |
浙公网安备 33010602011771号