Java新手常犯的几种错误

错误

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

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

编程语言一样,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新手经常会出现的错误,其实出现错误并不可怕,只要大家仔细的

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

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

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

时间: 2016-02-08

Java新手常犯的几种错误的相关文章

制定营销计划常犯的10种错误

错误     市场营销计划几乎是所有赢利性组织的核心计划之一,正确的市场营销计划往往为公司的成功作出了最基本的贡献.市场营销计划是用来回答公司经营的三个基本问题的核心文件,这三个问题是:我们现在在哪里(对现状进行分析).我们想到哪里去(形成公司的战略方向和目标).我们怎样到那里(选择战略和营销组合).     经过调查发现,90%以上的公司营销高级主管参与了营销计划的制定过程,平均每年有45天左右的时间来从事这项工作.营销计划的基本框架和产生的过程对营销计划的正确与否起着关键的作用.一般来说,制

告诫新手:SEO常犯的十大错误

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 SEO高手,之所以称之为高手不是因为他几个站的目前排名良好,而是因为他走过了很多排名缓慢前进甚至被K过的路.在难保排名第一的今天,只有从反复失败过的经历中成长起来的经历才是我们最宝贵的财富.初涉SEO行业时,大部分朋友都犯过错,针对我自身的实践情况和很多新手朋友们的交流内容中,我提炼出了SEO新手常犯的十大错误如下: 一.在没有系统学习SEO

网站优化新手常犯的错误

摘要: 当一个人第一次成为个人站长,即创建一个以互联网独立平台为牟利手段的网站,他一定会接触到并去学习网站优化,即SEO.这就好比一个练武的人和人打架,和对手打得难解难分的时 当一个人第一次成为个人站长,即创建一个以互联网独立平台为牟利手段的网站,他一定会接触到并去学习网站优化,即SEO.这就好比一个练武的人和人打架,和对手打得难解难分的时候,对方忽然使出了暗器,自己因此惊慌败下阵来.这个暗器就好比网站优化,当你努力做好自己的网站,出色的内容,优良的架构,良好的用户体验,而对手也和你相差无几的时

PS中最常犯的6个错误

  一.少图层,没分组 这个坏习惯我们在<<WEB设计指南!PS礼仪白皮书>>提到过,多创造图层,学会给图层分组是一个专业设计师必须学会的,这不仅有利于你的修改,也是团队合作中少不得的习惯. 在刚开始的设计中,你可能会认为少创建图层能节省时间,但当项目变得越来越大时,你会意识到足够量的图层是多么地重要. 当你犯错时,图层能够给你修改的机会,大大地增强你编辑.复制甚至删除等操作的可能性,而不是重新来一稿. 多个图层,也可以让你不必总是修改一个图层,你可以复制一层,在这层上面修改,坏了

解读社会化媒体营销常犯的10大错误

中介交易 SEO诊断 淘宝客 云主机 技术大厅 如果你在社会化媒体营销上付出了巨大的努力,但得到的结果却不令人满意,你是不是很有挫败感呢?到底怎么做,才能使自己的努力得到应有的回报呢?这时候你应该考虑一下自己在社会化媒体营销的方向和方式上有什么不妥之处,下面小编就为大家介绍一下进行社会化媒体营销常犯的10大错误. 1.没有明确的目标 如果你在社会化媒体上分享内容时没有明确的目标,那么你所付出的努力很可能就付之东流.随着社会化媒体的发展,不管你对你的业务做怎样的营销,你都需要有一个预期目标.你想增

新站长在网络营销中常犯的三个错误

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在互联网日渐成熟的今天,网络营销已经成为网站的一般性功能,关系到一个网站的生存和发展.每个站长既希望自己的网站办的热热闹闹,又希望产品销售的红红火火.然而,互联网如同一个大舞台,你方唱罢我登场.举目望去,在众多的网站中,有几家能够生存下来?有几家能够发展起来?又有几家能发财?据有关资料介绍,目前我国的个人网站成活率极低,在这里总结几点新站长在

奖励员工最常犯的十大错误

人们会去做受到奖励的事情.管理的精髓,确实就是这样一条最简单却往往被人遗忘的道理:你想要什么,就该奖励什么. 考核和奖励,不但在年终,而且在平时,都是一个常盛不衰的话题.原因有两个: 一是对于企业,如何考核员工业绩.奖励谁.惩罚谁,关系到如何向员工昭示企业的价值标准,关系到企业今后的发展方向:对于员工,企业如何评价自己,关系到每个人的切身利益,关系到自身价值是否得到充分肯定,甚至关系到自身的去留.二是如何客观.公正.科学地考核和评价员工,以及对员工进行赏罚,本身是一个很难解决的问题.几乎没有哪个

PS中最容易犯的9种错误

  每次更新升级Photoshop,都会发现新版PS会提供不少图像处理的新功能.这些新功能可帮助你快捷地完成工作,大大提高工作效率.不过,一旦人们养成了固定的习惯,要更改是很难的.这里,本次PS翻译教程就分享一下国外PS大神的经验,看看PS修图过程中最容易犯的9种错误是什么,以及如何避免这些错误的发生.本PS教程非常适合PS小白们学习. 一.将某些操作布局在独立图层 当用Photoshop进行图像处理,特别是人像处理时,应将局部色彩调整.消除斑点.美白牙齿等操作分布在独立图层,这样即使关闭文档,

Python程序员开发中常犯的10个错误_python

Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错误,这些错误都很容易避免,本文总结了Python开发者最常犯的10个错误,一起来看下,不知你中枪了没有. 1.滥用表达式作为函数参数默认值 Python允许开发者指定一个默认值给函数参数,虽然这是该语言的一个特征,但当参数可变时,很容易导致混乱,例如,下面这段函数定义: 复制代码 代码如下: >>