Logo

郎哥编程

编写第一个Java程序

2018-06-27 1868

初次编写Java应用程序,可以使用文本编辑器编写Java代码,然后使用JDK编译和运行Java程序。使用文本编辑器编写Java代码可以分为三步走,如下图所示:


blob.png

  编写Java代码过程图

第一步:通过文本编辑器编写Java代码;

第二步:在命令行窗口运行Java编译器编译Java代码,编译通过后输出class文件;

第三步:运行Java程序,加载已编译完成的class文件。

下面我们开始上机操作。

第一步:打开记事本,输入下面的Java代码

public  class  HelloWorld {
  public static void main(String args[])
  {
     System.out.println("HelloWorld");    
  }
}

编写代码注意事项:

①  保存的文件名称和类名一定要一致。例如:类名是“HelloWorld”,保存的文件名称一定也是“HelloWorld”;

②  Java对字母大小写敏感,大写字母一定要大写,小写字母一定要小写。例如:语句中的“System”不能写成“system”;

③  每条Java语句必须以分号结束。例如:语句“System.out.println("HelloWorld")”后面必须加“;”,没有分号编译器会报错;

④ “{”和“}”必须成对;

⑤   Java保留的关键字,不能有任何改动;

⑥  “main”是Java程序执行的入口点,不能改变“main”方法名称。

代码编写完成,保存代码文件到D盘Java目录(可以选择其它盘符),如果D盘没有Java目录,新建一个Java目录,并命名文件为“HelloWorld.java”,也可以将文件保存到其它目录。

需要注意的是,如果将文件保存到其它目录,后面内容涉及到目录的,需要将目录切换到该文件保存的目录。

第二步:编译HelloWorld.java文件

进入命令行窗口,将D盘Java目录设置为当前工作目录,具体步骤如下:

在命令行窗口输入“d:”命令,并按下回车键(Enter),当前工作目录被设置为D盘,继续输入“cd  java”命令,并按下回车键(Enter),当前工作目录被设置为“d:/java”目录,如下图所示:


blob.png

如果Java代码被保存到其它目录,可以用同样方法将Java代码所在目录设置为当前工作目录,不同的是输入的盘符和“cd”命令后的目录不同。

在当前工作目录下输入“javac  HelloWorld.java”命令,注意“javac”和“HelloWorld.java”之间有空格,并按下回车键(Enter),Javac是Java编译器程序,此命令是执行对“HelloWorld.java”的编译。如果代码没有错误,在当前目录下会生成“HelloWorld.classs”文件;如果编译过程中,Java程序给出错误提示,则需要按照错误提示修改Java代码文件,修改完成后再次执行编译命令,直至编译成功。

第三步:运行HelloWorld.class程序

在当前工作目录下输入“java  HelloWorld”命令,并按下回车键(Enter),屏幕显示“HelloWorld”语句。输入命令时,注意大小写以及“java”与“HelloWorld”之间的空格。

在命令行窗口进行Java程序调试

初学者刚开始编写程序,编译时错误可能会比较多,这时就需要学会查看编译器给出的错误信息,根据编译器给出的错误信息修改相应代码,然后再次编译,发现问题再返回修改,如此往复,直至代码编译通过,往复编译修改代码的过程就是程序调试。

初学者写的代码,被编译时出的错误比较多,主要是对编程语言的语法不熟悉、丢三落四、关键字拼错、大小写没有区分、括号没有成对匹配等错误。编译器一般都会在命令行窗口对这些错误给出比较确切的描述,并能指出错误所在的位置,给修改代码带来了极大的方便。下面以前面编写的第一个Java程序“HelloWorld”为例,列举几个调试程序的实例。

示例1:编译文件名拼写错误

以前面的“HelloWorld.java”为例。在命令行窗口切换到当前工作目录D盘Java目录下,如果被编译的文件在其它目录存储,将当前工作目录切换到被编译文件所在的目录。

