目录
[toc]html
教材学习内容总结(教材第一章内容)
1.简单学习计算机和Java的最最最最基础知识,完成个人第一个Java程序,以及做业PP1.3,PP1.8。java
2.面向对象编程思想(举个例子:五子棋):git
-
面向过程(首先分析问题的步骤):一、开始游戏,二、黑子先走,三、绘制画面,四、判断输赢,五、轮到白子,六、绘制画面,七、判断输赢,八、返回步骤2,九、输出最后结果。把上面每一个步骤用分别的函数来实现。编程
-
面向对象:一、黑白双方,这两方的行为是如出一辙的;二、棋盘系统,负责绘制画面;三、规则系统,负责断定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行断定。 面向对象的通俗解释vim
3.java运行步骤:数组
-
.java文件->编译->.class文件frontend
-
.class字节码->jvm(java虚拟机,也叫JDK)解释->执行。jvm
教材学习中的问题和解决过程
- 问题1:支持面向对象程序设计的基本概念是什么?(SRA1.8)
- 问题1解决方案:课本答案:支持面向对象程序设计的基本元素:对象,类,封装,继承。
- 问题2:标识符args有什么意义,能够用其余标识符替换吗?
- 问题2解决方案:java规定main方法参数必须为字符串数组(String [ ]),args是一个字符串数组的变量名(arguments的缩写),只是一个默认名,通常习惯性照写。
- 问题3:为何其余许多语言在编译时将源代码直接转为具体的机器语言,而编译运行Java程序过程当中须要字节码做为中间步骤?
- 问题3解决方案:咱们编写的程序在不一样的平台上运行前都要通过从新编译才能被执行。而Java刚诞生的时候曾经提过一个很是著名的宣传口号: "一次编写,处处运行"。 可运行在许多不一样平台的JVM虚拟机都拥有一个共同的功能:能够载入和执行同一种与平台无关的字节码(ByteCode)。 这样源代码再也不必须根据不一样平台翻译成0和1,而是间接翻译成字节码,储存字节码的文件再交由运行于不一样平台上的JVM虚拟机去读取执行,从而实现一次编写,处处运行的目的。
代码调试中的问题和解决过程
-
问题1:当install时,给出下面提示:编辑器
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it?
-
问题1解决方案: 一、kill当前进程(百度提供,但没成功...) 二、删除锁定文件(成功)函数
sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lock
-
问题2::在apt-get update vim的时候,提示(和问题1相似):
E: Could not get lock /var/cache/ apt/archives/lock - open (11 Resource temporarily unavailable) E: Unable to lock the download directory
-
问题2解决方案:
sudo rm -rf /var/cache/apt/archives/lock sudo apt-get update
-
问题3:git push后,提示:
! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://gitee.com/zhang_duanyun/GitGit.git' hint: Updates were rejected because the tip of your current branch is behind its remote counterpart. hint: Integrate the remote changes before pushing again. hint: (e.g.'git pull …') hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.
-
问题3解决方案:在码云新建过项目后复制连接,git clone以后会在Home目录下自动建立一个和项目名称相同的目录,要进入项目名称目录下git push。
代码托管
上周考试错题总结
- 判断:Linux Bash中, 可使用man printf查看C语言中printf函数的帮助文档。 (x)
- 分析:man 3 printf才是真正的查询C库函数里的printf函数
- 填空:Linux Bash中,(cheat find )命令能够查年find命令的使用示例。
- 分析:
cheat命令简单来讲,就是告诉你一个命令如何使用。它没有提供其余额外多余的信息,只经过使用实例告诉你一个命令如何使用。
结对及互评
点评
- 博客中值得学习的或问题:
- 博客总体内容翔实,对课本知识有着深刻的学习和思考。
- 改进:教材学习内容总结部分能够再简洁一些。
- 基于评分标准,我给本博客打分:13分。得分状况以下:
- 语法正确(1)、要素齐全(1)、排版简洁(1)、感想真实(1)。总结了不少问题和解决方案(6),如实记录了学习时间(1),结对学习状况真实可信(1),有动手敲新代码(1)。
本周结对学习状况
-
结对学习内容
- 讨论字节码在Java程序编译执行过程当中的做用。机器码是电脑CPU可直接读取的数据,但不一样CPU有不一样机器码与之对应。字节码是源代码转换为机器码的中间状态,在运行时经过JVM(JAVA虚拟机)作一次转换生成机器指令,所以能使Java程序更好的跨平台运行。
- 互帮互助完成vim配置,互对讨论教材课后练习题答案。
感悟
正式学习Java的第一周,配置vim编辑器(加入头部注释、行号、高亮等一系列对敲代码友好的功能),并经过添加页面定制CSS代码使本身的博客园页面更美观(接下来但愿在写博客过程当中摸索一些让本身博客排版更清楚美观的方法),在这些过程当中不停地碰壁,不停地寻找如何解决,因为还什么都不懂,因此只能经过尝试来确认本身搜到的解决方式是否是正确,终于体会到什么叫“没有结果就是最好的结果”。
除此以外,在刚开始敲最简单的代码时,发现本身很容易丢三落四(eg.System‘S'忘记大写,String写成Strings等),以后的学习中,必定要细心细心再细心,多动手敲代码,才能知道本身会犯什么错误而且及时改正。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 254/254 | 2/2 | 21/21 | 开始编写简单的程序 |
-
计划学习时间:20小时
-
实际学习时间:21小时