教材学习中的问题和解决过程

根据自己的理解,每章提出一个问题

第一章:课本中介绍的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程序设计》第一周学习总结的更多相关文章

  1. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  2. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  3. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结

    丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  7. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

  8. 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...

  9. 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  10. 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结

    面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...

随机推荐

  1. 在Activities之间导航

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...

  2. python 函数式编程之lambda( ), map( ), reduce( ), filter( )

    lambda( ), map( ), reduce( ), filter( ) 1. lambda( )主要用于“行内函数”: f = lambda x : x + 2 #定义函数f(x)=x+2 g ...

  3. c++计算器后续(1)

    自娱自乐: 大概是一直在说的代码规范,大概是玩一玩,以上. 代码规范: 参考原文:链接 相关节选: 4 程序的版式 4.4规则:较长的语句(>80字符)要分成多行书写. 4.5规则:不允许把多个 ...

  4. JavaScript获取距离某天前或后的日期

    /** * param  Date Object:Mon May 11 13:53:08 UTC+0800 2015  * n 自param 起向后多少天 * return Date Object:M ...

  5. POJ2187 Beauty Contest(旋转卡壳)

    嘟嘟嘟 旋转卡壳模板题. 首先求出凸包. 然后\(O(n ^ 2)\)的算法很好想,但那就不叫旋转卡壳了. 考虑优化:直观的想是在枚举点的时候,对于第二层循环用二分或者三分优化,但实际上两点距离是不满 ...

  6. 解决MySQL新建用户后无法登录问题

    在PHPMyAdmin里创建了一个新的用户,并且创建了密码,但是却一直无法使用这个账户登录到MySQL里. 解决过程分享给大家~ 1.以root身份登录mysql 2.删除MySQL中默认存在一个用户 ...

  7. [Python 网络编程] makefile (三)

    socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...

  8. maven加速镜像

    <mirror> <id>repo3</id> <mirrorOf>central</mirrorOf> <name>Human ...

  9. [AHOI2001]多项式乘法

    \([Link](https://www.luogu.org/problemnew/show/P2553)\) \(\color{red}{\mathcal{Description}}\) 给出两个多 ...

  10. 生产者-消费者模型-线程安全队列Queue

    #python3 #product new data into the queue #comsume data from the queue from queue import Queue impor ...