学号20155308 2006-2007-2 《Java程序设计》第3周学习总结

教材学习内容总结

对象(Object):存在的具体实体,具有明确的状态和行为

类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

类是对象的设计图,对象是类的实例,生成对象要先定义类

  1. == 与 equals的区别?==比较的对象的地址,equals 是逻辑上相等。
  2. 构造方法决定类生成对象的方式
  3. 封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。
    通过构造方法(构造函数)封装初始化流程,
    通过成员方法(函数)封装操作,
    通过成员变量封装数据。
  4. 为了让Java 基本类型像类一样使用
基本类型
int Integer
long Long
byte Byte
float Float
double Double
boolean Boolean

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

思考题:

  • 举例说明什么是浅拷贝与深拷贝?

对于深拷贝与浅拷贝,我之前没有遇到过,所以我上百度查了一下,了解到:浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象。
http://www.cnblogs.com/shuaiwhu/archive/2010/12/14/2065088.html

  • 你遇到过乱码的情况没?有的话如何解决问题的?

我一般遇到乱码的时候是自己在程序之中加入了汉字,在编译的时候莫名其妙地会产生乱码,所以我的解决方法比较简单,重新打一遍就好了。但是我觉得在今后的学习中可能会见到更多乱码的情况,所以我查了一下发现其实发生乱码的情况还是很多的。
http://jingyan.baidu.com/article/fedf07377d163e35ac8977d5.html

  • C语言中怎么实现数字与数字字符串的互换,如:123->“123”, “123”->123?

int atoi(const char *nptr);// aoti("123")->123

char itoa( int value, char string,int radix);// itoa(123, str, 10)->"123", str=="123"

  • Java中怎么实现数字与数字字符串的互换,如:123->“123”, “123”->123?

int atoi(String nptr)

String itoa(int value, int radix)

课程学习问题:

  • p84 Field.java: 访问对象的成员变量sun == spring?

答:不相等。

  • 课本P88提到了java.util.Scanner和java.math.BigDecimal,这些类中有哪些方法?

答:扫描输入文本,可以任意地对字符串和基本类型的数据进行分析。Scanner对每个基本类型都有个相对应的next###()的方法(例如nextByte(),nextShort(),nextLong(),nextFloat(),nextBoolean())。

  • p104 CopyArray.java: 数组复制
    怎样证明修改score2不影响score1?

答:printf score1,再和之前输入的scores1进行对比,就会发现score1没有改变。

  • p108 Sum.java: 字符串转成数字
    parseLong的功能?nextLine的功能?

答:parseLong将number剖析为long整数。
nextLine()这是一个更加方便的功能,直接取得用户输入的整行文字。

  • op1.add(op2).add(op3).equals(result)是什么用法?

答:由于BigDecimaladd()等方法都会返回代表运算结果BigDecimal,所以直接利用BigDecimal再调用add()方法,最后在调用equals()比较BigDecimal实质上是否相同。

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

解决方案:不要到命令行下运行!运行不出来。

代码托管

  • 代码提交过程截图:

%an, %cd : %s" 并截图

  • 代码量截图:

上周考试错题总结

  1. 填空:Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name .java -ctime 2)。
    这道题我又错了一次,这次是因为自己没有注意题目,同时也反应了自己对于文件查找这方面的不足。*
  2. byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)
    a+b的类型是int型,如果要是想要输出byte型,要强制转换。
  3. 0.123 == 1.23e-2 (X)
    这道题我还是不明白为什么是错误的......
  4. 判断:教材P51,第8 题 ,执行命令 java –cp classes cc.openhome.Main 和cd classes; java cc.openhome.Main;cd .. 等价。(OK)
    这一题是前几章的问题,说明我对前几章的学习有所放松,应该及时多加复习。
  5. Java中,非零数字等价于true.(X)
    这是C语言中的说法,在java中没有这样的说法。不能拿固有想法来判断。

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

