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. win环境下使用sqlmap写shell + MYSQL提权(默认就是system权限)

    今天在来一个mysql提权 (也可以说是默认system权限提的) 在被黑站点找到一个站   先教拿shell是有注入漏洞的 有可能是root权限的注入点 可以确定是有注入漏洞的 也得到了 物理路径 ...

  2. js布局库

    1.viz.js The solution was that someone cross compiled Graphviz to Javascript using llvm + emscripten ...

  3. Quick setup

    Quick setup — if you’ve done this kind of thing before We recommend every repository include a READM ...

  4. php7.0编译安装

    1.解压安装  tar zxvf php-7.0.2.tar.gz  cd php-7.0.2 2.安装依赖库: yum -y install libjpeg libjpeg-devel libpng ...

  5. rinted端口转发工具

    下载包: [root@localhost opt]# wget https://boutell.com/rinetd/http/rinetd.tar.gz 解压编译安装: [root@localhos ...

  6. HDU 1050(楼道搬桌子问题)(不是贪心解法,思路很新颖)

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. FreeRTOS+ WolfSSL + Lwip Demo

    FreeRTOS+ WolfSSL Demo下载 LWIP 源码下载  2018年2月5日09:39:08 WolfSSL is about 10 times smaller than yaSSL, ...

  8. uboot 移植 要点

    1.第一 首先要  学会 shell 语法   比如 变量的 概念 变量的使用 ,if 语法  ,以及简单 IF 语法(与 或预算),以及  while for 循环 等等语法,才能看得懂 uboot ...

  9. 前端基础-CSS是什么?

    阅读目录 一. 什么是CSS 二. 为何要用CSS 三. 如何使用CSS 一. 什么是CSS CSS全称Cascading Style Sheet层叠样式表,是专用用来为HTML标签添加样式的. 样式 ...

  10. linux查看网卡地址和硬盘序列号

    linux查看网卡地址命令:ifconfig linux查看硬盘序列号命令:hdparm -i /dev/sda