Java分享笔记:初学Java时遇到的两个小问题

  笔者最近在自学Java,由于之前有过较好的C和C++语言的基础,故学起Java来感觉上手挺快。最近编写一些小的Java代码时,遇到了两个小问题。经过查找资料和亲自测试,已得到解决。在这里将这两个小问题及其解决办法分享给各位初学者,以期共同学习进步。

[1] 文件编码格式不当引起的错误

  使用JDK工具对Java源程序进行编译时,默认的文件编码格式为ANSI,若编写的Java源程序文件不符合该编码格式,则可能出现编译时报错。

  笔者习惯使用Notepad++编辑器写代码(我想这个代码编辑器应该受很多程序员的喜爱,若读者没有使用过,这里强烈推荐使用),但是Notepad++默认的文件编码格式为UTF-8,不符合JDK的默认编码规则。那么如果Java源程序中输出的字符含有中文,在DOS下会显示编译错误,或者输出的中文字符显示为乱码。

  解决方法:用Notepad++编写Java程序前,点击Notepad++第一行菜单栏里的 “编码”,在下拉菜单中,将编码格式选中为ANSI即可。此后编译运行,可正常显示中文字符。

[2] 使用package(包)不当引起的错误

  Java中的“打包机制”(package)是为了防止程序多个地方出现相同的名字,而将局部程序限定在一块的一种机制。如下面的小代码:

 1 package pack1;
 2 
 3 public class HelloJava {
 4     static String s1="你好!";
 5     
 6     public static void main(String[] args) {
 7         String s2="Java";
 8         System.out.println(s1);
 9         System.out.println(s2);
10     }
11 }

  程序中第1行定义了一个包pack1,此时若直接使用 javac HelloJava.java 编译,再使用 java HelloJava 运行,就会出现错误:找不到或无法加载主类

  解决方法:编译时加上参数:javac -d . HelloJava.java  其中-d表示生成目录,. (句点) 表示在当前文件夹下生成目录。编译完后可以看到 HelloJava.java 所在文件夹下生成了新的文件夹 pack1,而编译后的 .class 文件就在文件夹 pack1 中。运行时,命令也要加上路径:java pack1.HelloJava 这样才能运行成功。

:以上内容均为笔者亲自测试的结果,笔者也希望与各位读者相互交流,共同学习进步。

猜你喜欢

转载自www.cnblogs.com/EarthPioneer/p/9137873.html