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程序

参考了学长的博客,终于完成了代码托管,如下图

参考资料

20155339 2016-2017-2 《Java程序设计》第1周学习总结的更多相关文章

  1. 20155306 2016-2017-2 《Java程序设计》第九周学习总结

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

  2. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  3. 20155331 2016-2017-2 《Java程序设计》第九周学习总结

    20155331 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC是什么? JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立 ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  10. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

随机推荐

  1. MySQL面试宝典

    ==============================================# 参数==============================================auto ...

  2. (八)Linux之挂载命令

    挂载命令 其实挂载在Linux中可以理解为分配盘符的意思.想一下,比如一张光盘插入了Linux系统的 电脑上,要想读取其中的内容,需要做哪些操作呢?首先你要考虑的是这张外来光盘的的数据也是 外来的,如 ...

  3. codeforces 917D Stranger Trees

    题目链接 正解:矩阵树定理+拉格朗日插值. 一下午就搞了这一道题,看鬼畜英文题解看了好久.. 首先这题出题人给了两种做法,感觉容斥+$prufer$序列+$dp$的做法细节有点多所以没看,然而这个做法 ...

  4. Redis命令、数据结构场景、配置文件总结

    本文大纲 一.常用数据类型简介二.redis操作命令三.redis配置文件详解四.redis数据类型使用场景 一.常用数据类型简介 redis常用五种数据类型:string,hash,list,set ...

  5. 【[SDOI2017]序列计数】

    感觉自己的复杂度感人 大概是\(O(p*\pi(m)+p^3logn)\) 还是能过去的 我们看到这么大的数据范围还是应该先想一想暴力怎么写 显然我们可以直接暴力\(dp\) 设\(dp[i][j]\ ...

  6. ionic和angularjs的区别?

    a.ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化HTML.css和js的性能,构建高效的应用程序,而且还可以用于构建sass和angularJS的优化 b.AngularJS ...

  7. Apollo2.5 CANBUS调试笔记(测试版)

    前言:CANBUS是Apollo需要根据你的底盘写代码的地方,感觉也是Apollo最难调试的部分.这部分首先要选好CAN卡,因为不是Apollo推荐的CAN卡,驱动程序和对应接口,可能都需要自己调整, ...

  8. OpenGL之位图的绘制和gluOrtho2D等函数详解

    位图绘制 先来段代码吧: #include <iostream> #include <gl/glut.h> using namespace std; #pragma comme ...

  9. [转].NET设计模式系列文章

    最初写探索设计模式系列的时候,我只是想把它作为自己学习设计模式的读书笔记来写,可是写到今天,设计模式带给我的震撼,以及许多初学者朋友的热心支持,让我下定决心要把这个系列写完写好,那怕花上再多的时间也无 ...

  10. Selenium & Webdriver 远程测试和多线程并发测试

    Selenium & Webdriver 远程测试和多线程并发测试 Selenium Webdriver自动化测试,初学者可以使用selenium ide录制脚本,然后生成java程序导入ec ...