20155216 2016-2017-2 《Java程序设计》第一周学习总结
教材学习中的问题和解决过程
根据自己的理解,每章提出一个问题
第一章:课本中介绍的JDK安装时在windows系统下的安装,而我们学习的是在Linux系统下的安装,运用Linux系统学习编程(尤其是JAVA)比运用windows系统学习编程的优势有哪些?
第二章:第二章提到可在编程时使用import偷懒,当同一包下使用多个类,多次使用import,程序该如何区分和识别不同的import,在后续的编程中又该如何使用import?
第三章:Java中的基本类型其中有布尔,这是以前学习C语言时未接触到的,并且Java的switch可用于Enum,也是C语言学习未接触到的,最后,Java中的类型定义和各种循环语句与C语言相比有何异同?
第四章:在Java编程中,通常使用分数和指数来表示浮点数。如果要求精确度,不用==直接比较浮点数的运算结果,若用浮点数直接表示,会出现什么错误?
第五章:Java语言中,为什么要对对象进行封装,并且何谓封装。如果不进行封装,会产生哪些不妥之处?
第六章:在面向对象中,什么是多态?并且在Java中,子类与父类的继承之间,存在哪些特定的规则?
第七章:什么是接口,接口如何定义行为,在编程过程中,我们应该如何应用接口?
第八章:Java中的所有错误都会被包装为对象,那么这些对象应该如何被抛出?并且抛出后对程序会有什么样的影响,又该如何添加正确的语句?
第九章:Collection和Map在Java程序的编写中分别起什么作用,它们之间存在什么联系?
第十章:Java语言中的输入和输出与C语言的输入和输出有什么不同,串流与输入和输出有什么关系,Java的字符输入和输出有什么特定的规则?
第十一章:线程具有优先权,当线程的优先权相同时,CPU将如何执行,CPU的排班指的是什么?
第十二章:在Java中引入Lambda的同时,需要重用现有的API,这里的重用指的是什么?Lambda的表达式在程序的编辑中起什么作用?
第十三章:机器程序中的时间与日期和我们印象中的有什么不同,时间和API有什么关系?它是如何定义并使时间和日期在程序的驱使下跑动的?
第十四章:NIO使用频道来衔接数据节点,这里所谓的频道指的是什么?NIO和NIO2能如何优化我们的程序或系统?
第十五章:日志在编程中起什么作用,与我们通常意义上的日志有什么区别?日志与API存在什么样的联系?
第十六章:Java的程序与数据库有什么关联?它是如何通过JDBC连接数据库的?
第十七章:是否每一个Java文档都会有与之对应的class文档吗?class文档与原文档有什么不同?Class文档中建立的对象对原对象有什么意义?
第十八章:泛型所指的是什么?所谓的枚举,究竟是在枚举什么?程序的注释如何实现它的自定义?
教材学习内容总结
对教材第一章和第二章的学习
第一章:
对于第一章的学习,首先了解的是Java的诞生以及版本的演进直至今日。首先,Java的由来是工程师们喝着咖啡讨论出来的,所以以“.java”结束的文档,图标便会成一杯咖啡(自己对于图标的理解)。它是一类为了节约资源而作的设计语言,也是程序语言的标准规范。它最初是用来攥写Star7上应用程序的程序语言。随着全球信息网的兴起,它便成为网页互动的代表,其主要的优势体现在它的跨平台语言设计上。Java最初以JDK的名称发表,将J2SE作为其平台名称。随着版本的不断演化,到了2004年,有了一个跳跃式的版本,不仅实现了对语法的简化,增加了泛型、枚举、注释等功能,使得Java成为一款较为完善的计算机语言。
之后学习的便是Java的三大平台。首先了解的是最基本的平台——Java SE。它分为JVM、JRE、JDK和Java四个部分。JVM是Java语言可以跨平台的保证,Java在编译时被翻译成中介格式的位码,JVM会将位码翻译成相依雨平台的机器码,所以,不同的平台必须安装专属的JVM,使得Java成为了跨平台的机器语言。而JRE是Java的执行环境,在装有JRE的计算机上,可以直接调用Java SE API中的链接库,无需在程序中再包装链接。JDK则主要是使Java编译的程序语言编译成“.class”文档,使“.class”文档可直接被调用并执行。Java EE平台主要适用于开发分布式、多层次、以组件为基础、以Web为基础的应用程序。而Java ME是最小的一个平台,主要应用于消费性电子产品或嵌入式系统,如手机和股票机等,并可开发出Java游戏和日历等程序。并且Java EE和JER都是建立在JVM的基础上的。
最后是JDK的下载和安装,课本上介绍的是在windows系统下的JDK安装,我们实践的是在Linux系统下的安装,主要学习了应用系统终端安装程序。
第二章:
第二章开始了对Java原始码的攥写。攥写方式是先建立一个文本文档,将代码输入后,以“xxx.java”来命名文件。在Linux系统下,用终端寻找这个文件并执行,这时,在同一个文件夹下,便会产生一个命名为“xxx.class”的文件(class是用来定义类的关键词),之后程序将会在终端下运行。对于Java语言的编写,我们必须注意每个字母的大小写和半角空格和Tab字符的使用,否则程序的运行将会出现问题,并且有时难以察觉问题所在之处。所以我们需要非常细心地编写Java程序代码。接着便是对PATH的了解,系统会根据PATH的信息在其路径中寻找java(.exe)程序,并可以在PATH中设定工具程序的路径信息,使系统在PATH中找到要执行的指令。所以在安装了多个JDK和JRE的系统中,确定PATH信息是非常重要的动作。并且执行一个java程序,需要JVM通过CLASSPATH指定可执行文件(.class)的路径信息寻找文档并执行。且javac编译程序时,也需要通过CLASSPATH指定的路径来寻找.class文档。
原始码和位码文档与SOURCEPATH也是理解程序编译的重要部分。原始码和位码文档是放在同一位置下的,在程序编译时,会先搜索-sourcepath指定的文件夹,主要是确定是否需要编译程序中的Main类和Console类,为程序的编译减少的不少的时间和资源。之后是package管理类的使用。它主要应用于对实体文档和类名称上的分类管理。原始码和位码文档都需要放置在与package所定义名称层级相同的文件夹层级中,并且要在包间可以直接使用的类或方法必须声明为public。接着,为了使程序简化或是偷懒,我们便可以使用import。在编程中如果需要用到很多的类名称,系统将会自动寻找import定义过的名称,可以让我们少打一些程序代码。但是当java.util和Arrays结合在一起时,程序便无法分清cc.openhome.Arrays和java.util.Arrays的使用,这时候,我们就需要明确的将程序打完整。
在程序编译时,必须指定正确的-sourcepath、-cp等自变量,执行程序必须使用完全吻合的名称,如果使用IDE代劳一些原始码文档与位码资源管理工作,将使我们的效率大大提高。
代码调试中的问题和解决过程
JDK的安装与调试
下载jdk-8u121,并对JDK进行相应的解压和安装。
JDK的测试
代码托管
git代码托管测试与上传
在git的上传过程中出现此问题。
解决方法,参考20155202张旭同学的博客中的方法解决了此问题。
【代码托管】 (https://git.oschina.net/Lee.X/JAVAma)
git代码托管上传完成。
其他(感悟、思考等,可选)
经过一个星期对JAVA和Linux终端的初步了解、学习和实践,为以后JAVA的学习做好了一套和软件和硬件的准备,同时也对JAVA语言的由来有了一个大概的认识。跟以前学习C语言相比,这次的JAVA学习的准备要充分得多。出于JAVA程序编写的复杂性考虑,加入更多的学习时间和精力,做好更加充分的准备是很有必要的。在现在有了一套系统性的学习方式之后,以后的学习中应当更加认真,尽自己的所能完成好每一次作业。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 6/200 | 1/4 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
20155216 2016-2017-2 《Java程序设计》第一周学习总结的更多相关文章
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结
丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结
<面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...
- 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...
- 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结
第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...
- 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...
- 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...
- 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结
面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...
随机推荐
- August 01st 2017 Week 31st Tuesday
A contented mind is the greatest blessing a man can enjoy in this world. 知足是人生在世最大的幸事. Being content ...
- c++我在努力----第三次作业体会
[github地址](https://github.com/kobe96/object-oriented) 这次作业的三大难点 1.类的应用 从我们并没有接触过c++,到掌握如何写一个程序,多个类的引 ...
- 1295. [SCOI2009]最长距离【最短路】
Description windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有的格子含有障碍物. 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离. 如果从格 ...
- linux命令使用总结
## linux 查看系统全部信息 uname -a ## linux 查看系统内核信息 uname -r ## linux 查看系统版本号信息 cat /etc/redhat-release ## ...
- 博客存档TensorFlow入门一 1.4编程练习
import tensorflow as tf import numpy import matplotlib.pyplot as plt #from sklearn.model_selecti ...
- ASP.NET如何批量保存动态生成的文本框?
对于OA系统,表单签核功能必不可少.而根据公司的情况,表单自然又五花八门,所以就要求能够让用户自己建立表单并设定表单的流程.填写内容等等.我之前写过一篇文章[地址:pivot的用法(SQL SERVE ...
- Boost noncopyable实现禁止拷贝的类
在C++中定义一个类,如果不明确定义拷贝构造函数和拷贝赋值操作符,编译期会为我们自动生成这两个函数.但是我们有时又希望禁止拷贝类的实例,这时可以私有化拷贝构造函数和拷贝赋值操作符即可. class d ...
- FLV封装格式分析
FLV官方文档:https://github.com/jiayayao/DataSheet/tree/master/media%20format/flv 一.FLV格式 FLV包括文件头(FLV he ...
- linux内存管理--用户空间和内核空间
关于虚拟内存有三点需要注意: 4G的进程地址空间被人为的分为两个部分--用户空间与内核空间.用户空间从0到3G(0xc0000000),内核空间占据3G到4G.用户进程通常情况下只能访问用户空间的虚拟 ...
- iOS之禁止所有输入法的表情
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSSt ...