JAVA版hello world全攻略(0分)

  • 主题发起人 主题发起人 guangmin
  • 开始时间 开始时间
G

guangmin

Unregistered / Unconfirmed
GUEST, unregistred user!
JAVA版hello world全攻略
看到很多技术网站的BBS上面充斥着java初学者的关于运行第一个java程序的求助信息,我觉得作为“过来人“很有写这篇文章的必要,因为他们遇到的都是些很低级的问题,但是让这些问题占据bbs上那么多宝贵的空间就太不应该了。
要搞清楚的基本概念
java是一种跨平台的网络语言,为了能够在不同平台上运行,它使用了虚拟机这个概念。后缀名为java的文件是源代码文件,它经过编译后生成的是class文件。虚拟机执行的就是这些class文件,将它们转化成为不同平台能够运行的命令。这就是为什么java的效率比较低的原因。也是因为这个原因,在java里没有其它语言的使用者熟悉的exe文件的概念。
执行hello world的方法
切记:在命令行中输入 javac 源文件名.java (编译)
java 源文件名 (执行,没有后缀)
这里说的是java application,里面包括main函数。
如果hello world是applet版的,在命令行中输入appletviewer 源文件名 (已经编译后的class文件)
如果class文件已经嵌入了html网页中,直接用IE打开就行了。
application经常出现的错误
系统提示Exception in thread "main" java.lang.NoClassDefFoundError。出现这个提示的原因可能有:
1 你把文件名拼错了,java对大小写是敏感的。打错了当然找不到文件。
2 虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,输入sysedit,然后在autoexec.bat文件中加入这么一行:set classpath=你的jdk的安装目录/lib;
例如set classpath=c:/jdk1.3.0_02/lib;
保存退出后,你要在dos窗口的c根目录下执行一遍autoexec.bat文件已保证被设置了,当然,如果你愿意也可以重启机器。
系统提示HelloWorld.java:1: Public class helloworld must be defined in a file called
"HelloWorld.java".
public class helloworld{
^
一个Java源程序中可以定义多个类,但是,具有public 属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在这个public
的类之中,这样才能运行这个类。
系统提示Exception in thread "main" java.lang.NoSuchMethodError: main 出现这个异常是因为你在抄书上的代码时抄错了。主函数一定要这么写:public static void main(String args[]) 一个字都不能错,切记!!!
applet常出现的错误
IE显示了一个灰色的区域,但是上面没有显示hello world,状态栏显示load:calss 你的class文件名 no found 。出现这个问题是因为IE没有找到applet(有点废话),你应该把class文件放在和html文件相同的目录下。如果class文件在该文件夹的子目录下,那么要这么写CODE= "子目录名.文件名.class"。
IE显示applet已经启动,但是还是只显示灰色的一块。这种问题在使用jBuilder等集成开发工具是最容易出现,用appletviewer就没有问题。这是因为你在applet中使用了IE不支持的java版本。jBuilder在做applet是默认使用了swing组件,但是IE只支持jdk1.1,所以造成了这种情况。只要把导入swing的语句去掉就行了,然后按照提示修改一下代码,不要用swing组件的方法。如果你觉得swing组件很漂亮,打死都要用,那么就装一个java的plug-in这个东西在你装jdk的高版本时就自动装上了。看看你的控制面版中有没有那个红鼻子的小东西。但是切记,如果你要用它,那么你的html的文件的写法就和从前不一样了,不能简单的用CODE来指明类了。至于怎么写,不在这篇文章的讨论范围内了(你写一个hello world还要用plug-in就搞大了)。网上有很多文章讲怎么写。
怎么实现点击就执行
用惯了点击就执行的的exe文件自然就很不习惯打开dos窗口输入命令行,你可以把它做成jar文件,但是对hello world来说有点麻烦,有个简单的傻办法:自己做一个批处理文件。例如:用记事本写一个run.txt文件,内容是:java 你的主文件名 ,然后把后缀改成bat存到和主文件相同的目录下。呵呵,双击就运行了,够傻吧。
如果你非要用exe文件运行,jet等工具可以把class文件做成exe文件。但是这样也失去了java的跨平台性。
以上就是hello world的全攻略了,如果你还看不到“hello world“,我倒!你还是别学java了。

wearebug@etang.com
 
非常好!
 
我在1.3.1版的时候是没问题,可昨天我装了1.4.0版以后就总是出
Exception in thread "main" java.lang.NoClassDefFoundError
这个错误,我完全按照你说的办了,故障依旧~请多多指教~
 
顶楼的,在下谢了
 
楼主,谢谢拉
 
up
希望对大家有帮助
 
》 2 虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,
补充一下:在win2000中设置一下环境变量就可以 [:)]
 
for soit
是的,我也遇到同样的问题,好象不是这么简单的设置,还有几个.jar的文件需要在
classpath后面写出,可能也是JAVA的类库,这个我也不清楚,我也是刚刚开始学习。我的已经
设置好了,不过记不得是什么了。好象也有问题,在我继承自己的类的时候,总是提示我
没有找到哪个类,我已经把两个.java的文件放在同一个目录下了呀,奇怪。
 
谢谢,呵呵,jdk我是搞不明白了,呵呵,还是老老实实的用Jbuilder吧,呵呵
 
在遇到如soit这样的问题的时候的排查步骤:
1, 在命令行下执行java -version,检查是否能正常的print 版本号。如果能,转2,否则转
2,在执行你的程序的时候加上-classpath.结束。
3, 如果不能,打开regedit,检查local_machine/software/javasoft/jre.
如果看到有多个jre存在,检查你的path中current version哪一个的java.exe是否在最前面。
4.结束。
 
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1354567
关注一下吧没有人提起来呀!用MODEM打电话利用PC机的耳机和麦克风,自己编程如何实现?
(我知道有现成的软件可以用,但是我想自己实现这个上东西)
QQ:65466700
MAIL: along@b2sun.com
TEL :13802785865
http://b2sun.com
请各位大侠多多指教!
 
的确很难,我花了二个小时才显示出那行hello world. [:(!]
 
CLASSPATH的设置:
.;你的java安装路径/lib/dt.jar;你的java安装路径/lib/tools.jar
 
Exception in thread "main" java.lang.NoClassDefFoundError: a004
这个出错是什么意思呢?
 
path 路径不对!
 
可是我安装了jdk1.3,为什么没有java, javac文件呢?
 
各位注意了:出现Exception in thread "main" java.lang.NoClassDefFoundError错误。
是因为你的Classpath设置不对,如果你说我就是按上面说的设置的。那可能是因为你用的是
win2000操作系统并且在Autoexec.bat中设置Classpath,这样是不对的,应该在win2000的系统变量
里设置
 
后退
顶部