20155339 2016-2017-2 《Java程序设计》第1周学习总结
20155339 2016-2017-2 《Java程序设计》第1周学习总结
教材学习内容总结
第一章
一直以为JAVA应该只是一种语言,研读了书本之后发现原来JAVA也代表了解决问题的平台。JAVA诞生于1995年5月23日,1996年第一个JDK诞生。JAVA拥有三大平台,第一个是Java SE第二个是Java EE它是以前者为基础,定义了一系列的服务、API、协议等,第三个是Java Me,它是Java平台版本中最小的一个。此外还了解了包括版本的一些演进等等。这之后了解了JVM、JRE与JDK的区别与联系,JDK是JAVA的核心,如果需要开发程序必须安装JDK,JRE是用来运行已经开发好的JAVA程序。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
第二章
对于第二章的学习我是结合了各种相关软件的下载以及实践操作来学习的,那我就不根据书本的构造,而是通过我学习的步骤来写这部分的内容。首先根据教程下载并安装了JDK(JDK中包含了JRE),这之后开始配置环境变量,在配置环境变量前先了解了一个内容:什么是path?通过对参考书的学习,我对path的认识是充当一个指路人的作用(不知道这样理解是否正确),你要在path中设定工具程序的路径信息,系统才可以在path中找到你要执行的指令。接下来进入了配置环境变量的步骤了,在这一步遇到了一些困难,每次进行测试时都会发现安装失败了,经过多方面的查询,最终发现了几个需要注意的点:1.path中再添加路径的时候为了区分开路径一定要添加分号;2.分号需要注意是不是英文的分号;3.最好将JDK的bin路径放在path变量的最前方。因为当你输入一个指令而没有指定路径信息时,操作系统会根据path中从左到右的顺序去寻找这个指令,当安装了多个JDK和JRE的计算机中,确定执行那个非常重要。
第一次在JAVA中打出“hello world”还是很兴奋的。
但是这之前也遇到了一些需要了解的知识点以及困难。首先在完成对helloworld.java文件的编译后会形成一个.class的文件,这个时候就要启动JVM了,可是打开了JVM要怎么让它知道要去哪儿执行命令呢,就像Windows会根据path中的路径信息来寻找可执行的命令,JVM也有一个地方去找它的路径,这就是classpath,值得一提的是因为JVM是虚拟的计算机,所以它的可执行文件是.class文件。
除此之外还有javac命令,该命令是将.java文件编译成.class文件的命令,当编译成功了之后,回到写.java文件的文件夹中会发现多了一个.class文件
还有使用-sourcepath指定从src文件夹中寻找原始码也就是.java文档,-d制定了编译完成的位码也就是.class文件的存放文件夹,这位合理的管理原始码与位码文档提供了平台,同时也会在查找一些文件时更加高效。
代码调试中的问题和解决过程
1.在这部分内容的学习过程中遇到的最主要的问题还是各种相关应用的安装,例如在安装JDK时配置环境变量一再的不成功。解决:在百度上搜索,发现是路径之间忘了写分号,同时分号要区分中英文。
2.成功安装了JDK,然后新建了文本文档写了几行代码,一个简单的hello world,然而编译的时候却提示错误,经过多次尝试与研究,终于发现是没有注意文件名的大小写,编写的代码中文件名的大小写一定要与文件名相符,否则就会编译错误,修改了这个问题再次尝试编译,终于通过了。一个简简单单的hello world,内心却是无比激动兴奋的。成功后的截图如下
每章提一个问题
第一章:JAVA程序被称为“编译一处,到处执行”,那么在未来的发展里他还有可能实现更强大的功能吗?
第二章:在学习JAVA中JDK和IDE孰重孰轻?
第三章:JAVA中也有很多类似C语言中需要注意的部分例如等于需要写两个=、以及各种类型之间的转换,那么有哪些是C语言中不需要注意的但是JAVA中需要注意的?两者有什么显著的以及易错的区别吗?
第四章:在比较实质内容是否相等的时候不能用==而要用equals(),那能不能用:?这个二元运算符来比较呢?
第五章:对象封装的作用是什么呢?它会不会在一定程度上不利于用户使用该应用?
第六章:在创建Arraylist实例时,内部数组出事容量可以指定,那么若为了方便将容量定的较大时,有什么上限吗?
第七章:如果想同时取得收集的对象及
第八章:在自动尝试关闭资源部分为什么要在原异常对象中记录?
第九章:Lanbda与匿名类相比有什么好处?
第十章:BufferedReader、BufferedWriter可以对Reader、Writer提供缓冲区作用,缓冲区的意义是什么呢?
第十一章:在使用迭代器时如何修改迭代器参考的对象?
第十二章:在变量前加final表示停止捕获,如果当final表示为变量时想让他继续被捕获应该怎么设置?
第十三章:用Calendar编写程序有什么优点呢?
第十四章:为什么我填装的数据不会超过Buffer的容量,它的容量是动态的还是容量上限是无穷呢?
第十五章:如何管理并查看iterable的接口。
第十六章:BLOB与CLOB两种数据类型可以通用吗?若不能,有什么区别呢?
第十七章:每次寻找类时,都是先委托父加载器寻找,为什么不直接委托子加载器寻找,这样不能提高效率吗?
第十八章:特定值类本体语法如何运用在重新定义父类方法?
上周考试错题总结
上周没有进行考试,但是凭借这一周初步了解了java的一些入门知识。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 1/1 | 20/20 | 编出了第一个JAVA程序 |
参考了学长的博客,终于完成了代码托管,如下图 | ||||
![]() |
-
计划学习时间:30小时
-
实际学习时间:20小时
参考:软件工程软件的估计为什么这么难,软件工程 估计方法 -
计划学习时间:15小时
-
实际学习时间:12小时