Some basic knowledge of JAVA

作者在 2008-10-06 20:41:36 发布以下内容
   1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事?
  答:Java是一种通用的,并发的,强类型的,面向对象的编程语言(摘自Java规范第二版) JDK是Sun公司分发的免费Java开发工具,正式名称为J2SDK(Java2 Software Development Kit)。

  2 什么是JRE/J2RE?
  答:J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE。
  如果你只需要运行Java程序或Applet,下载并安装它即可。
  如果你要自行开发Java软件,请下载JDK。在JDK中附带有J2RE。
  注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行Applet,务必安装一个J2RE或JDK。

  3 学习Java用什么工具比较好?
  答:作者建议首先使用JDK+文本编辑器,这有助你理解下列几个基础概念:path,classpath,package并熟悉基本命令:javac和java。并且下载和你的JDK版本一致的API帮助。
  如果你不确定类或函数的用法,请先查阅API而不是发贴求助。
  当你熟悉Java之后,你可以考虑换一个IDE。很多人推荐JCreator,实际上JCreator的功能还 是很弱的。
  作者推荐eclipse,下载网址http://www.eclipse.org 。因eclispe是免费的.

  4 学习Java有哪些好的参考书?
  答:作者首先推荐Thinking in Java,中文名《Java编程思想》,有中文版。
  该书第一章介绍了很多面向对象的编程思想,作为新手应当认真阅读。
  除此以外,O′relly出版社和Wrox出版社的书也不错。作者本人不喜欢大陆作者的书。
  也许你觉得英文太难,但是网上大多数资料都是英文的。另外,你需要经常查阅API,而那也是英文的。

   5 什么是J2SE/J2EE/J2ME?
  答:J2SE就是一般的Java。
  J2ME是针对嵌入式设备的,比如Java手机,它有自己的SDK。而J2EE使用J2SE的SDK。
  J2EE规范更多的是对J2EE服务器的要求和开发人员的约束。详情见后继《J2EE FAQ》。
  
  6 package是什么意思?怎么用?
  答:为了唯一标识每个类并分组,java使用了package的概念。
  每个类都有一个全名,例如String的全名是java.lang.String,其中java.lang是包名,String是短名。
  这样,如果你也定义了String,你可以把它放在mypackage中,通过使用全名mypackage.String和 java.lang.String来区分这两个类。同时,将逻辑上相关的类放在同一个包中,可以使程序结构更为清楚。你要做的就是在java文件开头加一行"package mypackage;"。
  注意包没有嵌套或包含关系,A包和A.B包对java命令来说是并列的两个包。

  二、I/O
  1 输出一个int/double/字符串?
  答:在程序开始写:
  PrintWriter cout = new PrintWriter( System.out );
  需要时写:
  cout.print(n); 或者cout.println("hello")等等。

  2 我发现有些书上直接用System.in和System.out输入输出,比你要简单得多。  答:java使用unicode,是双字节。而System.in和System.out是单字节的stream。
  如果你要输入输出双字节文字比如中文,请使用作者的做法。

  3 我想读写文件的指定位置,该怎么办?
  答:你肯定没有认真看API。java.io.RandomAccessFile可以满足你的需要。

  4 怎么判断要读的文件已经到了尽头?
  答:你肯定没有认真看API。在Reaer的read方法中明确说明返回-1表示流的结尾。

  三、 关键字

  1 java里面怎么定义宏?
  答:java不支持宏,因为宏代换不能保证类型安全。
  如果你需要定义常量,可以将它定义为某个类的static final成员。

  2 java里面也不能用goto。
  答:甚至在面向过程的语言中你也可以完全不用goto。请检查你的程序流程是否合理。
  如果你需要从多层循环中迅速跳出,java增强了(和C++相比)break和continue的功能。
  例如:
  outer :
  while( ... )
   {
  inner :
  for( ... )
  {
  ...
  break inner;
  ...
  ... continue outer;
  ...
  }
  }
  和const一样,goto也是java的保留字以备扩充。

  3 java里面能不能重载操作符?
  答:不能。String的+号是唯一一个内置的重载操作符。你可以通过定义接口和方法来实现类似功能。

    4 注意一个类的static成员变量是唯一的,被所有该类对象所共享的。
HJY | 阅读 4357 次
文章评论,共0条
游客请输入验证码
浏览569804次