20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结

教材学习内容总结

第一周重点学习第一章和第二章。
第一章总的来讲,我认为可以称之为本书的绪论,介绍了包括JAVA名字的由来等历史背景、JAVA的三大平台,在我们JAVA学习中则重点学习JAVA的JAVA SE平台,JAVA SE是JAVA平台标准版的简称,以及需要安装的JDK和API基本类库。同时对于一些重点我也进行了较为详细的学习。

了解JAVA的历史
为什么需要JAVA程序设计语言

JAVA一开始为了消费性数字产品设计,1993年第一个全球信息网浏览器Mosaic诞生,James Gosling认为因特网与JAVA的一些特性不谋而合,利用JAVA Applet在浏览器上展现互动性媒体,立即引起了许多人的注意。JAVA跨平台的特性是的他一跃成为当今最流行的程序设计语言。

JCP与JSR、RI、TCK的关系

JSR必须经过JCP投票通过才能成为最终的标准文件,JSR成为最终文件后对其成果做出免费且开发原始码的参考实现,称为RI,由TCK作为技术兼容测试工具箱。

Oracle JDK与Open JDK

OpenJDK是Sun在2006年末把Java开源而形成的项目,Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能。但那实际上,现如今使用的OpenJDK 7和Oracle JDK 7在程序上是非常接近的,两者共用了大量相同的代码,所以我们编译的OpenJDK,基本上可以认为性能、功能和执行逻辑上都和官方的Oracle JDK是一致的。

JAVA学习路径
JVM/JRE/JDK
面向对象技术——继承、封装和多态

封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个单元(类)中。被封装的对象被称为抽象数据类型。封装的意义在于保护代码或数据免受我们无意中的破环,保护数据不被其他使用该数据的函数意外的修改。

继承主要实现重用代码,节省开发时间。根据我的理解我想举个例子来说明继承是什么,但是否正确还请老师为我评判。大一的两个学期我们都学了高数,上学期由A老师教,下学期由B老师教。B老师就是A老师的继承。

多态是统一操作作用于不用的对象,可以有不同的解释,产生不同的执行结果。多态存在于编译和运行中。编译时的多态为我们提供了运行速度快的特点,而运行时的多态则带来了高度灵活和抽象的特点。

区别JRE和JDK

一句话总结两者的区别就是JDK用于撰写JAVA,JRE用于执行JAVA。
但通常我们下载的JDK本身都附带Private JRE。

JAVA——从Hello World开始

在windows系统下,我开始了‘Hello World!’

按照书上的步骤下载安装JDK后,进行设置pass变量

然后把新建的JDK的位置地址复制过来

就能实现‘Hello World!’了

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

  • 第三章:Java编程中如何区分常量和变量?

常量即保持常态的量,例如定义:final int a=1;则a此时为常量。变量,也就是可变的量,例如定义int a;则a此时为变量。

  • 注:String的意义:String不属于8中基本数据类型,String是一个对象。由于对象的默认值是null,所以String的默认值是null。new String()和new String("")都是申明一个新的空字符串,而不是null。

String str="hello"和String str=new String("hello")的区别:

String str = "hello": 如果内存中已经为hello字符串分配了内存,那么str指向hello内存对象的地址;
String str = new String("hello"); 内存中重新分配一片内存区域存放hello, 然后str指向hello,也就是内存中实际有2个hello对象,而且存放的地址不一样。

  • 第四章:为什么不能说类是JAVA语言中对对象的表示?

类的范围比较大,一个类可以只有方法而没有属性,而没有属性的类是不能称作对象的,比如对应人的动作可以有跑、跳、走等,这个表示属性的类就没有对象。

  • 第五章:JAVA中方法和封装有什么区别?

1、构造方法的参数用来创建对象时初始化变量,属性的封装可以用来设置属性的值,和获取属性的值。
2、构造方法是没有返回值的,而属性的封装是有返回值的。

  • 第六章:继承和多态有什么区别?

继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。

多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。

  • 第七章:接口的作用?

接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点

  • 第八章:什么是异常处理机制?

异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。

Java的异常分为两种,checked异常(编译时异常)和Runtime异常(运行时异常)。Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。

  • 第九章:collection和map是什么?

Collection是最基本的集合接口,一个Collection代表一组对象,即Collection的元素。

Map也是一个接口,提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。

  • 第十章:串流与输入/输出有什么关系?

