失败是成功之母,这句话用在编程高手身上是再合适不过的了。学习编程没有什么捷径可以走,
在不断的学习和编码的过程中,逐渐的积累经验,从开始的模拟者变成最后的创作者。和学习其它的
编程语言一样,Java新手在开始编码的时候也会出现很多很多的错误,而且有的错误可能也是不断的
出现。当出现这些错误的时候,我们就要仔细的看看错误提示,找出问题所在,避免以后不再发生同样
的错误。在这个过程当中我们的经验和水平也在不断的提升。
Java错误,主要包括两方面,一种是语法错误,另一种是逻辑错误。
语法错误,也就是我们的编码不符合java 规范,在编译的时候无法通过。通常,我们都是用javac
编译我们的源程序,假如代码中存在语法错误,比如某个表达式后缺少分号的时候,编译器就会告诉
我们错误信息,编译就此停止。
逻辑错误,也就是我们常说的Bug,一般存在逻辑错误的程序都是可以顺利的被编译器编译产生
相应的字节码文件,也就是class文件。但是,在执行的时候,也就是java ourClass的时候,得出的结果
并不是我们所希望的。
下面几个问题都是非经常见的错误,在一些新手的代码里面经常会出现的。
1、 Java是分大小写的
对于经常写VB、ASP程序的人来说,一定要注重,变量money和Money是不一样的。
2、一个java源文件可以包含多个class,但是只能包含一个public 的class。
java是面向对象的程序语言,编译完的字节码也是一个一个的类,就是class。一个.java文件可以包含
多个class,在编译的时候,编译器会为每一个class生成相应的class文件。 但是必须要注重,一个.java文件
只能包含一个public class,而且这个public class的类名要与这个.java的文件名一致。
比如,正确的写法应该是下面这样的:
一个java源文件,文件名为 Test.java,内容如下:
class A
{
}
class B
{
}
public class Test
{
}
3、运行java程序时加了.class
运行java程序时,是不需要i加扩展名.class的,比如
c:\javac A.java
c:\java A 而不应该是java A.class
这是因为java默认就是找后缀是class的文件,假如你加了.class,也就是java A.class的话,就会出现 错误:
Exception in thread HelloWorld/class "main" java.lang.NoClassDefFoundError
意思就是找不到这个类,因为java会把A.class当成一个包的写法,就是去A目录下找class这个类,自然
找不到,所以就出错,错误信息和你classpath设置不正确的提示信息是一样的。
4、一个等号和两个等号的不同
在Java程序中,一个等号是赋值操作符,而两个等号则是比较操作符。在 java新手的程序中
经常出现这样的代码:
int a=1;
int b=2;
if(a=b) System.out.println("OK");
这样是不对的,因为if后面需要得到的是一个布尔类型的值,这样编译就会出错。
因为,a=b,是赋值操作,就是把 b的值赋给了a,返回等号右边的值,也就是b的值,比如:
int a=1;
int b=2;
int c=(a=b);
System.out.println("a : "+a);
System.out.println("b: "+b);
System.out.println("c: "+c);
输出结果则是,a等于2,b等于2,c也等于2, 明白了吗?
所以,看看下面这两段代码,假如你明白了,也就说明你已经懂得了一个等号和两个等号的意思了: