学号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. 解决pycharm 提示no tests were found的问题

    在使用pycharm,做日志模块封装,代码中觉得没有问题,运行就提示no  tests were found 查询了下这个问题,原因是我创建的类名是以test方法开头,类似这样 不知道是不是把它默认当 ...

  2. BZOJ1334:[Baltic2008]Elect(背包DP)

    Description N个政党要组成一个联合内阁,每个党都有自己的席位数. 现在希望你找出一种方案,你选中的党的席位数要大于总数的一半,并且联合内阁的席位数越多越好. 对于一个联合内阁,如果某个政党 ...

  3. ORACLE 中rownum和row_number()的使用区别(可指定取sql结果集的第几个数据)

    这篇文章主要介绍了oracle中rownum和row_number()的使用方法以及区别和联系,十分的详细,有需要的小伙伴可以参考下.   row_number()over(partition by ...

  4. openstack neutron 简单理解

    分析1)位于最上层的Neutron Server充当一个门派中的“掌门人”角色(RESTful Server),负责接受来自外部门派(项目)的API请求,比如Nova API创建网络的请求.2)位于中 ...

  5. VC中TRACE ASSERT VERIFY之用法

    一.TRACE宏     当选择了Debug目标,并且afxTraceEnabled变量被置为TRUE时,TRACE宏也就随之被激活了.但在程序的Release版本中,它们是被完全禁止的.下面是一个典 ...

  6. Oracle中函数的使用

      1.decode () 例子:它的写法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函数也可以是数值,依据我们自己的情况来使用,它的含义是如果a=b,那么结果显示 ...

  7. oracle安装程序异常终止解决办法

    安装Oracle时总是会报程序异常终止,摸不着头脑,作为初学者一下就乱了分寸   工具/原料   Oracle软件包 win764位 方法/步骤     右击Oracle安装图标setup.exe,选 ...

  8. 添加一个js扩展方法

    String.prototype.repeatify=String.prototype.repeatify || function(times){ var str=''; for(var i=0;i& ...

  9. 3.3.2Qt的按钮部件

    #include "mywidget.h" #include "ui_mywidget.h" #include <QDebug> #include& ...

  10. bootstrap世界探索1——山川河流(文字排版)

    世界到底是什么?其实世界很简单,正所谓一花一世界,一树一菩提,世界就在我们身边.造物神是伟大的,在我看来无论是HTML,css,js都可以看作是一个世界,但是他们是构成宏观世界不可或缺的,正如IU框架 ...