Java之路( 1 )----帮你完成HelloWorld

类别:Java 点击:0 评论:0 推荐:

Java之路----帮你完成HelloWorld

    转眼在csdn已经满月了,看到好多初学java的朋友会有关于错误提示Noclassdeffounderror………这样的问题,想到自己初学的时候也曾被这种郁闷的问题弄得焦头烂额,很多问题是不会在教科书里面有讲的,因为,教科书不会捕捉我们的“异常“:)。于是就整理了一下我见到的朋友们提出的问题,希望能对后来者有所帮助。

1.Java开发中系统环境变量设置(JDK):

工欲善其事,比先利其器。环境变量这一关,大家是必须要过的,下面是各种操作系统里面的环境设定。

Win2000/winXP中:

右键我的电脑à属性à高级à环境环境变量

classpath=.;jdk安装目\lib

path=jdk安装目录\bin

注意:一定不可忽略“.”,他表示的是我们的当前工作目录,没有他,会有很多麻烦出现的。

Winme中:

“开始à程序à附件à系统工具à系统信息“中,选择工具à系统配置实用程序à环境

设定:

classpath=.;jdk安装目\lib

path=jdk安装目录\bin

Win98中:

修改autocexe.bat 就是修改自动批处理文件。

添加:

set classpath=.;jdk安装目\lib

set path=jdk安装目录\bin;%path%

linuX中:

假设JDK安装在/home/jdk1.4.0/下,打开/etc/profile,在其中加入:

PATH="/home/jdk1.4.0/bin:$PATH"

CLASSPATH=.:/home/jdk1.4.0/jre/lib/rt.jar:/home/jdk1.4.0/lib/tools.jar

JAVA_HOME=/home/jdk1.4.0

export PATH CLASSPATH JAVA_HOME

2.设定好了我们的工作环境后,让我们来看一看我们的HelloWorld程序吧。

public Class HelloWorld {

   public void HelloWorld(){

        //构造函数

}

   public static void main ( String args[] )

   {

            system.out.println ("HelloWorld!");

   }

}

上面的程序有三处错误,看到了么?不要笑哦,这种错误确实会发生的。下面是把它改正过后的代码:

public class HelloWorld {

   public HelloWorld(){

        //构造函数

}

   public static void main ( String args[] )

   {

            System.out.println ("HelloWorld!");

   }

}

class和System的大小写,这个问题虽然一般不会出现,但大小写问题在整个java世界里确实是值得重视的一个基本问题,所以我把它写出来个大家提个醒,只要大家不用为这样的错误费时费力,大可认为我只是为了博您一笑。构造函数本来对HelloWorld来说是可有可无的,但是我有意添加这个构造函数,原因有两个:第一,构造函数没有返回值,大家都知道,就算是初学大概也会对此很不屑,1+1=2还拿出来干嘛。但是确实有很多初学者会返回一个void,void也是一种返回值,这个概念就是我的第一个目的了,有些初学者会认为void就是没有返回值,错!!!第二,你应该为你的类编写默认构造函数,就算他什么也不做,只起到和系统给你的默认构造函数一样的作用。当你不编写默认构造函数的时候,系统会给你一个,但是前提是你这个类里没有任何构造函数。忽略这个问题,可能会让你的继承体系出现问题。(可能这里说这些太早,所以教材上不会说,但这些东西,总是先记住的好,免得载大跟头)。(顺便说一句构造函数也可以是protected和private的,不是一定要public,别怪我蘑记^^。确实有很多人认为构造函数一定要public的,错!!!)。

3程序没问题,环境变量没问题,还是会出问题:)看看我们的执行要注意什么吧

不带包的编译:

javac 类名.java

java 类名

不带包的编译只要注意大小写,一般应该不会有问题了。

javac HelloWorld.java 不要写成 javac helloworld.java

java HelloWorld 不要写成java HelloWorld.class

另外,一般此时大家的工作目录和HelloWorld.java所在目录是相同的,这就是最开始环境变量”.”的作用了。

带包的编译:

javac -d  包的父目录 类名.java

java  包名.类名

这里要注意的是大家的工作目录要与包的父目录所在目录相同。

 

还有另外一个问题,大家先看一下问题的提出(跟HelloWorld关系虽然不大,但是问题也很有代表性)

我的包如下:

package c05;

public class PackagedClass{

  public PackagedClass(){

         System.out.println("Creating a packaged class");

       }

  public static void main(String[] args){}

}

 

程序如下:

//package c05;

import c05.PackagedClass;//如果换成import c05.*;就报错

 

public class Foreign{

  public static void main(String[] args){

         PackagedClass pc = new PackagedClass();

}

}

PackagedClass不是c05的子包阿,就是一个类阿,为什么用* 不行那?

 

这是论坛里一个朋友的问题。很郁闷吧:)

 

这里因为要import c05.PackagedClass;的类和c05.PackagedClass;在同一个目录内,就会出现上

 

面的问题,两个类不要放同一个地方了,赫赫,大家自己解决吧^^.希望这篇文章会对初学的你有

 

所帮助,如果你遇到过跟”HelloWorld”有关的问题这里没有提及,也希望帮忙填补一下:)。

本文地址:http://com.8s8s.com/it/it18000.htm