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

教材学习内容总结

  • 编程语言

    • 面向机器语言:机器能直接识别的语言, 其指令由特定的二进制码表示。

      其中汇编语言是使用人更容易记住的符号来代替二进制码,其特点是执行速度快,编程费劲,能够直接操作硬件
    • 面向过程语言:将解决问题封装成过程,程序运行时先由编译器编译成机器指令再执行。特点是无对象
    • 面向对象语言: 例如Java,C++;三大特点是:封装性(将数据和对数据的操作封装在一起)、继承(子类继承父类的属性和行为)、多态。需要进行操作时,首先想到哪个对象去完成操作。最重要的是掌握类的用法,能处理复杂问题。
  • 类结构:
class+类名 {
类体内容
}
  • 要求:

    类名:使用拉丁字母时,名字首字母大写

    • 类体的内容: 变量声明(储存属性的值)和方法的定义(对类中声明变量进行操作,给出算法)

      声明变量时须同时赋值,声明语句中不可单独出现赋值语句.
    • 成员变量:其数据类型可以是基本类型、逻辑类型、引用类型(包括数组、对象和接口),成员变量在真个个类都有效,与其所在位置前后无关。变量名习惯首字母小写,当有多个单词组合而成时,从第二个单词开始每个单词首字母大写
    • 方法
方法的类型+名称+(参数列表) {
方法体内容
}

无参数的方法头:

int speak() {
}

有参数的方法头:

int add(int x,int y,int z) {
}
  • 局部变量:只在方法内有效,并与其声明位置有关,它在声明的位置后生效。没有默认值,使用前须确认有具体的值
  • 构造方法:类中的构造方法的名字必须与它所在类的名字完全相同,无类型。若要在一个类中编写若干个构造方法,须保证各自的参数不同
  • 对象:用类声明的变量,声明后还须创建对象(分配所拥有的变量)
  • 一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量

    允许两个对象赋值
object2=object1;
  • 创建对象:

    声明对象:
类的名字+对象名字;
}

给对象分配变量:

对象名 = new 类的名字();
  • 使用对象:

    对象操作变量
对象.变量;

对象调用类中的方法

对象.方法;
  • 方法中的参数属于局部变量,向参数传递值时,值的级别不可高于参数的级别
  • 可变参数要求:不给出参数列表中从某项开始直到最后一项参数的名字和个数,但类型必须相同,最后一个参数必须是方法参数列表中的最后一个
public void f(int ... x)
public void g(double a,int ... x)

其中x成为方法参数列表中可变参数的"参数代表",可以通过下表运算来表示参数列表的具体参数。例x[0],x[1]...x[m-1]分别表示x代表的第1个至第m个参数

对于可变参数的增强型for语句

for(声明循环变量:参数代表) {
...
}
  • 实例成员与类成员:

    • 变量声明时,用关键字 static 给予修饰的成员变量称作类变量,否则称作实例变量
    • 类变量与实例变量间的区别:

      1、不同对象的实例变量互不相同

      2、所有对象共享类变量

      3、通过类名直接访问类变量
    • 方法声明时,用关键字 static 给予修饰的方法称作类方法,否则称作实例方法
  • 方法重载
    • 一个类里可以有多个方法具有相同的名字,但这些方法的参数必须不同。
    • 重载方法之间必须保证相互的参数不同,但需要注意在被调用时可能出现歧义调用
  • this关键字
    • 在构造方法中使用this时,代表使用爱构造方法所创建的对象,此时"this"可省略
    • 在实例方法中使用this,this代表正在调用该方法的当前对象

      实例方法操作类的成员变量的默认格式:
this.成员变量;
}

当static成员变量在实例方法中出现时的默认格式:

类名.成员变量;

实例方法调用的默认格式是:

this.方法;

类方法调用的默认格式是:

类名.方法;
  • import语句

    • import语句的作用:当一个类需要另一个类声明的对象作为自己的成员或方法中的局部变量,若他们不在一个包中,则需要import语句引入包中的类和接口。
    • 不仅可以引入类库中的类,还可引入自定义包中的类
import java.util.*;
import tom.jiafei.*;

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

  • 问题1:没搞明白教材(P83)4.8.2中的歧义调用,为什么无法通过编译
  • 问题1解决方案:10为int型,10.0为double型,参数(10,10)对应的应该是(int m,int n),而类中却没有这样的调用

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

  • 问题1:能否不引入java.util包里的全部类,而有选择性的引入个别类
  • 问题1解决方案:使用 import java.util.Date

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结









学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 25篇 400小时
第一周 235/235 1/1 15/15
第二周 224/459 2/3 15/30
第三周 443/902 1/4 15/73
  • 计划学习时间:17小时

  • 实际学习时间:15小时

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

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. python中RabbitMQ的使用(交换机,广播形式)

    简介 如果要让每个接收端都能收到消息,此时需要将消息广播出去,需要使用交换机. 工作原理 消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到 ...

  2. 再谈数据库优化(database tuning)的真谛和误区

    当今各行业信息量呈现爆炸式增长,因此,数据库优化也就显得弥足重要.随着数据库性能问题的出现,每位用户为了解决出现的问题,不得不满网上到处搜索优化的”灵丹妙药“和捷径,于是,就出现了各种各样的条条框框和 ...

  3. Talend 数据转换

    2个系统都有客户信息,产品信息. 要从一个系统a导出数据给另一个系统b用. 有2个方法. 1.在a系统的客户表,产品表加一个字段,记录b系统对应的ID,导出时直接用sql转换了. 2. 用ETL工具转 ...

  4. spring cloud jwt用户鉴权及服务鉴权

    用户鉴权 客户端请求服务时,根据提交的token获取用户信息,看是否有用户信息及用户信息是否正确 服务鉴权 微服务中,一般有多个服务,服务与服务之间相互调用时,有的服务接口比较敏感,比如资金服务,不允 ...

  5. C/C++ 运算符优先级(转载)

    最讨厌这个了.在这里记录下. 优先级 操作符 描述 例子 结合性 1 ()[]->.::++-- 调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的 ...

  6. UVA LA 3983 - Robotruck DP,优先队列 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  7. Uva LV 2995 Image Is Everything 模拟,坐标映射,视图映射 难度: 1

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  8. POJ 2002 Squares 几何, 水题 难度: 0

    题目 http://poj.org/problem?id=2002 题意 已知平面内有1000个点,所有点的坐标量级小于20000,求这些点能组成多少个不同的正方形. 思路 如图,将坐标按照升序排列后 ...

  9. python介绍与入门

    一.python 的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为 ...

  10. Spring、SpringMVC、Hibernate详细整合实例,包含所有步骤

    Eclipse完整工程如下 Jar包如下 CSDN下载地址:https://download.csdn.net/download/zhutouaizhuwxd/9721062 其中,整个工程主要可以分 ...