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”之间有且只有一个空格html

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

  • 问题1:在例子15中,源文件Student.java和Example4_15编写都没有错误,但Student.java编译能够经过,Example4_15却显示找不到符号
  • 问题1解决方法:在认真理解如何运行包后,我将存放源文件的的目录调整成如下结构,问题便解决了。
  • 问题2:运行例子9的时候出现以下错误:
  • 问题2解决方法:经过检查代码,发现了在SIM.java源文件中出现了大小写错误,修正后即可。这也提醒了我在运用对象的组合的时候,复用对象所在类编写错误一样会致使程序没法运行。
  • 问题3:在例子18中,运行文件出现以下错误:
  • 问题3解决方法:由于该源文件使用了包,所以要退出至chapyer4目录层次编译才可。java

代码托管

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

上周考试错题总结

  • 错题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

参考资料

相关文章
相关标签/搜索