JAVA是以串流的方式来处理输入和输出的,即是两者的衔接。

  • 第十一章:多线程与并行API有什么关系?

  • 第十二章:Lambda有什么作用?

使用Lambda设计的代码会更加简洁。当编写Lambda表达式时,也会随之被编译成一个函数式接口。

  • 第十三章:如何确定准确的时间与日期?

  • 第十四章:为什么要使用NIO?

NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度

  • 第十五章:如何调用API?

java发一个http请求过去,带上参数就可以了啊,跟我们在浏览器上访问资源是一样的 只是它返回的是json格式的数据而已

  • 第十六章:什么是JDBC?

JDBC是JAVA联机数据库的标准规范。具体而言,他定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API。

  • 第十七章:什么是反射与类加载器?

反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。

  • 第十八章:什么是泛型?

泛型,即“参数化类型”。参数化类型就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(形参),然后在使用/调用时传入具体的类型(实参)。

环境变量安装过程:

第一步:新建变量
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.7.0

第二步:新建变量
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;

第三步:编辑变量,找到变量名Path,点击编辑按钮,点击编辑文本按钮,在变量值首部添加 .;%JAVA_HOME%\bin;即可。

代码托管

  • 我在Linux和windows系统下分别按照学长和百度上的博客进行git的设置,但到了最后一步总会显示没有访问权限

然后尝试在cmd中输入老师给的命令

最后通过提问的方式,得知要在git bash中输入该命令并且在当前文件夹中有statistics文件的情况下

还是出现了访问限制的问题

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结的更多相关文章

  1. 20155207王雪纯 2006-2007-2 《Java程序设计》第二周学习总结

    20155207王雪纯 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 整数类型:short(占2字节).int()占4字节.long(占8字节) " ...

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

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

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

    20155313 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周的Java学习进入了一个全新的阶段,对于我这样的并没有每天花费时间钻研的同学来说,最后几 ...

  4. 20145231 《Java程序设计》第一周学习总结

    20145231 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台Java SE,Java EE,Java ME.其中,Java SE是我们学习的基础. Java S ...

  5. 20145238-荆玉茗 《Java程序设计》第一周学习总结

    20145238 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台:由于java领域的应用越来越广,根据不同级别的应用开发区分了不同的应用版本,后正式更名为Java ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. mysql 基础学习2

    1.修改表字段顺序 在 字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置 默认ADD增加的 ...

  2. 原生ajax和jsonp

    封装方法: function ajax(options) { options = options || {}; options.type = (options.type || "GET&qu ...

  3. C++课堂作业二之反转链表

    1问题链接: https://www.patest.cn/contests/pat-b-practise/1025 2解题想法: 这题原来用数组打过,现在是想保留暂存数据的数组,然后按顺序提取出来到创 ...

  4. 内存池-转载自IBM

    [转载自IBM]讲的很好~推荐看看 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避免地要大量用到堆上的 ...

  5. lvs安装文档

    安装lvs应用模块 1.安装依赖包: [root@client lvs]# yum -y install ipvs* 2.验证本机ip_vs模块是否加载 [root@client lvs]# -.el ...

  6. metasploit 渗透测试笔记(基础篇)

    0x00 背景 笔记在kali linux(32bit)环境下完成,涵盖了笔者对于metasploit 框架的认识.理解.学习. 这篇为基础篇,并没有太多技巧性的东西,但还是请大家认真看啦. 如果在阅 ...

  7. IOS .a静态库的和.framework制作

    什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking 闭源库 不公 ...

  8. 【[HEOI2014]大工程 】

    可能是虚树板子题了 首先先把虚树建出来,但是这里和那道虚树的入门题不一样,这里所有的询问点都得在虚树里,所以不会存在那种直接不如栈的点 之后我们考虑一下这个三个要求的东西 第一个操作我们需要统计虚树上 ...

  9. 4、Android-数据存储方案(使用LitePal操作数据库)

    4.5.使用LitePal操作数据库 4.5.1.LitePal简介 LitePal是一款开源的Android数据库框架 采用了关系映射(ORM)的模式 将经常使用的一些数据库做了封装 是得不用编写S ...

  10. 20165302 学习基础和C语言基础调查

    学习基础和C语言基础调查 ====== 一,技能学习经验体会 要问我有什么技能比大多数人强,这个我还真的不敢说,虽然我在很多方面都有自己的一些了解,比如乐器和绘画,但也都是一知半解,并没有在某一方面出 ...