空指针错误

刚开始接触数组的时候,最容易出现的错误就是空指针错误。所谓空指针错误就是,一个引用指向了一个空的地址,而空的地址,没有地址,更没有数据,这时候用这引用去和别的数据对比,显然要出错。为了避免这种错误,首先,我们要知道,这种出错一般都是数组,所以,一旦程序用到了数组,就要优先考虑当前这个引用是不是指向的空地址?在循环判断的时候,为了避免空指针,我们可以将循环内的内容装进一个保护膜里面:

for (int i ; i < a.length ; i++) {

  if (a[i] != null) {

  循环执行内容;

  }

}

如上,在循环里面加一个判断,只有当该引用不是空指针才执行里面的循环内容,这样就能保护我们的程序不受空指针的影响

数据类型错误

程序为了提高安全性和准确性,对数据是分了类的 ,当你定义了一个变量的数据类型,存在这个变量指向地址内的数据的类型必须与该变量定义时的数据类型一样。不然就会报错!有时候因为程序的要求,我们为了让数据在不同的数据类型变量之间传递,我们就要用到强制转换,但是这样会让数据有一定的损失。所以,尽量不使用。

逻辑错误

这是最麻烦,还好出现几率不大。当程序员思考对象之间的互动时,如果某个地方进了死胡同,这时候再继续思考下去,就会出现逻辑错误,程序编写完成,编译器也没有报错,但是程序运行出来的结果不是预期的样子。这时候就比较麻烦,只有挨着去找错误,这时候我们就可以用到DBUG,也可以用

System.out.println("1"); 这个语句来找出错误的地方,不过随着以后程序的不断扩张,这个方法就不好用了,毕竟程序模块太多。所以,我们要学习好DBUG的运用,来帮我们找出错误的地方。长时间找不出错误,就不要再憋,放松一下,换个思路再来想,一味地强迫只会让自己陷入错误的思路出不来,再怎么思考也没有办法。所以,在这里推荐大家找到适合自己的放松自己的方法,听说最近中国过劳死的人数在增加(・-・*),我们喜欢编程,但不要为了编程太玩命。留得青山在,不怕没材烧!

(。・・)ノ~java常见错误的更多相关文章

  1. Java常见错误列表

    Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...

  2. java常见错误的列表

    ava常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明; ...

  3. JAVA常见错误处理方法 和 JVM内存结构

    OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...

  4. java常见错误云集与注意事项

    1.安装Eclipse时,尽量jdk不要用jre,jdk包含jre j JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环 ...

  5. 转:JAVA常见错误处理方法 和 JVM内存结构

    OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...

  6. java常见错误总结

    1. 现象:将数组转为List后进行removeAll()操作,报java.lang.UnsupportedOperationException错误. 代码: /** * 获取标记ID * @retu ...

  7. [Java] Java常见错误

    1.处理java错误"编码 GBK 的不可映射字符" (1)首先记事本打开java源文件 (2)然后另存为,选择ANSI编码 (3)覆盖 (4)再试一下,ok,编译通过.

  8. Java常见错误整理(一)

    1.配置完Java环境变量之后,仍然不能使用java命令. 解决方法: 如果是Windows10系统出现此问题,是因为个别Windows10系统不识别“JAVA_HOME”环境变量,将path中所有的 ...

  9. Java常见错误

    1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...

随机推荐

  1. HikariCP

    HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池. 为何要使用HiKariCP?这要先从BoneCP说起: 什么?不是有C3P0/DBCP这些成熟的数据库连接池吗 ...

  2. Microsoft.AspNet.SignalR 2.2

    Nuget :http://www.nuget.org/packages/Microsoft.AspNet.SignalR/ What is SignalR? ASP.NET SignalR is a ...

  3. Effective C++阅读笔记_条款2:尽量以const,enum,inline替换#define

    1.#define缺点1 #define NUM 1.2 记号NUM可能没有进入记号表,在调试或者错误信息中,无法知道1.2的含义. 改善:通过const int NUM = 1.2; 2.#dein ...

  4. .Net全景视图

    http://www.oneapm.com/ai/dotnet.html OneOneAPM 助您轻松锁定 .NET 应用性能瓶颈,通过强大的 Trace 记录逐层分析,直至锁定行级问题代码.以用户角 ...

  5. 倒计时simple 天时分秒

    new Date()new Date(yyyy,mth,dd,hh,mm,ss); //月从0计数 .getTime()返回的是一个long型的毫秒数 毫秒转成 秒 分 时 天 <div id= ...

  6. MAC 远程桌面链接 证书或链接无效

    RDC --> 首选项  -->  安全性 --> 勾选即使验证失败也要链接.   问题解决.

  7. 15. 3Sum_左右开工,遍历找出符合目标的数字

    题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...

  8. 单词(bzoj 3172)

    Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. Input 第一个一个整数N,表示有多少个单词,接下来N ...

  9. Json---使用Jsoncpp解析与写入

    上述Json解析使用的是Jsoncpp,要使用Jsoncpp,得做如下几步的配置: 1.首先从http://sourceforge.net/projects/jsoncpp/下载,压缩包大约105k. ...

  10. 关于EF的一个简单Demo

       今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...