20165228 2017-2018-2 《Java程序设计》第3周学习总结
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周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- ActiveMQ producer不断发送消息,会导致broker内存耗尽吗?
http://activemq.apache.org/my-producer-blocks.html 回答了这个问题: ActiveMQ 5.x 支持Message Cursors,它默认把消息从内存 ...
- python3爆力破解rtsp脚本
一.说明 hydra是说已实现了rtsp的爆力破解,但是使用时发现字典中明明已包含正确的用户名密码hydra却还没检测出来: 拦截数据包查看,感觉hydra只是尝试去匿名访问,并没有发送用户名密码去验 ...
- Java数组,导入包,foreach控制循环
总见流星过,火花转瞬逝.何时见春雨,润物细无声. 导入包,例使用Scanner工具类,需要导入包: import java.util.Scanner; ************ ********** ...
- Java集合list,map,set区别及遍历
1.1 List.Set.Map基本区别 1.List,Set都是继承Collection接口,Map不是. 2.List:LinkedList.ArrayList.Vector Set :HashS ...
- maven配置checkstyle插件对代码规范进行静态检查
checkstyle配置的官方网站:http://checkstyle.sourceforge.net/config.html (1)新建maven项目,配置checkstyle插件 pom.xml ...
- Json使用示例
使用Json,可以下载如下所示的6个Jar包 整个工程目录结构如下: 简单的用法: package json; import net.sf.json.JSONArray; import net.sf. ...
- 多态概念,C++
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- JavaScript操作BOM对象
1)windows对象 浏览器对象模型(BOM :Browser Object Model)是JavaScript的组成之一,它提供了独立于内容与浏览 器窗口进行交互的对象,使用浏览器对象模型可以 ...
- 以黄门镇黄湾村某一扶贫文档为例——将Excel数据填入到已存在的Word模板
傻瓜可以写出机器读得懂代码,但写出让人能读懂的代码的是优秀程序员 作用:通过Excel文件中的一列数据作为文件名创建Word文档,并将Excel中的一行数据填一表,实现自动化 Excel的VBA宏代码 ...
- :代理模式:proxy
#ifndef __PROXY_H__ #define __PROXY_H__ class Subject { public: Subject(){} virtual ~Subject(){} vir ...