20155302 2016-2017-2 《Java程序设计》第3周学习总结
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周学习总结的更多相关文章
- 20155302 2016-2017-2 《Java程序设计》第九周学习总结
20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155328 2016-2017-2 《Java程序设计》第九周学习总结
20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...
- 20155216 2016-2017-2 《Java程序设计》第九周学习总结
20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...
- 20155320 2016-2017-2《Java程序设计》第九周学习总结
20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
随机推荐
- iOS测试基础(命令篇)-iPhone型号及其他信息
首先安装libimobiledevice和ideviceinstaller brew uninstall ideviceinstaller brew uninstall libimobiledevic ...
- c++计算器后续(2)
自娱自乐: 大概是了解了一下前缀.中缀.后缀表示法是啥,并没有去深究,比如考虑实现啊,然后Calculation类里面的计算方法还是选用原来的直接对中缀表达式求值,只是把代码改得规范点,以上. 各表示 ...
- S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...
- js图形库
SVG.js viz.js graphviz的js实现版 raphael d3 (http://d3js.org/) JavaScript InfoVis Toolkit Flotr2 and Env ...
- java中JVM的原理重温【转】
一.基础理论知识 1.java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序.程序开始执行时他才运行,程序结束时他就停止.你在同一台机器上 ...
- 20165302实验二java面向对象程序设计
20165302实验二java面向对象程序设计 实验结果 提交点1 1.实验要求: 参考 (http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTE ...
- Linux环境变量及其设置
简介 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将使用到的信息.Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环 ...
- Redis(二)安全设置
redis是一款流行的内存数据库,默认是无密码登录,若出于安全考虑,需要为其加上控制权限,则可以通过以下2种方法来设置. 1. 采用绑定IP的方式来进行控制(比较安全的方法) 在redis.conf( ...
- JQ中$(window).load和$(document).ready区别与执行顺序
JQ中的$(document).ready()大家应该用的非常多,等同于$(function(){}),基本每个JS脚本中都有这个函数的出现有时甚至会出现多个,那么另一个加载函数$(window).l ...
- HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) ...