我认为这周的学习任务还是比较重的,而且有很多新的事物需要接受。首先对于java中有基本类型和类类型两个类型系统,而java的学习几乎都在使用对象,所以定义类的学习就比较重要了。同时在学习中,我发现了类的学习与C语言有很大的不同,虽然整个程序的编程思想是一样的,但是java中有很多新的名词,例如关键词new等,这是我们学习所要注重的重点。

学习进度条

代码行数(新增积) 博客量(新增积) 学习时间(新增积) 重要成长
目标 5000行 30篇 400小时
第三周 200/200 2/2 20/20 深入学习了java
  • 计划学习时间:15小时

  • 实际学习时间:20小时

  • 改进情况:我的学习时间没有变化,但是感觉时间还是没有足够,因为这周的学习还是比较重的,下一次应该多加一些时间学习。

有空多看看现代软件工程 课件 软件工程师能力自我评价表

参考资料

学号20155308 2006-2007-2 《Java程序设计》第3周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 学号20145303 《Java程序设计》第一周学习总结

    学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...

  3. 学号20145322 《Java程序设计》第一周学习总结

    学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...

  4. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  5. 201521123061 《Java程序设计》第九周学习总结

    201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1 ...

  6. 201521123038 《Java程序设计》 第九周学习总结

    201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  7. 201521123045 <java程序设计>第11周学习总结

    201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问 ...

  8. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  9. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  10. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

随机推荐

  1. 阿里八八“好记”——UML设计

    团队分工 叶文滔:软件整体框架部分 俞鋆:后端数据库部分 王国超:日程多日显示部分 黄梅玲:日程详细显示部分 张岳.刘晓.李嘉群:用户部分 UML设计 整体框架 用例图 类图 活动图 状态图 数据库部 ...

  2. solrCloud相关的管理命令

    创建新集群(创建一个索引库) http://192.168.72.141:8080/solr/admin/collections?action=CREATE&name=collection2& ...

  3. 利用Fiddler2和Proxifier分析你用的中国菜刀是否带有后门

    为了避免自己辛辛苦苦拿下的站点被一些拿来主义者不费吹灰之力就据为己有,下面来教大家如何检测菜刀有没有留后门. 对于有没有后门这个问题,大牛们会说抓包看一下就行了,那如何抓包呢?有很多软件可以,这里使用 ...

  4. Python中根据提供的日期,返回是一年中的第几天

    # coding = utf-8 import datetime dd = raw_input("Please enter date , format is YYYYMMDD:") ...

  5. 4、集合set的功能介绍

    集合是易变(可改变)和无序聚集.集合set支持迭代,很像无值(或仅有键的)字典,用花括号表示{}.   1.集合的创建: 可以通过调用内建函数set()来创建,及向其传递一个迭代,该迭代的项目成为形成 ...

  6. 最大传输单元MTU

    http://baike.baidu.com/link?url=mU41JFjZzOb3R5crQFCNdocT5ovAswcoIqL2A4U6O5Re_U0-HIYndHG0vSKwc6HbptvH ...

  7. MySQL 事务没有提交导致 锁等待 Lock wait timeout exceeded

    java.lang.Exception: ### Error updating database.  Cause: java.sql.SQLException: Lock wait timeout e ...

  8. Git打Tag相关操作

    一.打标签 git tag -a 0.1.3 -m “Release version 0.1.3″ 详解: git tag 是命令 -a 0.1.3是增加 名为0.1.3的标签 -m 后面跟着的是标签 ...

  9. JSTL的下载和配置

    1,首先在输入网址http://www.oracle.com/technetwork/java/jstl-137486.html 2,单击红色图标所示 3,单击Download 4,单击JSTL Im ...

  10. git 设置只输入一次用户名和密码

    https方式每次都要输入密码,非常不爽 按照如下设置可只输入一次 记住密码(默认15分钟): git config --global credential.helper cache 自己定义时间(一 ...