细节2 建立信心——解决常见错误
对于初学Java语言的用户,经常会犯一些小错误,而这些小错误可能又会影响到初学者的信心,对以后的学习造成不良的影响,甚至导致最终放弃学习Java语言,为此,这里给出几个常见错误的解决办法。
1.环境变量配置不正确
要进行Java编程,首先要安装JDK(即Java开发工具包),安装完JDK后还需要配置3个环境变量,这3个变量分别为JAVA_HOME、Path和ClassPath。
(1)JAVA_HOME变量
JAVA_HOME变量是JDK的安装路径,假设JDK安装到如图5.2所示的位置,就需要将其安装路径 "D:\Program Files\Java\jdk1.6.0_17”配置为JAVA_HOME环境变量的值。
图5.2 JDK的安装路径
提示
环境变量一定要在系统变量区进行配置,而不要在用户变量区进行配置,否则可能会发生错误,导致Java程序无法运行。
(2)Path变量
Path变量配置的是JDK安装路径中的 "bin" 文件夹,以便能够使用 "bin" 文件夹中提供的Java工具,假设JDK安装到如图5.2所示的位置,则需要将其安装路径 "D:\Program Files\Java\jdk1.6.0_17\bin" 配置为Path 环境变量的值,由于前面已经配置了JAVA_HOME变量,所以Path变量的值可以设置为“%JAVA_HOME%\bin; ”,这里的“%JAVA_HOME%”表示的就是JDK的安装路径,因此在其后键入“\bin; ”就可以了。
注意
Path变量原来有值,不要删除原来的变量值,在配置Path变量时,可以将输入焦点移动到变量值的最左侧,然后键入“%JAVA_HOME%\bin; ”,这样就完成了Path变量的设置,在配置环境变量时,多个变量值之间要用英文输入法的分号分隔,所以这里的分号不能省略,而且Path变量也必须是系统变量区的。
(3)ClassPath变量
配置ClassPath环境变量的目的是为了让Java虚拟机能够找到字节码文件和运行时所需要的类库,所以如果该变量配置不正确,运行Java程序时就会出错。ClassPath变量需要设置为JDK安装路径中 "lib" 文件夹中的 "dt. jar" 和 "tools. jar" 两个文件,这两个文件提供了Java 程序所需要的一些类库,而且还要加上点号“.”,用于表示在当前路径下查找字节码文件,该变量的值设置为“%JAVA_HOME%\lib\dt. jar; %JAVA_HOME% \lib\tools. jar; .”。由于已经配置了JAVA_HOME 变量,所以这里的“%JAVA_HOME%”表示的就是JDK 的安装路径。
注意
ClassPath变量也必须是系统变量中的,并且ClassPath变量值中最后的点号“.”不能省略,多个变量值之间也必须要用英文输入法的分号分隔,不能用中文输入法的分号,否则会出错。
对上述3个环境变量进行正确配置后,就可以编写Java源程序,并编译和运行Java源程序了。
2.大小写不正确
Java语言中的关键字、标识符等是区分大小写的,如果大小写不正确,程序就会出错,因此在编写Java程序时,关键字和标识符等内容大小写一定要正确,否则就会使所编写的程序出错。
学习和使用Java语言的人都知道,main主方法是Java应用程序的入口,Java应用程序是从这里开始执行的,如果将主方法的名称main 写错,程序就会发生没有main 方法这样的异常。
示例:
public class Test { public static void Main (String[] args) { System.out. println ("这是主方法输出的内容."); // 输出信息 } }
说明
本示例由于将main主方法的名称错写成了Main,所以运行本示例后,程序将提示如图5.3所示的异常信息。这是由于Java语言是区分大小写的,而主方法名main的所有字母都是小写的,本示例将主方法名写成了Main,所以程序产生了如图5.3所示的异常,提示没有这样的方法的错误。
图5.3 主方法名不正确的异常信息
3.未安装SP4补丁异常
在使用Java程序连接SQL Server 2000数据库时,需要开启1433端口,而Windows 2000操作系统的1433端口默认是开启的,因此可以直接连接数据库,而Windows XP、Windows 2003、Windows Vista或Windows 7等操作系统,默认并没有开启1433端口,因此用户需要安装SP4补丁来开启1433端口,否则连接数据库时就会发生异常。
接下来看下面的示例,该示例是在Windows 7系统中编写的,并且未安装SP4补丁,该示例的功能是加载数据库驱动,建立到指定数据库的连接。
示例:
import java. sql. Connection; import java. sql. DriverManager; public class Test { public static void main (String[] args) throws Exception { // 加载数据库驱动 Class.forName("com. microsoft. jdbc. sqlserver. SQLServerDriver"); System.out. println ("数据库驱动加载成功!"); // 输出加载信息 // 数据库db_dept的url String url = "jdbc: microsoft: sqlserver://127.0.0.1:1433; DatabaseName=db_dept"; String user = "sa"; // 数据库用户名为sa String pwd = ""; // 数据库密码为空 // 建立新的数据库连接 Connection conn = DriverManager.getConnection(url, user, pwd); System.out. println ("数据库连接建立成功!"); // 输出连接信息 conn. close (); // 关闭数据库连接 } }
运行本示例,程序将显示如图5.4所示的信息,其中第一行是数据库驱动加载成功时输出的提示信息,从第二行开始则是程序发生异常时的输出信息,其中用圆角矩形框选的部分则表示没有安装SP4补丁所出现的异常。
图5.4 未安装SP4补丁发生的异常
本示例是在Windows 7操作系统中开发的,程序出现了上述异常,说明没有安装SP4补丁,所以解决问题的办法就是安装SP4补丁,安装完SP4补丁后再运行本示例,程序将输出如图5.5所示的信息。
图5.5 安装SP4补丁后的效果
说明
从图5.5所示的输出信息中可以看出,安装SP4补丁后,程序成功地加载了数据库驱动,并成功地建立了数据库连接,这也正说明了要在Windows XP、Windows 2003、Windows Vista或Windows 7等操作系统中操作SQL Server 2000数据库,需要安装SP4补丁来开启1433端口,这样程序才能正确连接SQL Server 2000数据库。