zoukankan      html  css  js  c++  java
  • 20165202 第3周学习总结

    20165202 2017-2018-2 《程序设计与数据结构》第3周学习总结#

    教材学习内容总结

    Ch4

    • 面向机器语言、面向过程语言、面向对象语言

    • 类:“驼峰习惯”、类体的定义、成员变量、方法

    • 构造方法与对象的创建:构造方法没有类型、使用对象

    • 类与程序基本结构

    • 参数传值:引用类型传值中传递的是变量中存放的“引用”、可变参数

    • 对象的组合:复用方法

    • 实例成员与类成员:实例变量与类变量、实例方法与类方法的区别 是否有“static”修饰

    • 方法重载:一个类中可以有多个方法具有相同的名字,但参数必须不同

    • this关键字:在构造方法、实例方法中的使用

    • 包:有包名的类的存储目录、运行有包名的主类

    • import语句:引用库中的类、自定义包中的类

    • 访问权限:对象是否可以通过“.”运算符操作变量或调用类中方法

      • [ ] rivate:可修饰变量或者方法(不能修饰类)
      • [ ] public:可修饰变量或者方法(可以修饰类),可通过对象或者类名访问
      • [ ] protected:可修饰变量和方法(不能修饰类),在同一包内可通过对象和类名访问。
      • [ ] 友好变量/友好方法:不用public、private、protected修饰的变量
    • 基本类型的类封装

    • 对象数组:数组的元素是对象

    • JRE扩展与jar文件

    教材学习中的问题和解决过程

    • 问题1:import语句使用不太懂

    • 问题1解决方案:通过对教材代码的深入理解,我发现import主要分为引入类库中的类和引入自定义包中的类

      import java.util.类名为引入类库中的类的基本格式,一般写在较靠前位置。

      package 主类包名;
      import sohu.com.自定义包中的类名;
      

      编译和运行的方式有所区别

      ch4>javac hello
      ihaoExample4_8,java
      ch4>java hello.nihao.Example4_8
      

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

    • 问题1:vim编辑器无行数显示、换行自动空格等功能,效率较低
    • 问题1解决方案:我百度了一下,参考如何设置vim自动对齐为vim添加部分功能,好用多了。
      代码如下
    cd /  //返回最上层目录//
    cd etc
    cd vim
    ls   //显示所有文件//
    sudo gedit vimrc   //使用gedit编辑文件(只输入gedit权限不够)//
    

    打开之后,我们在文件最下面进行修改,将相应的指令添加到文件末尾;

    【显示行号】--->【set number】;

    【检测文件的类型】--->【filetype on】;

    【自动对齐】--->【set autoindent】

    【智能选择对齐方式】--->【set smartindent】

    【设置Tab键为4个空格】--->【set tabstop=4】

    【设置当行之间交错时使用4个空格】--->【set shiftwidth=4】

    【设置匹配模式】--->【set showmatch】;

    设置完后,点击save按钮,进行保存。重启ubuntu即可使用。

    • 问题2:4_3编译提示不兼容的类型

    • 问题2解决方案:错将zhubajie.head中head输入为height,head被定义为String型变量,提醒了我一定要注意变量所定义的类型,不同类型间转换可能造成精度损失。

    • 问题3:4_5运行编译提示找不到符号

    • 问题3解决方案:
      将Rect、Lader、Example4_5放在同一目录下,使用javac *.java编译目录下全部源文件,问题原因在于4_5的编译需要Rect、Lader产生的字节码文件,必须将Rect.class、Lader.class与4_5.java放在同一目录中。

    • 问题4:4_9编译显示方法声明无效:需要返回类型

    • 问题4解决方案:SIM.java中错将类名写为class STM提醒了我在输入代码时注意相近字符,防止弄混。

    • 问题5:4_18编译显示找不到或无法加载主类

    • 问题5解决方案:通过检查代码,发现包名hello误输入为hell,主类包名错误导致无法加载。

    • 问题6:使用git commit -m "注释"过程中提示error: insufficient permission for adding an object to repository database ./objects错误

    • 问题6解决方案:参考git pull 报错

      使用sudo chmod 777 -R .git/objects命令添加权限后commit可正常使用

      但在随后运行脚本statistics.sh时出现另外一个问题:无法显示最近的commit操作内容

      参考 三分钟教你学Git(二十四) error: insufficient permission

      在git创建仓库目录20165202jhs下使用sudo chown -R current_user .git/objects修改权限为当前用户可写后,该目录下脚本运行正常。

      但根目录下仍显示权限问题,所以本问题有待继续求教老师同学。

    代码托管

    上周考试错题总结

    本周未进行考试

    感悟

    本周的教材代码量明显上升,week2的内容很多还是C语言的基础,而这周开始的教材内容多了很多新知识,需要更多的实践去理解学习。这周自己增加了vim的几个小功能,使编译工具更加方便顺手,还是很开心的。在代码问题6的求解过程中慢慢对git和linux的一些命令有了更多的认识。两周过后起码从最初上手的一头雾水,到现在可以去借助网络不断解决问题。最近的一些错误更加提醒我要注意编辑代码时的准确性,一些出在语法上的编译问题都是可以尽量避免的。同时,还是要尽量科学地分配敲代码的时间,把平时时间分配出来分块练习,不能等周末两天突击。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
    目标 5000行 30篇 400小时
    第一周 24/24 1/4 15/15
    第二周 423/423 2/6 14/29
    第三周 792/1215 1/7 16/45
  • 相关阅读:
    星时代曹波涛:分享一个测试数据生成的工具
    myabtis-plus 分页
    吴恩达机器学习_55过拟合问题/56代价函数
    吴恩达机器学习_51高级优化/52多元分类:一对多
    吴恩达机器学习_49代价函数/50简化代价函数与梯度
    吴恩达机器学习_46分类/47假设函数/48决策边界
    Windows10下安装VMware workstation 15.1虚拟机+配置Ubuntu16系统
    编程作业ex1:附加练习
    编程作业ex1:线性回归
    吴恩达机器学习_43矢量
  • 原文地址:https://www.cnblogs.com/jhs888/p/8594903.html
Copyright © 2011-2022 走看看