20165215 2017-2018-2 《Java程序设计》第3周学习总结
20165215 2017-2018-2 《Java程序设计》第3周学习总结
教材学习内容总结
- 编程语言历经面向机器语言、面向过程语言、面向对象语言三个发展阶段。
- 面向对象语言的三个特点:封装性、继承性、多态性
- 类封装着数据和对数据的操作
- 类声明中类名若是由几个“单词”复合而成时,每个单词首字母应大写
- 成员变量在整个类内有效,其有效性与它在类体中书写的先后位置无关
- 方法体可定义局部变量,局部变量的有效范围与书写位置有关,自局部变量声明之后有效
- 方法体内局部变量名字与成员变量名字相同时,成员变量被隐藏,若是想使用被隐藏的成员变量,必须使用关键字this
- 对成员变量的操作只能放在方法中
class A { // 编译无法通过
int a;
a = 12; //赋值语句应在方法中
}
- 构造方法的名字必须与它所在的类的名字完全相同,而且没有参数
- 对象(变量)负责存放引用,分配给对象的变量称作对象的实体
- 重要结论:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)
- 类变量是和该类创建的所有对象相关联的变量,实例变量仅仅是和相应的对象关联的类
- 类方法不可以操作实体变量
- 一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,参数不同指的是参数的个数不同或参数的个数相同,但参数列表中对应的某个参数的类型不同
- 方法的返回类型和参数的名字不参与比较
- Java语句不允许用户程序使用Java作为包名的第一部分;有包名的类无论如何也无法使用无包名的类
- 实例方法总是可以操作该类中的实例变量,类方法总是可以操作该类中的类变量,与访问限制符没有关系
- 编写清单文件时,注意“Manifest-Version”和“1.0”之间,“class:”和类之间,以及“Created-By”和“1.8”之间有且只有一个空格
代码调试中的问题和解决过程
- 问题1:在例子15中,源文件Student.java和Example4_15编写都没有错误,但Student.java编译可以通过,Example4_15却显示找不到符号

- 问题1解决方法:在认真理解如何运行包后,我将存放源文件的的目录调整成以下结构,问题便解决了。

- 问题2:运行例子9的时候出现如下错误:

- 问题2解决方法:通过检查代码,发现了在SIM.java源文件中出现了大小写错误,修正后便可。这也提醒了我在运用对象的组合的时候,复用对象所在类编写错误同样会导致程序无法运行。

- 问题3:在例子18中,运行文件出现如下错误:

- 问题3解决方法:因为该源文件使用了包,因此要退出至chapyer4目录层次编译才可。
代码托管
(statistics.sh脚本的运行结果截图)

上周考试错题总结
- 错题1
- if(表达式)中表达式的值必须是boolean型;swith(表达式)中表达式的值可以是byte、short、int、char型,但不可为long型。答题时混淆了这两个知识点
- 错题2
- 以0x开头代表十六进制,|是按位或,本题即将0xaa 用二进制表示为 10101010 ,0x55 用二进制表示为 01010101 ,按位或之后为11111111,十进制数为255,十六进制数为 0xFF
- 错题3
- “>>”表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
- 错题4
- ^在运算中表示异或,<<表示左移两位即*4
- 错题5
- --1先减1再将生成的数用于运算
- 错题6
- Float是float提供的封装类,不是基本数据类型。
- 错题7
- 题目让选择错误的两项,而我看成了选择正确的,这个实在是很低级的错误
- 错题8
- 执行nextDouble()方法时发生阻塞;下次碰到这种不确定的题型,一定将代码调试一遍,不仅可以避免错误,还可以加深理解
- 错题9
- char型变量声明不可使用双引号赋值;不可将多个字符赋值给char变量;使用\u前缀表示时,必须为十六进制。
- 错题10
- 这题我还是坚持自己的选项,书本里的注释也显示该排序法为选择排序法
- 错题11
- Java不允许在声明数组的方括号内指定数组元素的个数;不可使用双引号对char型变量赋值
其他(感悟、思考等,可选)
- 本周的学习量挺大的,可以说是比前两周的总和还要多,由此可见把课业分摊到平时是十分有必要的,只有每天循序渐进地学习,才不会让功课堆积造成太大负担。这次由于短时间内接受这么多的知识量,即使我认真跟着视频听讲也做了笔记,可依旧对本章所讲的内容有一种混沌感,因此还得花时间去深入思考和理解这些知识点。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 37/37 | 1/1 | 15/15 | |
| 第二周 | 398/429 | 2/3 | 15/30 | |
| 第三周 | 753/1167 | 1/4 | 20/50 |
参考资料
20165215 2017-2018-2 《Java程序设计》第3周学习总结的更多相关文章
- 20165215 2017-2018-2 《Java程序设计》第九周学习总结
20165215 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程 ...
- 20165215 2017-2018-2《Java程序设计》第一周学习总结
20165215 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 跟随网课学习了<Java2 实用教程>的第一章,进行了基础的编译练习 在Ubun ...
- 学号 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 ...
随机推荐
- 【托业】【新托业TOEIC新题型真题】学习笔记7-题库二->P1~4
P1: 1. shopping cart 购物车 stock the shelves 补货 examining the vegetables 挑选蔬菜 4.admire some paintings ...
- css继承样式怎么控制?用选择器
css样式继承性是指下级的样式属性会继承上级的属性,通俗点讲是儿子来继承父亲的属性,比如li会继承ul的属性.css继承原理是我们设置上级(父级)的CSS样式,上级(父级)及以下的子级(下级)都具有此 ...
- Python识别字符型图片验证码
前言 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越来越严峻.本文介绍了一套字符验证码识别的完整流程,对于验 ...
- Python3学习之路~5.2 time & datetime模块
time模块 时间相关的操作,时间有三种表示方式: 时间戳 1970年1月1日之后的秒,即:time.time() 格式化的字符串 2014-11-11 11:11, ...
- Redis入门到高可用(八)——list
一.结构 key - value 结构,value是一个有序队列. 可进行左边的添加及弹出,右边的添加及弹出. 可获取列表的长度,删除列表中指定元素,获取列表的子列表,按照索引获取列表的指定元素. 特 ...
- vux icon
官网:https://doc.vux.li/zh-CN/components/icon.html <icon type="success"></icon>& ...
- c 字符数组与字符串
char a[]="abc"; printf( char str[]="abc"; int size = sizeof(str)/sizeof(char); p ...
- VS Code的golang开发配置 之 代码提示
之前用VS Code的时候,发现自己的代码的提示一直不好,换用JetBrain的Goland的代码提示是好了,但是比较占用资源.在网上找了一些资料,发现很多人也是遇到第三方或者自己的代码无法提示的情况 ...
- php curl POST multipart/form-data与application/x-www-form-urlencode的区别
背景 CURL在 a.php 中以 POST方式向 b.php 提交数据,但b.php无法接收到数据,而 CURL 操作显示成功. 原来,"传递一个数组到CURLOPT_POSTFIELDS ...
- js中var a=new Object()和var a={}有什么区别吗?
应该是没有区别的,两者都是生成一个默认的Object对象.js和其它语言一样,一切对象的基类都是Object,所以,new Object()和简易的{}是同样的空对象,就是默认的对象.本来我以为{}应 ...