编译“HelloWorld.java”文件,在命令行窗口输入“javac  Helloworl.java”并执行命令(输入错误的文件名),编译器显示如下信息:

blob.png

编译器给出“找不到文件:Helloworl.java”出错信息,重新输入正确的文件名称就可以纠正该错误了。

示例2:当前工作目录下没有被编译的文件

将D盘Java目录下的HelloWorld.java文件暂时移除,在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器同样给出“找不到文件:HelloWorld.java”出错信息,将“HelloWorld.java”文件恢复到D盘Java目录下,就可以纠正该错误。

示例3:类声明的Java关键字拼写错误

“HelloWorld.java”文件类声明“class”关键字被错误拼写为“claas”。在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出了三个错误描述,其实都指向同一个错误。错误信息分为四个部分。错误信息构成描述见下图:

blob.png

  编译错误信息构成

第一部分指出出错的Java文件名称;

第二部分指出错误所在Java文件中的行号,“1”表示错误出现在Java文件中的第一行代码;

第三部分指出错误原因描述,同学们可以根据此错误描述修改错误代码;

第四部分指出具体的错误内容,可以更好地定位错误所在具体位置。

第一个错误信息是“需要class,interface或enum”,错误信息表示的意思是类声明需要“class”、“interface”、“enum”关键字中的一个,从图中可以看出,编译器已经指出了具体错误位置所在,在第三行“claas”下面有一个向上的箭头指向该“claas”,可以明显看出,关键字“class”被错误拼写为“claas”,改正此错误,编译即可通过。

第二和第三个错误都是由第一个错误引起的。

示例4:类文件名称与类名称不一致

“HelloWorld.java”文件名称与类名称不一致,将“HelloWorld.java”文件名称重新命名为“HelloWorld1.java”,文件重命名后,导致文件名称与类名称不一致。在命令行窗口输入“javac HelloWorld1.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出“HelloWorld”应在“HelloWorld1.java”中声明,检查文件名称与类名称是否一致。

示例5:类体的花括号没有匹配

用记事本打开“HelloWorld.java”文件,去掉最后的花括号(类的匹配花括号),保存文件。

在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出语法分析时没有找到文件尾部错误信息,用记事本打开“HelloWorld.java”文件,定位到第5行,检查是否缺少与类匹配的“}”括号。

示例6:Java类库名拼写错误

用记事本打开“HelloWorld.java”文件,修改Java类库“System”为“system”,保存文件,退出记事本。

在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出程序包system不存在错误信息,用记事本打开“HelloWorld.java”文件,定位到代码第4行,检查Java类库“System”是否拼写错误,Java对字母大小写敏感,大写字母一定要大写,小写字母一定要小写。语句中的“System”不能写成“system”。

示例7:字符串没有用""引起来

Java的字符串必须用英文双引号""引起来,不能是中文双引号“”,也不能是中文单引号’’。用记事本打开“HelloWorld.java”文件,修改Java代码。

System.out.println("HelloWorld");

修改为:

System.out.println("HelloWorld);

然后保存文件,退出记事本。

在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出未结束的字符串文字错误信息,用记事本打开“HelloWorld.java”文件,定位到代码第4行,检查字符串是否在””之内。

示例8:Java语句包含非法字符

Java语句的“;”、“.”必须是英文字符,不能写成中文字符,如把“;”写成“;”,“.”写成“。”。用记事本打开“HelloWorld.java”文件,修改代码“System.out”为“System。out”,保存文件,退出记事本。

在命令行窗口输入“javac HelloWorld.java”并执行命令,编译器显示如下信息:

blob.png

编译器给出非法字符的错误信息,用记事本打开“HelloWorld.java”文件,定位到代码第4行,检查是否存在把英文字符写成中文字符的情况。


思考与练习

1、在Windows命令行窗口如何编译Java文件?

2、在命令行窗口如何运行已编译好的Java程序?

3、当javac编译器报出“找不到文件错误”时,程序可能出现了什么问题?


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论