20145319 《Java程序设计》第一周学习总结
教材学习内容总结
新学期伊始,现在是开学第一周,除了和伙伴们重逢的欣喜之余,接踵而至的当然就是新一段的学习,因此在这开学的头几天里,我翻开了厚厚的《Java jdk8 学习笔记》并学习了本书的第一,第二两个章节。
1. java平台概论
所谓工欲善其事,必先利其器。在书的第一章就给我们讲述了java的前世今生,在其发展的过程中,其应用领域越来越广,逐渐演变出不同的分支,就是如今的三大平台Java SE、Java EE和Java ME。Java SE是学习其他平台应用的基础,Java EE则是在SE基础上更进一步,适用于开发分布式、多层次以web为基础的应用程序,Java ME是作为小型数字设备上开发及部署的平台。
2. JVM/JRE/JDK
作为基础的Java SE又可分为四个主要部分,JVM、JRE、JDK和java语言,了解JVM JRE JDK就是我们接下来的重点,JVM就是虚拟机,其作用就好比是一个翻译员,将class翻译成机器码,说白了就是系统自身是无法运行class文件的,有了JVM,class文件才能跑起来。人不在合适环境下就无法生存,java也是这样,JRE就是java执行环境,可提供所需链接库。JDK则提供工具程序,而JDK本身就包括了JRE。总而言之,其三者是一种包含关系,JDK中有JRE,JRE中有JVM。至今,JDK早已有许多版本,当你想在不同的系统中运行java程序时,只需更改JDK版本即可,这就是大家都说java可以跨平台的原因所在。
3. 简单的java程序,helloworld
首先要编写出相应的java文档,public class helloworld即表示helloworld是它的公开类,一个java文档可以定义多个类,但只可有一个公开类,且公开类名称和主文档名称需要保持一致。之后java程序执行的起点是main()方法,写成public static void main(String[] args)
4. pathclasspathsourcepath
path:操作系统中的环境变量,是当你输入一个指令而没有指定路径信息时,系统的默认路径,它会依次寻找各路径下的相应指令。而设定path有两个方法。一 、SET PATH =" " 二、进入"系统属性"单击"环境变量"找到path直接修改
classpath:classpath和path功能类似,均为指令的执行路径,不同的是path为windows的搜索路径,可执行文件为exe和bat,而classpath是JVM中的搜索路径,使用-classpath为JVM指定可执行文件class的路径信息(也可缩写为-cp),如java -cp C:workplace helloworld
sourcepath:为javac指令指定路径,和classpath有一定程度的相似,使用时写成javac -sourcepath src main.java(在当前路径中的src文件夹中寻找main.java并编译成main.class)
5. package
一种分门类别管理类的方式,以防与他人合作时,使用了相同的公共类名导致文档覆盖问题。使用时,即在java文档的最前方添加相应语句,如书上package cc.openhome,相应java文档必须放置在当前的cc/openhome文件夹中,在编译时,java指定类名也需相应改变,如main应改成cc.openhome.main这个名称。
6. DOS指令
- dir:列出当前路径下的文件以及文件夹
- md: 创建目录
- rd: 删除目录
- cd: 进入指定路径
- del: 删除文件
- copy: 复制文件
- xcopy: 复制目录
- tree: 列出目录树
- ren: 文件改名
- type: 显示文件内容
- cls: 清屏
- exit: 退出DOS命令
7. IDE
- 总的来说类似于c语言中使用的vs是一种方便我们编写,编译的一个平台
- 在IDE中编写代码时,若出现红色的虚线,即表示红色虚线部分出现了语法错误,将光标移动至该处,则会看到编译错误信息,错误原因建立project时,一般都会自动生成相应文件夹,有些明白其作用,有些则尚未弄清楚: src:源码 classes/out:编译输出class文件
教材学习中的问题和解决过程
- 在学习到classpath和sourcepath时,一直疑惑同样作为指定路径的两者之间有何区别,然而书中通过编译时指定-verbose变量的方法感觉太过难懂,最终通过观察书中其他的编译发现,使用classpath时,一般为java -cp ……使用sourcepath时,一般为javac -sourcepath……因此,猜测两者所指定的可执行文件是不同的。
- 在学习过程中,书中会经常使用如cd或者cd..之类的DOS命令,刚开始阅读时会有许多不懂,不过通过百度以及阅读娄老师相应的博客时问题就可以解决了
代码调试中的问题和解决过程
- 使用Console类编写helloworld(使用其他类链接库练习)
代码:
第一次运行结果:
本来以为电脑中本身是自带Console类文件的,但是实际上并没有,所以我自己写了一个Console.java
第二次运行结果:
因为我是将Console类和main类都放在c盘中的java文件夹中,所以在编译时只需要进入到java文件夹下直接执行java main
但是如果没有把Console类和main类放在一起的话,就需要为JVM指定classpath
例如,我将Console类放在java文件夹中的classes文件夹中就要写成java -cp .;classes main
其他(感悟、思考等,可选)
- 在学习时,尤其是java编程,书本理论知识和实践操作是缺一不可也是不可混作一谈的,“纸上得来终觉浅,绝知此事要躬行”就是如此,在第一章的学习过程中,书上明显写着公开类名称必须要和主文档名称一致,当时看书时以为牢记了,可是在实际操作时候还是会犯错误,可见实践操作经验之重要,是无法只靠理论来弥补的
- 在编写java文档的时候,也容易错误的将大小写搞混,但是编程工作是一个极其细致的工作,希望在今后,能养成细致和检查的习惯。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3500行 | 30篇 | 400小时 | |
第一周 | 150/150 | 1/1 | 20/20 | |
第二周 | ||||
第三周 | ||||
第四周 |
参考资料