java调试窗口_跟我学java编程—如何在命令行窗口调试java程序

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

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

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

在命令行窗口切换到当前工作目录D盘Java目录下,如果被编译的文件在其它目录存储,将当前工作目录切换到被编译文件所在的目录。假设D盘Java目录下已存储了“HelloWorld.java”文件,如果没有“HelloWorld.java”文件,请参照前面创建的第一个Java程序,创建“HelloWorld.java”文件。

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

2edce673548e3add2bc6343be1cd2d42.png

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

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

在D盘Java目录下没有要被编译的文件“HelloWorld.java”,在命令行窗口输入“javac Helloworld.java”并执行命令,编译器显示如下信息:

118ba15970bc066baed1b4f837d4f375.png

编译器同样给出“找不到文件:Helloworl.java”出错信息,将“HelloWorld.java”文件拷贝到D盘Java目录下,或将命令行窗口当前工作目录设置为“HelloWorld.java”文件所在的目录,就可以纠正该错误。

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

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

ef9a4e069a63c82e7d0bbcb38cf40978.png

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

0d8e990d1d4d218a6a43925fe9ced0ab.png图 3-6 编译错误信息构成

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

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

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

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

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

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

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

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

ee7ed8569702e4a6863bcc2875d77c5b.png

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

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

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

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

20959a63ebf8bb69d59d16285f9082a6.png

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

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

318b3a0b52f521a79833d9c22e89f6fb.png

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

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

编译器给出程序包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”并执行命令,编译器显示如下信息:

7d80e6797f3d873f1827e20f75e284a6.png

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

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

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

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

383af66d82f297322c8a20a2e4f99ba5.png

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值