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. MySQL Workbench中如何开启MySQL的远程帐号

    '; /* 上面的语句表示将 discuz 数据库的所有权限授权给 root这个用户,允许 root用户在192.168.119.120进行远程登陆,并设置 root用户的密码为 123456 . 下 ...

  2. ActiveMQ 配置jdbc主从

    使用 jdbc 方式配置主从模式,持久化消息存放在数据库中. 在同一时刻,只有一个 master broker,master 接受客户端的连接,slave 不接受连接.当 master 因为关机而下线 ...

  3. redis使用epoll

    redis使用epoll的代码在ae_epoll.c文件中. epoll_create:redis服务器在启动时,创建事件循环,调用epoll_create方法创建epoll实例. static in ...

  4. Qt Widgets——抽象滑块及其继承类

    三个可视类的默认外观分别如下(win7):它们的滑块都处于最小值0处. 理解QAbstractSlider时 可将它想成就是QScrollBar(该小部件的外观比较多地拥有QAbstractSlide ...

  5. JavaScript 上万条数据 导出Excel文件 页面卡死

    最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var  ...

  6. sql group by max

    SELECT    * ,    REPLACE(TDFG.xdfd,'doc_111','') GBFROM    (        SELECT            *        FROM  ...

  7. error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because

    ubuntu 命令行sudo apt-get update W: GPG error: http://ppa.launchpad.net lucid Release: The following si ...

  8. Java压缩文件

    压缩文件 package com.iss.cpf.windmanger.userprivilegeexport.bizlogic; import java.io.BufferedInputStream ...

  9. day19-python的正则表达式2

    正则对象的findall方法 findall(string[, pos[, endpos]])  搜索string,以列表形式返回全部能匹配的子串. import re p1 = re.compile ...

  10. zookeeper:springboot+dubbo配置zk集群并测试

    1.springboot配置zk集群 1.1:非主从配置方法 dubbo: registry: protocol: zookeeper address: ,, check: false 1.2:主从配 ...