20155302 2016-2017-2 《Java程序设计》第3周学习总结

教材学习内容总结

两个基本的标准类:java.util.Scanner与java.math.BigDecimal

当参数名与数据成员同名时要用this表示,如将color参数的值指定给这个对象(this)的color成员。

Scanner对每个基本类型都有对应的方法,如:nextByte()、nextShort()、nextLong()、nextFloat()、nextDouble()、nextBoolean()。

关于1.0-0.8的结果不等于0.2的问题:Java遵守IEEE754浮点数运算规范,使用分数与指数来表示浮点数,为了得到更好的精确度,可以使用java.math.BigDecimal类。BigDecimal提供plus()、substract()、multiply()、divide()等方法。

当=用于基本类型时,是将值赋给变量,当==用于基本类型时,是比较两个变量储存的值是否相同。如果在操作对象,=是用在指定参考名称参考某个对象,也就是说=使用在将某个名牌帮到某个对象,而==是用在比较两个名牌是否绑到同一对象。

J2SE 5.0 开始支持了自动装箱、拆箱。用Integer打包int类型数据,方法之一是用new创建Integer实例,传入int类型数据。compareTo()方法,如果打包值相同就返回0,小于传入对象就返回-1,否则就是1。

数组的复制方法现在至少有四个思路:

  1 使用循环结构 这种方法最灵活。唯一不足的地方可能就是代码较多

  2 使用Object类的clone()方法, 这种方法最简单,得到原数组的一个副本。灵活形也最差。效率最差,尤其是在数组元素很大或者复制对象数组时。

  3 使用Systems的arraycopy这种方法被告之速度最快,并且灵活性也较好,可以指定原数组名称、以及元素的开始位置、复制的元素的个数,目标数组名称、目标数组的位置。

  4 Arrarys类的copyOf()方法与copyOfRange()方法可实现对数组的复制

封装: 面向对象里面类的提出就是为了实现封装,我们将一类同样的对象的一些相同或相似的属性及方法抽象出来,封装在一起就实现了封装。封装的目的就是为了实现一些数据及方法的内部隐藏(通过修饰符来实现),并提供一些通用的方法供外部使用,而具体的内部实现细节无需对外公开,加强了安全性。封装类要注意一下几点:
1.类里面一般都要提供一个或多个构造函数,构造函数可以重载。一旦提供了有参数的构造函数,那么最好提供一个无参的构造函数,即使是空函数也好。因为下面讲到的继承发生时,总是先运行父类的构造函数,如果需要运行无参的父类构造函数而找不到的话就会报错。
2.在类里面可以通过this关键字来指向自身。
3.类里的属性一般都设置成private隐藏,如果需要外部访问或设置,可以通过get/set方法实现。

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

java中的函数(方法)是不是可以封装成对象?

-解答:自然可以,而且实际上已经封装好了。具体可以参考java.lang.reflect.Method

一个类的成员变量被封装起来,可以在创建对象的时候直接赋值吗

-解答:构造函数可以初始化变量,这个我们都清楚。
但是很多时候我们在构造函数中给私有变量赋值时,会直接给私有变量赋值,这其实就破坏了Java的封装特性。
一般正确的做法是在构造函数中调用set函数给私有变量进行赋值。

还有一点需要了解的是,我们赋值可以在创建对象的时候赋值(使用构造函数),也可以在创建对象后进行辅助,
但是,当我们创建一个对象,并且该对象创建完后不能对他再进行更改的时候,就必须在构造函数中赋值

https://git.oschina.net/bestiisjava2017/yxc20155302/tree/master/src?dir=1&filepath=src&oid=75bf5051cb425e3e61d1cda464c4601f7f361bd7&sha=3bd6d3da6d854a8d83ed794b83221b4b24ef7a2f


上周考试错题总结

1、0x10%9 的结果是( 7 )解析:0x为16进制,0x10为16 ,16%9=7;
2、Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)。
3、~0b1011的十进制值是(-12)
计算机的一个byte为8位,1011存放为00001011,取反后得11110100,因为最高位为1,所以该数为负数,因此该数各位取反,末位加一后得10001100,即-12

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 2/2 20/20
第二周 140/160 2/4 18/38
第三周 113/273 1/5 20/58

20155302 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章

  1. 20155302 2016-2017-2 《Java程序设计》第九周学习总结

    20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...

  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  3. 20155328 2016-2017-2 《Java程序设计》第九周学习总结

    20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...

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

    20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...

  5. 20155320 2016-2017-2《Java程序设计》第九周学习总结

    20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

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

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  8. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  9. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  10. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

随机推荐

  1. except but

    He didn't speak anything but Greek... 他只会说希腊语.The crew of the ship gave them nothing but bread to ea ...

  2. Spring配置文件中的parent与abstract

    在看项目的Spring配置文件时,发现消息队列的配置采用了继承方式配置Bean,在这梳理总结一下. 其实在基于spring框架开发的项目中,如果有多个bean都是一个类的实例,如配置多个数据源时,大部 ...

  3. H3C笔试题目

    最近这段时间正在找工作,去H3C做了下笔试题,题目出的还不错,比一般公司水平高上一点点,偷偷弄了点回来,分享一下,我把答案和解析全部整理了出来,有需要的可以看看. 1.以下描述正确的有(AD) A.1 ...

  4. 解决Could not commit JPA transaction RollbackException: Transaction marked as rollbackOnly

    项目测试发生问题,方法正常结束,但是报了 Could not commit JPA transaction; nested exception is javax.persistence.Rollbac ...

  5. python 中的set与list,tuple

    __author__ = 'liunnis' #-*-coding:utf-8 -*- a=[1,2,3,4,4] print a print list(set(a)) b=[str(i) for i ...

  6. luogu P1272 重建道路

    嘟嘟嘟 这好像是一种树上背包. 我们令dp[i][j] 表示在 i 所在的子树中(包括节点 i)分离出一个大小为 j 的子树最少需割多少条边. 那么转移方程就是 dp[u][j] = min(dp[u ...

  7. Hadoop 解除 NameNode is in safe mode

    运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...

  8. 多条件查询接收很多参数的时候要用Map接收。

    好处是,以后修改查询条件的时候不用从接口,到实现类,到controller的参数都要修改, 假如加一个查询条件,只需要前端多传一个参数值,都用map<>键值对接收,只需要在 service ...

  9. [转]TortoiseSVN客户端的安装

    TortoiseSVN是windows平台下Subversion的免费开源客户端. 一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来.因为,如果你的要 ...

  10. 关于UWB技术:DecaWave公司的DW1000芯片资料

    关于人在隧道工作时都需要准确的精确度确定精准的位置.DecaWave公司的DW1000芯片,对定位上的精确度更是再适合不过了.符合IEEE802.15.4-2011超宽带标准.按照数据手册上应该最小误 ...