4,159
社区成员




HelloWorld可以说是几乎所有程序语言中最著名的入门程序。
最近的动画电影《你好!世界》的命名也是取自于“HelloWorld”。
使用Java编写HelloWorld程序,也会碰到不少问题。尤其是使用命令行编写时,因为涉及到环境变量、命令行、不熟悉面向对象编写方式,初学者也会碰到不少问题。以下就是HelloWorld程序的一些常见问题。注意:这里为了简化描述,我们以Hello作为例子代替HelloWorld。
先给出一个完整的HelloWorld的例子
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
1. 为什么命令行下输入javac,提示'javac'不是内部或外部命令....?
原因:path变量没有设置正确
解决方法:假如你的jdk安装在d:\java\jdk目录下,那么你的path变量应该添加d:\java\jdk\bin
注意:如果path变量已有其他的值,注意要用";"来进行分割。如已有d:\system,你就要设置成
d:\system;d:\java\jdk\bin
参考资料(环境变量设置):
Win10下JDK环境变量的设置与JDK的下载-CSDN社区
2. 我明明建立的是Hello.java,可是为什么执行javac Hello.java时,找不到Hello.java
原因:可能你默认建立的是文本文件,即Hello.java.txt,但是操作系统默认隐藏已知的扩展名,
即把.txt隐藏起来,这样你我的电脑里看到的是Hello.java,但实际上是Hello.java.txt
解决办法:百度搜索"显示/隐藏文件扩展名",然后设置好
3. 执行java Hello.class,提示"错误: 找不到或无法加载主类 Hello.class"
原因:正确的命令应该是java Hello,java命令后面的参数是类名Hello而不是文件名
Hello.class
4. 常见错误:类Hello是公共的, 应在名为 Hello.java 的文件中声明
一个Test.java,里面写了如下代码
public class Hello1{
}
然后执行javac Test.java
提示:Test.java:1: 错误: 类Hello是公共的, 应在名为 Hello.java 的文件中声明
原因:声明为public的class,如上面的Hello1,必须在与该类名相同的文件中,比如
Hello1.java
注意:Test.java中也不能有两个声明为public的class,比如文件中不能同时含有
public class Test{
}
public class Hello1{
}
解决方法:自己想
注意:一个文件中可以有多个class,但是只能有一个public class,且要和文件名相同
5. 常见错误:类hello是公共的, 应在名为 hello.java 的文件中声明
一个Hello.java文件,里面包含如下代码
public class hello{
}
然后执行javac Hello.java
提示:Hello.java:2: 错误: 类hello是公共的, 应在名为 hello.java 的文件中声明
原因:java是大小写敏感的声明为public的class的类名一定要和文件名大小写一致
解决方法:你懂得
6. 常见错误:在类 Hello 中找不到主方法, 请将主方法定义为:
一个Hello.java文件,里面包含如下代码
public class Hello{
}
编译成功后,执行java Hello
提示:错误: 在类 Hello 中找不到主方法, 请将主方法定义为:
public static void main(String[] args)
原因:很明显,该Hello.java文件没有main方法,main方法是程序的入口,没有main方法,
程序是无法启动的
解决方法:加入main方法
public static void main(String[] args){
}
注意:java是大小写敏感的,你的main方法写成这样也不行
public static void Main(String[] args){
}
为什么,仔细看。
7. HelloWorld代码详解
public class HelloWorld { //HelloWorld是类名。public代表大家都能访问。
//main方法:程序的入口。就是要启动该程序,将该方法将首先被执行。
public static void main(String[] args) {//args 用来存储参数的数组。这里没用到。
//System:一个类;
//out:System类的一个属性,是标准输出流,用于输出数据。
//println: out对象的一个方法。用来输出一行。
System.out.println("Hello World"); //输出 Hello World 这个字符串
}
}