20155227 2016-2017-2 《Java程序设计》第一周学习总结

20155227 2016-2017-2 《Java程序设计》第一周学习总结

教材学习内容总结

  • 浏览教材,根据自己的理解每章提出一个问题
  1. Java三个平台的区别。
  2. JDK、JRE、JVM区别与联系。
  3. Java语法和C语言语法有什么区别和相似点
  4. 对象是用来干什么的?
  5. Java中类的封装是怎么实现的?
  6. 什么是继承和多态?有什么好处?
  7. 接口和抽象类的区别?
  8. 怎么把错误包装成对象?怎么抛出?
  9. collection和Map接口的区别?
  10. Java中的输入输出与C中的有什么异同?
  11. 如果主线程中启动了额外线程怎么中止JVM?
  12. 什么是Lambda?
  13. 为什么要划分这么多时间?
  14. NIO与IO的区别?
  15. 国际化的三个重要概念?
  16. 为什么要是用JDBC架构?
  17. Java的类加载期有哪些?顺序是什么?
  18. 为什么要自定义泛型、枚举与注释?
  • 关于JVM、JRE与JDK

JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

简单而言:JDK包括了Java程序语言、工具程序与JRE,JRE包括部署技术、Java SE API与JVM。使用JDK开发完成的java程序,交给JRE去运行。

只执行Java程序,不下载JDk是不行的。

  • 面向对象技术

面向对象:其实就是对各种功能进行了打包分类,我们会先面对的是对象,再对其内的功能、动作进行调用。
作用意义:面向对象是一种思想,能让复杂的事情简单化,能让我们从执行者转变为指挥者。

封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中。封装的意义在于保护或者防止代码(数据)被我们无意中破坏。

继承:继承主要实现重用代码,节省开发时间。优点:<1>提高了代码的复用性 <2>使类与类之间产生了关系,才有了多态的特性。

多态: 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

  • 定义main()的方法
public static void main(String[ ] args)
  • PATH与CLASSPATH

首先,我按照教材上的步骤设置了PATH和CLASSPATH。
PATH:path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行JAVA文件,但必须把完整的路径写出来,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找。

CLASSPATH:classpath是指定你在程序中所使用的类(.class)文件所在的位置。

path和classpath区别:

用途上:path是os用,classpath java用
路径上:path里面不光有Java的bin,还可以包含许多其他的,只要在path中设了这些环境的路径,你在dos下的任何路径上都可以调用这些路径下的命令。 classpath是java专用的查找类的路径

包含上:系统变量是环境变量的一种,环境变量一种仅本用户适用,另一种即系统变量整个系统的用户都适用,两者都可以在使用应用程序时提供快捷.一般在编辑java文件或者C#文件时需要修改,设计到多个文件夹之间的切换时也可以根据自己的需要设置. 简单的说就是,如果设置系统变量和用户变量,都叫做设置环境变量,设置系统变量时,该系统的所有帐号的用户都可以使用,但是设置用户变量时,其他的帐号登陆时就不一定可以使用。

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

  • 问题1

装好JDk之后在启动cmd之后输入Java指令后显示“不是内部或外部命令,也不是可运行的程序或批处理文件”。

  • 1解决方法:

我重新安装了一次JDK,这一次JDK和Public JRE没有安装在同一文件夹。

代码托管

  • 提交过程截图

  • 代码量截图

上周考试错题总结

暂无

其他(感悟、思考等,可选)

第一周的学习由于时间安排不合理导致十分仓促,很多东西没有学到,以后会安排更多时间来学习!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 10/10 1/1 20/20

参考资料

胡东晖学长的博客

《Java学习笔记(第8版)》学习指导

posted @ 2017-02-26 22:05  20155227辜彦霖  阅读(136)  评论(2编辑  收藏  举报