备注:之所以选择这边书,也是挺偶然的(跟同学借的)。本来在看其他经典的电子版,居然让我看到一本书,不管那么多,看了再说。。。发现还不错,对于象我这种刚刚进门的家伙的确不错(第一感觉:例子不少!,入门应该可以了)。好,那就开始写点东西吧!备注2:我用的是xp+ecilpse(xp当然是盗版的啦。不过ecilpse的确是个很不错的工具,推荐),下载了一个sdk,设置好就可以用上ecilpse了。正文:1:java语言评评看:其实语言总是相通的,无论是c还是c++,无论是pascal还是java,在最底层的方面总是有着关联的,所以学好了一门,其他的也就水到渠成了。java的特点是完全的面向对象,因为程序全是用类来包装的,或许看起来有点烦,但是我却觉得比起c++来,这种做法有他的好处,至少可以一开始就有着对象的概念,而不是类c代码的重现。2:java语言结构:对于一个java应用程序,也是有若干类组成的,同样包含有主函数main,而跟c++一样也是强类型,而且区分大小写的。而对于一个Applet程序,使用的是另外一种机制,因为他没有main函数。3:语言元素分析:对于学过c或者c++的兄弟来说,这些东西基本都是是很熟悉的啦。就看看比较特别的就可以了,例如String类型,的确是非常的好用,功能强大。又例如数组类型,声明和初始化的手段就让人有点郁闷了。呵呵,基本都要用到new,不过,免除了垃圾回收,也是一大幸事。4:类,对象和接口:这些东西其实也不难,不过也要下功夫去整理一下一打概念!由于java只有类,这就要求我们在实用的时候一点要存在对象,这点很重要,建立这个观念,对于以后的学习是很有帮助的。还有要特别的注意的就是一些关键字了,就像权限的区别(这些东西本来很一般,但是由于有包的概念,学习c++的人可能就会弄错了,因为的确有些不同)。staic关键字,这个也很重点,一个很重要的概念就是static属于类不属于对象,可以看成是所有的对象共用一个,因此对象对他的改动必然会影响到其他的对象。this关键字,这个还好,说白了就是实用该类的当前对象的引用。还有就是final关键字。还有两个java独特的,就是package和import了。这两个东西完全是概念层次的东西。还有一些其他的特性,象多态,抽象,甚至是对象转换也是跟c++大同小异的。最后就是super了,这个东西可以看成是显式调用基类的函数,也没什么特别的。总体来说, java和c++在很多地方是相当类似的,如果c++基础不错,学起来就象坐飞机了,不过既然是两门语言,总是有不同的。我认为,学的时候,以浏览的方法就可以了,粗略了解一下语言的特性,然后在后面的学习中去理解这种特性的好处更加能够学得更快,如果还是慢慢爬,我想很大一部分就是重复学习了。 5:数组字符串:数组是java的一个亮点,因为都要用到new,而且格式有点怪怪的(从c++的角度来看),你看呀!int arr=new int[size];的确是很搞,不过java却允许使用变量指定数组的大小,的确方便不少。字符串更是让我非常的兴奋,java提供了一个String的类,使用它可以完成很多任务,这要归功于String 的大量方法,随便举个例子就有计算长度的length,比较的equal,判断是否包含的startWith和endWith还有比较大小的compare to,而用于字符串检索的的方法也是非常的丰富。同时,还提供了不少方法可以进行类型的转换(也包括字符数组和字节数组)。更加让人高兴的是,有了一个StringToKenizer的类来进行分析字符串包含的单词,这的确省了不少麻烦。我可以说,关于字符串,是java让我充满信心和崇拜之情的一个闪光点!6:日期时间和数字:总体来说也就是几个类,Date,Calender和Math类了。对于Date而言,使用SimpleDateFormat更是方便许多,格式多样,推荐使用。而对于Math类,也就是一些常用的数学计算方法而已,谈不上什么高层次的东西。7:总结:从c++到java的转变也不是非常难,甚至可以说是挺简单的一件事情,只是java就只有类了,格式上追求的也许就是所谓的“后中先”(围棋术语),虽然格式好像过于严谨,让人感到有点烦,但是却是为了更好的开发做准备,毕竟方方框框比较明确。就到这里吧。。。待续。。