分享
 
 
 

Java新手常犯的几种错误

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Java新手常犯的几种错误

/**

作者: 慈勤强

描述: 自己在学习过程中遇到的几个典型的问题,写出来,希望对大家有所帮助

Email:cqq1978@Gmail.com

最后修改:2004-10-13

**/

失败是成功之母,这句话用在编程高手身上是再合适不过的了。学习编程没有什么捷径可以走,

在不断的学习和编码的过程中,逐渐的积累经验,从开始的模仿者变成最后的创作者。和学习其它的

编程语言一样,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, 明白了吗?

所以,看看下面这两段代码,如果你明白了,也就说明你已经懂得了一个等号和两个等号的意思了:

boolean a=false;

boolean b=false;

if(a==b)

{

System.out.println("a=b");

}

else

{

System.out.println("a!=b");

}

结果输出“a=b”,如果换成一个等号

boolean a=false;

boolea b=false;

if(a=b)

{

System.out.println("a=b");

}

else

{

System.out.println("a!=b");

}

则输出结果为“a!=b”

5、java中的数组下标是从0开始的

比如我们定义了一个数组

Object[] myArray=new Object[10],说明数组中有10个元素,是从myArray[0]开始,到myArray[9]结束的

在用for循环的时候,需要注意,正确写法如下:

for(int i=0;i<myArray.length;i++)

{

}

6、空引用的错误

这类错误也是最令人头疼的,属于逻辑性错误,编译器可以正常编译,但是在某种情况下执行出错,出错

信息是 java.lang.NullPointerException 。

这是由于在对象的引用没有被初始化的情况下而调用这个对象的属性或者方法而造成的,比如下面的例子:

class A3

{

public static void main(String[] args)

{

String s=null;

int a=1;

int b=2;

if(a<b)

{

s="a<b";

}

System.out.println(s.toString());

}

}

编译和执行都没有错误,可是如果把a的值赋为10,如下:

class A3

{

public static void main(String[] args)

{

String s=null;

int a=10;

int b=2;

if(a<b)

{

s="a<b";

}

System.out.println(s.toString());

}

}

那么就可以正常编译通过,但是执行的时候则出错。

就是因为现在a<b不成立,也就是说没有执行s="a<b"这个初始化语句,所以在输出

s.toString()的时候,对象s其实还是null,没有被初始化,这时候调用.toString()方法

自然会出现异常。

以上就简单写几个java新手经常会出现的错误,其实出现错误并不可怕,只要大家仔细的

分析一下出现的错误,看看究竟是什么原因导致的,如何避免。这样,就会很快的提高

自己的水平,加入到高手的行列中.......

由于自己也是菜鸟水平,所以写的东西,难免出现这样那样的错误,希望大家多提意见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有