WEB开发网
开发学院WEB开发Jsp Java 答疑库 阅读

Java 答疑库

 2008-01-05 09:19:36 来源:WEB开发网   
核心提示:问题1:在我的系统中有几个字处理程序,我应该选择哪一个来编辑java源程序呢?问题2:假如每条语句之后都要加上分号,Java 答疑库,那为什么在象//hello这样的语句后面不用加上分号呢?问题3:什么是字符?问题4:当我在使用javac编译程序时,出现"Invalid argument"的错误信息

  问题1:
  在我的系统中有几个字处理程序,我应该选择哪一个来编辑java源程序呢?

  问题2:
  假如每条语句之后都要加上分号,那为什么在象//hello这样的语句后面不用加上分号呢?

  问题3:
  什么是字符?

  问题4:
  当我在使用javac编译程序时,出现"Invalid argument"的错误信息,我该如何改正它?

  问题5:
  在编译器提示出错的语句中,我找不着错误,该怎么办?

  问题6:
  我在Web页面上可以运行一个有用的程序,我能脱离浏览器独立运行它吗?

  问题7:
  java程序有着跨平台的特性,那为什么有些java编译器(象Sunsoft Java工作平台)只能运行在特定的系统上?

  问题8:
  我的计算机在网页中运行java程序,是否会带来病毒?

  问题9:
  单个java程序可以既是应用程序又是java Applet吗?

  问题10:
  所有传递给应用程序的参数都必须是字符串吗?

  问题11:
  java程序中的行是否同语句一回事?

  问题12:
  为什么变量名的第一个字母要小写,比如gameOver?

  问题13:
  是否可以让具有相同字母的两个变量名大小写不同?比如ABC和abc

  问题14:
  我编的程序在其他机子上浏览时,总是说***.class not found,我想问一下,对于在系统接口中的class,我怎样知道我的程序使用了哪些类.?

  问题15:
  String s1 = "123",如何转换成整数 int a1 = 123,相反的转换又如何实现?

  问题16:
  System.out.PRint()为什么不输出?

  问题17:
  把一个数组作为入口参数传给一函数,函数中如何知道该数组的大小?

  问题18:
  程序运行时总是出现NullPointerException,可编译也能通过,不知为什么?

  问题19:
  为什么使用编译器javac编译时,出现′javac′ 不是内部或外部命令,也不是可运行的程序或批处理文件(javac: Command not found)的错误

  问题20:
  使用java运行class文件时,出现如下的错误:
   java Helloworld.class
   Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class

  问题21:
  现在有哪些关于Java技术的发布版本,它们包含哪些内容?

  问题22:
  在哪些平台上基于java技术的软件是可用的?

  问题23:
  我应该使用Solaris JDK 和JRE的ProdUCtion Release还是Reference Implementation?

  问题24:
  我喜欢的平台下的使用哪个JDK版本?如何得到?

  问题25:
  我如何下载java技术或者Java 2 SDK的软件?如何安装?

  问题26:
  哪里我可以找到关于HotJava浏览器的信息?

  问题27:
  我如何开始使用java编程?

  问题28:
  我需要非凡的服务器软件来运行Applet吗?

  问题29:
  谁在颁发java技术许可?

  问题30:
  javascript技术可用吗?我如何得到更多关于它的信息?

  问题31:
  我所听到过的Netscape Javascript脚本的安全问题是怎么回事?

  问题32:
  我不能找到sun.*包中任何类的API文档。它们在哪里?

  问题33:
  为什么开发人员不应该编写调用′sun′包中方法的程序?

  问题34:
  从哪里我可以得到java语言的源文件?

  问题35:
  java这个名字从何而来?它代表什么?

  问题36:
  Java software team能够一直通知我关于最近的开发的进展吗?

  问题37:
  有哪些关于java的新闻组?

  问题38:
  SUN公司可以提供哪些文档?什么格式?如何得到?


  问题1:在我的系统中有几个字处理程序,我应该选择哪一个来编辑java源程序呢?
  解答:只要能将文件保存为不带任何非凡格式的文本文件,选择哪个都可以。


  问题2:假如每条语句之后都要加上分号,那为什么在象//hello这样的语句后面不用加上分号呢?
  解答:注释是完全被编译器忽略的。假如在你的程序中某一行加上了"//"号,这就告诉编译器忽略"//"右边的一行语句。


  问题3:什么是字符
  解答:字符就是单个字母、数字、标点符号或其它符号。例如,T,5以及%。字符以原文的形式存储在变量中。


  问题4:当我在使用javac编译程序时,出现"Invalid argument"的错误信息,我该如何改正它?
  解答:你可能在键入javac命令时遗漏了.java扩展名。此外,当前目录必须是要编译的java源文件所在的目录。


  问题5:在编译器提示出错的语句中,我找不着错误,该怎么办?
  解答:错误信息显示的行号通常并不是真正出错的地方。检查错误行号前面的语句,或许你可以找到错误。错误通常是在同一个程序块中。


  问题6:我在Web页面上可以运行一个有用的程序,我能脱离浏览器独立运行它吗?
  解答:在大多数情况下是不可以的。标准的Java的程序均运行在Web页面上或是命令行中。可以写一个支持这两项的java程序,大部分你能找到的程序都不能兼顾这两个功能。


  问题7:java程序有着跨平台的特性,那为什么有些java编译器(象Sunsoft Java工作平台)只能运行在特定的系统上?
  解答:java程序有可能在非凡的系统中受到限制(象兼容的PC机),因为java程序为了达到某种目的可能包含一些非java的程序。一个java程序可能调用另一个由C++写成的程序以达到某些特性。


  问题8:我的计算机在网页中运行java程序,是否会带来病毒?
  解答:由于网页程序语言的严格限制,对其控制下的读写和对文件的修改也是受控制的,不存在任何从页面上读java程序而导致病毒的途径,除非在你的系统中由你赋予这些程序完全的许可。答应他人在你的硬盘上进行操作。那些下载后在命令行中运行的java程序则有着与其它程序相同的风险,假如你使用从网上下载的程序,你必须用好的防毒软件进行检查,并做到经常有规律地进行。


  问题9:单个java程序可以既是应用程序又是java Applet吗?
  解答:是可以的。假如程序不是很简单的话,这样做通常是很笨拙的。只要Applet加上main()模块就可以当作应用程序运行,但在应用程序中,却无法加上init()块和paint()块而使它以java Applet的形式运行。大多数程序或者是应用程序或者是Applet,而不会两者皆是。


  问题10:所有传递给应用程序的参数都必须是字符串吗?
  解答:当程序运行时,java将所有的参数当作字符串存储。


  问题11:java程序中的行是否同语句一回事?
  解答:不。尽管一般创建程序都是一行一个语句,但这只是为了使程序更易于理解,这不是必须的。java编译器在它对程序进行编译时并不考虑行、空格和其它格式的形式,编译器只要求在语句的结束处有分号。你可以在一行上写多个语句,尽管我们通常不提倡这样做。


  问题12:为什么变量名的第一个字母要小写,比如gameOver?
  解答:这是为了很轻易将变量和Java中其它元素区分开来。另外,在命名变量时遵循一致的风格的好处是当你在程序中的几个不同的地方使用同一个变量时可以避免发生的错误。


  问题13:一个变量时可以避免发生的错误。 问题13. 是否可以让具有相同字母的两个变量名大小写不同?比如ABC和abc
  解答:不同大小写的变量名被看成是不同的变量,Java对大小写是敏感的。因此象上面那样让相同的名字使用两次是可以的。但是,当你或某个其他人要指出程序是如何工作的时候,这样做很轻易引起许多混乱。而且这样也增加了程序中使用错误变量名的可能性,而这个错误编译器是不能发现的。这样的错误只会影响程序的运行结果,我们称这样的错误为逻辑错误。这种错误必须由一个注重力集中的程序员在测试时发现。


  问题14:我编的程序在其他机子上浏览时,总是说***.class not found,我想问一下,对于在系统接口中的class,我怎样知道我的程序使用了哪些类.?
  解答:编译的时候用选项 javac -verbose ******** 可以看你的程序都用到了类库中的哪些类。


  问题15:String s1 = "123",如何转换成整数 int a1 = 123,相反的转换又如何实现?
  解答:a1=Integer.parseInt(s1),s1=Integer.toString(a1),还有很多方法,参见帮助文件。


  问题16:System.out.print()为什么不输出?
  解答:输出流收到一个换行符才将缓冲区中的内容输出,在程序最后加一行 System.out.flush() 应该就可以。


  问题17: 把一个数组作为入口参数传给一函数,函数中如何知道该数组的大小?
  解答:数组对象都有 .length属性,如:int count = yourArray.length ;


  问题18:程序运行时总是出现NullPointerException,可编译也能通过,不知为什么?
  解答:使用变量前别忘了new之,多数情况都是因为这个问题。


  问题19:为什么使用编译器javac编译时,出现′javac′ 不是内部或外部命令,也不是可运行的程序或批处理文件(javac: Command not found)的错误
  解答:产生的原因是没有设置好环境变量path。Win98下在autoexce.bat中加入path=%path%;c:jdk1.3in,Win2000下则控制面板->系统->高级->环境变量->系统变量...看到了变量Path,双击Path,在后面加上c:jdk1.3in。当然我们假设JDK安装在c:jdk1.3目录下。


  问题20:使用java运行class文件时,出现如下的错误:
       java Helloworld.class
       Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
  解答:运行程序的时候不需要也不应该加上.class扩展名,java解释器会把前面的类名作为一个包名来解释的。


  问题21:现在有哪些关于java技术的发布版本,它们包含哪些内容?
  解答:当前Java编程语言是由Sun Microsystems公司以Java 2 SDK和Java 2 Runtime Environment的形式发布的。从Java 2 Platform software home page (http://java.sun.com/j2se/)可以得到所有Sun Java 2平台的发布版本的相关软件。
  每一个Java 2 SDK的标准发布版本包含:
  ● java编译器
  ● java虚拟机
  ● java类库
  ● java AppletViewer
  ● java调试器和其他工具
  ● 文档(在一个分离的下载文件中)
  要运行Java 1.0 Applets,需要使用Netscape Navigator 3.x或者其他支持Java Applet的浏览器。要运行Java 1.1.x Applets,需要使用HotJavaTM 1.x 或Netscape Navigator 4.x或者其他支持最新版本java API的浏览器。


  问题22:在哪些平台上基于java技术的软件是可用的?
  解答:Sun提供了Windows 95, Windows 98, Windows NT, windows 2000, Solaris-SPARC, Solaris-Intel, 和linux的java平台


  问题23:我应该使用Solaris JDK 和JRE的Production Release还是Reference Implementation?
  解答:下面的内容对1.3.0版本以前的版本适用。从版本1.3.0开始,就没有Reference Implementation了。
  Reference Implementation - 那些要得到Solaris下 JDK 和JRE最新版本并且不需要优化的性能的人可以获得Reference Implementation
   ? JDK 1.1 Reference Implementation
   ? JRE 1.1 Reference Implementation
   ? JDK 1.2 Reference Implementation
   ? JRE 1.2 Reference Implementation
  Solaris下的二进制文件和windows下版本是从同样的源代码编译而来的。Solaris下1.1版本的Reference Implementation没有JIT编译器。本质上Reference Implementation一个tar文件的形式被发布,可以解压到任何目录,所以安装的时候不需要root权限。
  Production Release - 相对应的,那些需要把applications/applets作为产品发布的,需要性能最优化的Solaris下的JDK和JRE的客户可以使用Solaris Production Releases:
   ? JDK production release
   ? JRE production release
  Production Releases基于具有相通版本号的Reference Implementation,包含一个JIT编译器,额外的性能调整,和错误更正。Production Releases作为Solaris的标准软件包安装,所以安装时需要root权限。
  Reference和Production Release的各种不同级别的技术支持可以通过标准Solaris帮助频道得到。
  要得到一个更深入的对Solaris下这些JDK软件的了解,参见JDK 1.1 for Solaris - Binary Products Overview 和 FAQ for the JDK Solaris Production Release。


  问题24:我喜欢的平台下的使用哪个JDK版本?如何得到?
  解答:这些是问的很多也是很重要的问题。我们现在能说的是:
     Amiga, NeXT, OS/2, Windows 3.1, Windows 32s, Macintosh, ...
  Sun提供了源代码来提供对第三方的支持,就像上面的一些系统。但是Sun没有正式的监督或者跟踪它们,需要更多信息,请参见
   Platforms Supporting Java technology
   (http://java.sun.com/cgi-bin/java-ports.cgi)


  问题25:我如何下载java技术或者java 2 SDK的软件?如何安装?
  解答:你可以通过World Wild Web(WWW)浏览器或者匿名FTP得到我们的发布版本。细节问题,包括安装指南,请访问:
     The Java 2 Platform web site
     (http://java.sun.com/j2se/)
     选择你需要的软件,从那里出发。


  问题26:哪里我可以找到关于HotJava浏览器的信息?
  解答:当前HotJava浏览器的版本是1.1Beta1,在HotJava可以获得。这个页面有一些链接,指向接受评论的信箱和HotJava浏览器已知的错误



  问题27:我如何开始使用java编程?
  解答:参见我们的页面,它将会引到你到一个正确的方向:
     Getting Started with java technology。


  问题28:我需要非凡的服务器软件来运行Applet吗?
  解答:不需要。java Applet服务可以通过任何HTTP服务器提供。在Server端它们和任何其它文件一样,比如一个文本,图片或者声音文件。所有的不同行为发生在applet class在客户端被一个支持java的浏览器解释执行的时候,比如HotJava 浏览器 1.x 或者 Netscape 3.x/4.x.

  问题29:谁在颁发java技术许可?
  解答:参见"Who′s Licensing Java?"页面:
        Who′s Licensing Java?
     (http://java.sun.com/licensees.Html)


  问题30:JavaScript技术可用吗?我如何得到更多关于它的信息?
  解答:JavaScript技术的第一个版本在Netscape Navigator 3.x当前的发布版本中是可用的。需要更多信息,包括一个全面的新闻稿:参见Netscape JavaScript技术页面:
     Netscape JavaScript


  问题31:我所听到过的Netscape JavaScript脚本的安全问题是怎么回事?
  解答:JavaScript技术是在Netscape Navigator中使用的一种脚本语言。有关于JavaScript技术中个人隐私的报告,Netscape也忙于应付对这些方面的关心。JavaScript技术不能被用来调用Java Applet。JavaScript中存在的个人隐私的问题在Java applet中是不存在的。


  问题32:我不能找到sun.*包中任何类的API文档。它们在哪里?
  解答:简单的回答是,我们只提供java.*中公共类的文档。我们不提供sun.*的文档是因为那些都是sun自己特定的实现,不是Java技术API标准的一部分,因此有改变的话不会有通知的。
  通常,我们不提供sun.*的文档是为了阻止开发人员使用它们编写程序。要得到更多解释,参加下一个问题。
  然而,假如你必须使用它,sun.*的文档在独立发布的community source code release中的doc comments中可以得到,在问题34中会提到。,比如,sun.net的文档所在源文件在:
    /src/share/sun/sun/net/*.java
  这个源代码文件没有包含javadoc生成的文档,你需要自己使用javadoc来生成这些文档。

  问题33:为什么开发人员不应该编写调用′sun′包中方法的程序?
  解答:将来,java软件只支持java.*中的包,而不是sun.*包。通常sun.*中的API会随时被改变而没有通知。要了解更多细节,参见文章Why Developers Should Not Write Programs That Call ′sun′ Packages.


  问题34:从哪里我可以得到Java语言的源文件?
  解答:java软件有两个分离的源码包你可以免费得到:
     ● The Java 2 SDK,标准版本,它本身包含一个叫做src.zip的文件,包含了java.包中公共类的源代码。因为这个文件没有包含sun.*下的类,你不能够通过这些源文件得到一个完整的java环境。这些文件是你的信息,作为对文档的补充,这样你就可以查看java是如何工作的。
     ● 完整的源代码版本可以通过访问我们的网站得到…
       Community Source Code Licensing


  问题35:java这个名字从何而来?它代表什么?
  解答:这个名字是在由java software team召开的几次集体讨论会中的某一次决定的。我们希望提出一个能反应这项技术本质的名字 - 活泼,有生气,快速,交互,和其他更多。"java"是从很多个建议中被选出来的。这个名字不是一个缩写,但它是一个暗示,许多程序员都喜欢喝很多这种热的,芬芳的东西。

  问题36:java software team能够一直通知我关于最近的开发的进展吗?
  解答:我们不在维护一个需要通知的人员列表。当我们开始它的时候,我们没有想到天天会有那么多人给我们写信,假如你想被通知的话,最好的方法是访问我们的网站:
   Java Software Home Page (http://java.sun.com/)
  周期的参与到Java技术相关的新闻组中,非凡要注重我们的 "What′s New" 页面:
   What′s New at Java Software (http://java.sun.com/nav/new/)
  提供了一个关于最新的开发,正式发布,等等和java技术相关的内容的概览。


  问题37:有哪些关于java的新闻组?
  解答:当前有几个可用的新闻组,包括:
   comp.lang.java
   comp.lang.java.advocacy
   comp.lang.java.announce
   comp.lang.java.api
   comp.lang.java.beans
   comp.lang.java.databases
   comp.lang.java.gui
   comp.lang.java.help
   comp.lang.java.machine
   comp.lang.java.misc
   comp.lang.java.programmer
   comp.lang.java.security
   comp.lang.java.setup
   comp.lang.java.softwaretools
   comp.lang.java.tech
   comp.lang.javascript


  问题38:SUN公司可以提供哪些文档?什么格式?如何得到?
  解答:SUN公司提供很广范围的文档(白皮书,API规范,程序员指南,和其它),在我们的文档页面上可读:
   Documentation Index (http://java.sun.com/docs/index.html)
  大多数我们的文档都是HTML, PostScript 和 PDF格式的。

Tags:Java 答疑

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接