zoukankan      html  css  js  c++  java
  • 20155226 2016-2017-2 《Java程序设计》第3周学习总结

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

    教材学习内容总结

    • 认识对象

    类类型 Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型。sun就是一个类类型变量,类类型变量指向的是对象。

    类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例。我觉得在视频中对类与对象关系的描述更加形象,它说类是对现实生活中事物的描述,而对象就是这类事物,它是实实在在存在的个体。

    类在定义时要使用关键词class,而具体对象就是对应java在堆内存中用new建立的实体。 在Java中,为个别对象的数据成员指定值的方式是:对象.对象成员 在一个java文档中可以有多个类,当类只需要描述一个事物,而不需要独立运行的时候,是不用写主函数的.

    • 标准类API

    java.util.Scanner类:java.util.Scanner的nextInt()方法会看看标准输入中,有没有输入下一个字符串,有的话会尝试将之剖析为int类型,其它的nextByte()、nextShort()等作用都类似。如果直接取得上一个字符串,则使用next(),如果想取得用户输入的整行文字,则使用nextLine(),总而言之Scanner类大大简化了Java的输入。 java.math.BigDecimal类:使用分数与指数来表示浮点数,这样就导致无法精确的进行运算,从而造成运算上的误差,且不能用==直接比较浮点数运算结果,所以我们可以使用BigDecimal类来得到想要的精确度。

    • 对象指定与相等性

    在基本类型中,=是将值复制给变量,而是比较两个变量储存的值是否相同。如果是在操作对象时,=是用在指定参考名称参考某个对象,而是用在比较两个参考名称是否参考同一对象。 equals是逻辑上相等,equals()和==是不一样的。

    • 基本类型包装

    为了让Java 基本类型像对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包基本类型,这些类就是所谓的打包器。

    • 数组对象

    数组在Java中就是对象,Java会检查数组的边界,一旦越界就会抛出ArrayIndexOutOfBoundsException的错误,所以在Java中,数组一旦建立,其长度就已经固定了,这一点也是和C语言所不同的地方。 在Java中可以使用System.arraycopy()的方法来进行数组值的复制,它会使用原生方式复制每个索引元素,比使用循环更快。在JDK6以上的版本中,还有个更方便的Arrays.copyOf()的方法,能够帮你建立新的数组。无论System.arraycopy()还是Arrays.copyOf(),用在类类型声明的数组时,都是执行浅层复制。

    • 字符串对象

    字符串本质是打包字符数组的对象,是java.lang.String类的实例。 要想比较字符串实际字符内容是否相同,不能使用==,要用equals(),这一点前面也提到了。 字符串对象一旦建立,就无法更改对象中的内容,使用+会产生新的String实例,不要将+用在重复性的连接场合。 使用javac指令没有指定-encoding选项时,会使用操作系统默认编码。

    • 对象封装

      • 封装 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式,其目的主要就是隐藏对象细节,将对象当作黑箱进行操作。

      • this关键字 this代表其所在函数所属对象的引用,简而言之就是this代本类对象的引用,当在函数内需要用到调用该函数的对象时,我们就可以使用this。

      • this()代表了调用另一个构造函数,至于调用哪个构造函数,则视调用this()时给的自变量类型与个数而定。

      • static关键字 static用于修饰成员,被声明为static的成员,不会让个别对象拥有,而是属于类。 在static方法中不能出现this关键字,static方法中不能用非static数据或方法成员。import static语法是为了偷懒,但要注意名称冲突的问题。

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

    • 本周出现了很多比较难分清比较难懂的概念,比如类与对象;面向对象与面向过程;经过看书加代码理解现在已经能分清了,在学习总结中有描述。

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

    本周按书上给的代码敲的,比较顺利。

    代码托管

    • 代码量截图:

    上周考试错题总结

    * ~0b1011的十进制数值()
    八位二进制:00001011
    每位取反得:11110100
    取反后补码:10001011+1=10001100
    十进制表示:-12

    • 在linux bash中查找两天前创建的java文件用()命令

      find -ctime 2 -name *.java

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

    本周学习内容较多,概念也比较难懂,压力是挺大的,代码量由于上周较少,本周也加大了代码量。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 5/5 1/1 10/10
    第二周 75/80 1/2 15/25
    第三周 253/328 1/3 25/50

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    参考资料

  • 相关阅读:
    译 PrestaShop开发者指南 第三篇 设置本地安装环境
    译 PrestaShop开发者指南 第二篇 代码规范
    [译]PrestaShop开发者指南 第一篇 基础
    Discuz!X3解读之类引入机制及目录结构
    Discuz的缓存体系
    x3d 规范 在线镜像版
    大容量数据库对表做分割
    链表 队列 堆栈 视频
    How ASP.NET MVC Works?
    SQLServer查看和解决死锁的方法
  • 原文地址:https://www.cnblogs.com/20155226thy/p/6539242.html
Copyright © 2011-2022 走看看