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

教材学习内容总结

学习目标

  • 区分基本类型与类类型
  • 理解对象的生成与引用的关系
  • 掌握String类和数组
  • 理解封装的概念
  • 掌握构造方法的定义
  • 理解重载的概念
  • 掌握static的应用

第四章 认识对象:

  • 定义
  1. class:定义类
  2. char:类型声明变量
  3. new:新建对象
  4. 名称 X:参考
  5. =:可用于指定参考至新建变量
  6. 构造函数:与类名称同名,无须声明返回类型的方法
  • 两个基本标准类
  1. util.Scanner
  • scanner扫描标准输入,看看用户有无输入字符
  • scanner对每个基本类型都有个对应的next ...()方法
  1. java.math.BigDecimal
  • 使用ava.math.BigDecimal得到更好的精确度
  • java使用分数与指数来表示浮点数,不可以用==直接比较浮点数运算的结果
  • 创建Decimal的方法之一是使用字符串,可进行加、减、乘、除运算
  • 加法代码形式:BigDecimal result=XXX1.subtract(XXX2); System.out.println(result);

  • 对象指定
  1. 操作对象是,=用于指定参考名称参考某个对象,而==用于比较两个参考名称是否参考同一对象,!=用于比较两个名称是否没参考同一对象
  2. 打包
  • 打包基本类型:让基本类型像对象一样操作
  • 打包器:Long、Integer、Double、Float、Boolean、Byte等类
  1. 编译程序蜜糖
  • 编译蜜糖程序:参考实例4进行操作(自动装箱),运作时自行取出打包器中的基本形态信息(自动拆箱)
  • 增强式for:for(int[] row:cords)
  1. 数组对象
  • 数组:用int[]声明,具有索引的数据结构
  • fill()可新建元素值
  • 对象是根据类而建立的实例,代表建立数组对象的类定义由JVM动态产生
  • 基本类型数组复制:Array.copyOf()
  • 类类型申明的数组,在使用for循环进行复制时并没有实际复制出cloehes对象,称为复制参考或浅层复制
  1. 比较对象实质内容是否相同用equals(),不要用==
  2. 字符串对象
  • 字符串用来打包字符数组,可以用“”包括一串字符来建立字符串
  • 字符串池:JVM创建String实例用于对象参考,并在字符串池中维护
  • 字符串常量:用“”写下的字符串称为字符串常量
  • 用+连接字符串会产生新字符串
  • javac -encoding 指定字符编码

第五章 类与对象

  1. 封装
  • 封装 = 类 + 访问控制(public,protected,private...)
  • Java可以使用private关键字定义类私有的数据,声明为private的成员表示为类私有
  • 封装的主要目的:隐藏对象细节,将对象当作黑箱进行操作。用户要操作对象,要使用你定义的函数,通过你的方法调用,但是不知道构造函数的细节,也不知道私有数据
  1. 类语法细节
  • public声明:表示它是个公开类,可以在其他包的类中使用,用在成员变量前
  • 重载构造函数:定义多个只要参数类型火哦个数不同的构造函数
    public class Some{ ... public Some(inta){ ... } public Some(int a,String text){ ... } }
    方法重载可用一致的名称调用类似功能的方法
  • this:构造函数参数与对象数据成员同名时,用this加以区别
  • static:所有对象公有的 ,用在类前,用在方法前,用在成员变量前
  • 访问惯例:类名.static成员
  • 内部类:类中可在定义类
  • 传值:Java中方法都是传值(Pass By Value)的 ,传值(Pass By Value,Call by Value),传引用(Pass By Reference,Call by Reference)

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

  • 课本126页CashCard类中,不用返回值,方法名称前可以声明void

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

问题:课本87页0.1+0.1+0.1结果不等于0.3

解决:Java遵守IEEE 754浮点数运算规范,使用分数与指数来表示浮点数,而恰好0.1使用分数表示为无限循环,无法精确表示,从而造成运算上的误差;
补充:为了得到更好的精确度,可以使用java.math.BigDecimal类。

代码托管

  • 代码量截图:

上周考试错题总结

5.CH03 判断: Java中, 数字235.00的类型是float. (X)
6.CH03 填空:~0b1011的十进制值是(-12)
13.CH03 填空 :0x10%9 的结果是( 7 )
18.CH03 判断:P64 Shift.java中第三个printf的输出结果是”2的2次方:4”。(X)
19.CH03 填空:运行p69 Odd.class的命令为(java cc.openhome.Odd)。
20.CH03 判断:byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)

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

本周的代码都是周末写的,之后应该形成日常,提前完成

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第三周 287/398 1/3 22/60

参考资料

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

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

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

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

    20155331 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是什么? JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立 ...

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

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

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

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

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

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

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

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

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

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

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. Xcode 下载地址 与Macos版本要求

    Xcode下载地址:https://developer.apple.com/download/more/ 参考文档:https://zh.wikipedia.org/wiki/Xcode

  2. Asp.net & Aspose.cells 导入

    Workbook workBook = new Workbook(this.fuFile.FileContent); Aspose.Cells.Worksheet sheet = workBook.W ...

  3. 【RabbitMQ】4、三种Exchange模式——订阅、路由、通配符模式

    前两篇博客介绍了两种队列模式,这篇博客介绍订阅.路由和通配符模式,之所以放在一起介绍,是因为这三种模式都是用了Exchange交换机,消息没有直接发送到队列,而是发送到了交换机,经过队列绑定交换机到达 ...

  4. win7装postgresql10.4

    第一步: 第二步: 第三步: 第四步: 第五步: 下载地址:https://get.enterprisedb.com/postgresql/postgresql-10.4-1-windows-x64. ...

  5. vue实现点击目标元素外页面的其他地方隐藏弹窗。

    方法: 步骤1:给页面最外出的元素div加点击事件:@click=“popShow = false”. 步骤2:给点击目标元素加点击事件:@click=“popShow = true”. 备注:pop ...

  6. Win7电脑无法安全删除硬件并弹出媒体的解决方法

    有很多用户经常会在win7系统中使用移动硬盘或U盘来拷贝数据,而当使用完了之后,一般为了数据能够更安全,都会右击选择安全删除硬件进行退出,可是有win7系统用户却发现要弹出设备的还好无法安全删除硬件并 ...

  7. 利用matplotlib绘画出二特征的散点图

    实例的所有数据来源于吴恩达教授的机器学习数据,特此感谢.数据源可以前往course下载. 本文主要目地在于绘画二维的散点图,至于scatter的用法可以参见我之前的博客. import pandas ...

  8. Genymotion集成到Eclipse

    在Eclipse中使用Genymotion Google的ADT中自带的模拟器速度太慢,可以使用Genymotion代替.关于Genymotion的安装方法,可以直接访问官网,需要注册账号,因为创建模 ...

  9. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第一件事就是移植串口驱动,重定向 printf

    /* * board_uart.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #in ...

  10. eclipse删除的文件如何恢复。

    1.如果不小心删除了单个文件或者文件夹. 鼠标点击上级目录 Ctrl+z就可以恢复了. 如果没有恢复,就右击项目,选择Resore from Local History 然后选择你所删除的文件,选择恢 ...