Java学习小笔记(一)

因为在看书了么,所以也就做点笔记,写一些小小的”心得体会“。

第一感想:在看Java的时候不由自主地会去和Python做比较……没办法的吧,对Python的印象太深刻了。比较不是刻意为了得出孰优孰劣之分,而是为了让自己了解区别到底在何处。所以也准备好好地拿Java与Python对比着学习。javainanutshell

先看本比较薄的书,也没什么经验,找了本《Java技术手册》来看,翻目录,介绍的还是比较详细的。

一般书我拿到之后,都是先把目录翻一遍,看看到底会讲些什么内容。

然后是导论。大致就讲讲Java的优势在哪里,为什么选择Java之类。我想说啊,一般书都是这样的,调调也差不多。目的么,当然是为了鼓励读者学习啦。以前我看C++的书的时候写的也是很玄乎的。不过目前为止,对我个人来说,还是Pyton的介绍最靠谱——就是我看到的介绍的印象和我使用起来的感受想符合。别的么……我比较笨,接受起来有困难……

不过必须要承认的是,Java的”工业应用“确实强大,算是久经考验的编程语言了。就我的了解,许多大型电子商务应用都是由Java完成的,而且Andorid也是用Java的。Python么,算是比较”新兴“的语言了,在国外当然有大型应用啦,比如Google,那个YouTube有一次挂掉的时候,显示的log就表明用的是Python。国内,例如豆瓣,用的就是是Python。

有些跑题……

书里提到了程序员效率,虽然Java没好好看起,不过我的直觉告诉我,Java效率高,Python也高,特别的,在于开发效率,因为Python优秀的设计,在设计上会更有优势。

往下翻是基本语法。有学习C(虽然学的非常烂)的经验,很多东西看起来还是非常快的,应该过一遍就行,以后要用的时候备查。和C语言大同小异,注意一些细节上的差别就行。不能在小问题上绊倒了。

对于一些纠结的语句:比如,int a=2;int v=++a + ++a * ++a;==>3+4*5,我可就不管了,首先,我不会写这么自己都看不懂的语句,还是Python养成的习惯,代码的可读性很重要。

Java中的布尔运算是和C类似的语法,与Python比较的话,Java中true和false并不是1和0的”定制“。

Java虽然也有解释器,不过还是需要将代码编译成字节码,不是机器码,通过JVM在计算机上运行。Python里面是通过PVM运行字节码。(这两种字节码的区别?)这些都是为了跨平台。Python那个解释器相当强悍呢,不需要编译什么,可以直接测试代码,用起来方便~

Java中仍保留使用大括号{}以及分号;,并且代码可以随意缩进(当然也提倡保持良好的格式了)。但是Python用习惯了就会忘记分号和大括号这两样东西,这一点在我前几天编写C语言版的作业的时候已经体现出来了,总是忘记加分号,导致编译失败(编译失败那个信息很让人沮丧的……)。而Python中强制使用缩进来控制代码层次,这一点相当独特并且有益:代码可读性。

异常处理机制:这个在现代语言中都是普遍需要的,Java和Python都有。(不过我写脚本的时候从来没用到过唉……我低端了……)

我自己来说吧,因为一直都只是”感兴趣“,并不擅长这些东西,所以借各种编程语言的书回来看,但是实际上并没有做过什么”工程“意义上的东西。感觉上是在做一种了解,这样以后必要的时候我能看懂。

OK,第一次Java学习到这里。本来小学期也没几天应该要抓紧时间的,前面几天的时间主要都去弄小学期的编程作业题去了……

加油~继续学习~

2010.07.11更新:

今天早上在翻看Python Cookbook这本书的时候,看到了Jython的有关内容,一想,我这又是Java又是Python的,结合在一起不就是Jython了么?

Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。 Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。

Jython和Python强调了代码的简明性、方便性和易读性。Jython使用缩排来对代码块定界以避免使用在Java中的大括号。Jython用新的一行来表示一个新的语句的开始,并有几个重要的区别,如允许在每个语句后省略分号。 Jython没有像在Java中的public、private和protected存取符,这样就给程序员提供了快速开发所需要的灵活性,并将注意力集中在程序逻辑上。正像前面所提到的,Jython不用明显的静态的类型定义,故程序员不需要从程序逻辑转移到类型定义上来。

详情可以参看http://www.jython.org/

今天整天用的是Arch,于是顺便pacman一下:

sudo pacman -S jython

差不多了,然后剩下的时间自己测试……

ps:Archlinux中Jython已经更新至2.5.1,回到Ubuntu下安装Jython竟然是2.2.1,试了一下,还不支持交互模式下以exit()退出……唉……面对Arch,能不心痒痒么……

Advertisements

2 thoughts on “Java学习小笔记(一)

  1. hi最近在家舒服么?我在博客上写了一篇最近实习的总结。算是“更新”了一次。并不是在wordpress上没有一起飘的朋友而不常来。。我也知道这个很强大。只是在CSDN上积重难返了。。。

  2. 哈,回来的时候在杭州和上海转了一圈,然后回家算是休息了一个星期吧,接着就在做FC排版的事情了~比较充实~

    你那个网址怎么不填你自己的域名呀?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s