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. 数据结构与算法之PHP查找算法(哈希查找)

    一.哈希查找的定义 提起哈希,我第一印象就是PHP里的关联数组,它是由一组key/value的键值对组成的集合,应用了散列技术. 哈希表的定义如下: 哈希表(Hash table,也叫散列表),是根据 ...

  2. CSS知识点(二)

    七.CSS的继承性和层叠性 继承性 面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法.那么我们现在主要研究css,css就是在设置属性的.不会牵扯到方法的层面. 继 ...

  3. PinkEx专用图标

  4. 【转】给DataTable和DataRow扩展方法,直接转换为对象集合或对象

    /// <summary> /// 类 说 明:给DataTable和DataRow扩展方法,直接转换为对象集合或对象 /// 补充说明:此扩展类可以极大的简化操作,但是性能低下,大数据以 ...

  5. JDK8的ConcurrentHashMap也会造成CPU 100%

    转载:不止 JDK7 的 HashMap ,JDK8 的 ConcurrentHashMap 也会造成 CPU 100%?原因与解决~ 现象 大家可能都听过JDK7中的HashMap在多线程环境下可能 ...

  6. ActiveMQ 消息的重新投递

    正常情况下:consumer 消费完消息后,会发送"标准确认"给 broker,这个确认对象以 MessageAck 类表征: // 省略其他代码.类中定义了各种确认的类型 pub ...

  7. 牛客网 PAT 算法历年真题 1011 : 个位数统计 (15)

    个位数统计 (15) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定一个k位整数N = dk-1*10k- ...

  8. windows bat发布成服务

    删除服务 删除名为"WINDOWS MANAGEMONT INSTALLER"的系统服务 sc delete "windows managemont Installer& ...

  9. java输入一个字符串,输出该字符串的所有的排序

    public class Sort { public static void arrangeSequence(char[] strArr,int i){ char temp; ArrayList< ...

  10. tomcat启动超时_tomcat was unable to start within

    参考: http://jingyan.baidu.com/article/64d05a025c9969de55f73b23.html 首先,你得确认下你的数据库连接,尤其是在多个服务器之间转换或者服务 ...