大家好,欢迎来到IT知识分享网。
近期,对中心正在学习JavaSE的学员做了一个简单的调查,居然发现,刚开始学员在面对众多新的知识时,往往没有学习重点,顾此失彼。为了让大家更接下来给大家分享一个掌握编程技术的“捷径”——抓住主干,融会贯通。
在编程的起始学习过程中,学员们过于关注语言本身,从而忽略了软件的本质。我们再来回顾一下IEEE对软件的解释:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。从定义可以看出,归根结底,软件是对数据的处理。对数据处理,就需要临时或永久性地保存数据。那么再难的技术,其本质上就是在研究处理及持有数据的过程。处理数据的需求千变万化,而持有数据的方式是相对固定的。所以,将语言持有数据的相关内容掌握后,其他内容都在此基础上进行延伸即可。毫不客气地说,掌握了持有数据,就可以使用这门语言进行开发了。
一切都是数据
首先来讨论到底何为数据。一谈到数据,首先想到的便是数字和文字。当然,在“面向对象理论”还没被系统地提出时,数据指的就是以数字和文字为主的实体单位。然而对于Java这种比C++语言更“纯粹”的面向对象语言而言,任何数据均为对象。虽然属于杂合性语言的Java也可以使用面向过程的方式,但是将所有数据均看成对象使编程从总体思想上变得更为简单。而一旦使用面向对象去思考,所有的一切均为数据。
将数据分类来看,仍然分为基本数据类型:byte、short、int、long、float、double、boolean、char与引用数据共九大类型,记住这些类型,也只有这些类型。而在Java当中每种基本数据类型均有其对应的引用数据类型。所以,在JavaSE当中,将学习的重点放在引用数据类型的持有方式上即可。
基础持有数据方式:变量变量存储数据是最简单、直接的方式,我们要明白的是:编程中,变量在存储时,需要三个部分,即数据类型、变量名与值。
数据类型:这又要说回基本类型与引用类型两种数据的辨析。而辨析两种数据过于繁杂,由于基本类型均有对应的引用数据类型。所以,我们只要笼统地认为,任何数据均可以表示为引用类型。如果一定要使用变量存储基本类型的话,也只是数据持有的位置不同,可能在堆,可能在堆栈,可能在常量存储区域,会用到寄存器。如果学习时间紧迫的话,一时无法分清,就不要再浪费宝贵时间了。我们需要的是写程序完成功能!只要知道基本类型与引用类型有别,是两类数据类型即可。
对于变量数据类型,总结一句话便是:变量是在内存中临时持有引用数据类型或者基本类型的域。
变量名:即这个变量数值的名称指代(这里不做类似“句柄”、“引用”、“值传递”等名词在C++与Java中命名是否准确,以及在业界孰是孰非的讨论。我们要做的很简单,只要记住变量是有名字的,代表那个值即可)。我们可以有一个叫做a的变量存储的是基本类型,或者定义一个名称叫b的变量存储了引用类型。
值:谈到值就要谈到数据类型。由于解决了数据类型的问题,所以我们的值只有引用或者基本类型值。
持有数据方式:数组
复杂的现实业务致使一次一个变量持有数据的处理方式,不能胜任数据持有的需求。所以,数组出现了。我们只要注意以下问题,数组的知识就全部掌握了。
数组是用来存储多个数据类型相同的数据,可以存放任意数据类型;你定义一个数组时必须预先知道它的长度;数组中每一个数据叫做元素,都可以使用索引访问到,索引将数据从0开始编号,一直编号到数组长度小1的数;定义格式:数据类型[ ]变量名 = new 与等号左边相同的数据类型[该死的数组长度];数据访问格式:数组名[元素索引]。
持有数据方式:集合
在JavaEE的项目中,恐怕没有比集合再常用的容器了。在日夜颠倒地开发软件时,用的最多的基本就是集合了。
在解决问题时,大多时候我们并不知道需要多少个对象,或者他们存活多久。比如,黑客在盗取12306时绝对不知道会有多少人的数据,那么,就用集合持有这些数据即可(事实上并没有这么简单)。我们学习的核心内容,需要掌握的内容如下:
集合分为单列集合与双列集合,可以存储引用类型,元素类型可以不一致;List/ArrayList集合:单列集合,可变的数组。提供了许多扩展方法;Iterator:使知识体系更为系统的中间产物,用来迭代(遍历)集合。比较麻烦,使用foreach循环(增强for循环)即可;Map/HashMap集合:双列集合,基于键值对的集合体现。存储的内容可解释为数学中的映射关系;泛型:类似集合这样,可以存储任意类型,但会带来很多代码行为上的不便,那么直接使用泛型规定好要使用的数据类型即可;枚举:枚举不属于某个集合,但是其存储的为群组数据,即一个常量集,类似集合。由于静态常量的存在以及数据库数据字典的存在,枚举可被其他内容替代实现的可能性很大。可以在学习阶段先“放过它”。
在程序临时持有对象之后,不得不说一下持久化持有数据。如果从事Java企业级开发,绝大部分的持久化数据动作由数据库完成。配合使用IO操作可以完成持有数据的转移。那这些IO内容就是在学习集合以后需完成的学习内容了。当你掌握了这些内容后,配合之前学习的面向对象的内容,那么JavaSE最核心的内容便已经掌握,甚至已经达到可以去某些Java软件公司做实习生的水平。
依照这个线路,一个仅有计算机基础常识的学员,不需考虑诸如数据结构、操作系统、微机原理、网络基础等计算机专业知识的储备,便可以在一周内完成JavaSE最核心内容的知识铺垫。这样速成的培养可以满足简单、临时性的小型软件一线开发工作。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/41858.html