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

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”有关的问题这里没有提及,也希望帮忙填补一下:)。

 

By 笑着 bluesmile979@hotmail.com

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值