空指针错误

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

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. SQLite批量插入优化方法

    SQLite的数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.   例如:向数据库中插入10 ...

  2. linux下ssh的几种验证方式

    ssh的认证方式有很多种,大概可以概括为以下几类: 1.pam认证方式 在配置文件/etc/ssh/sshd_config中对应参数:UsePAM 2.密钥认证方式 配置文件/etc/ssh/sshd ...

  3. SystemErrorCodes

    有人把SystemErrorCodes整理成了类,并定义了方法,用于返回消息,他大概不知道FormatMessage的用法,放在这里做参考吧 C# code snipppet class System ...

  4. ffmpeg-20160828-bin.7z

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 5 屏幕横向放大 20 像素 6 屏幕横向缩小 20 像素 S 下一帧 [ -2秒 ] +2 ...

  5. DOM动画效果的基础入门2

    一.动画效果 Transform字面上就是变形,改变的意思,在css3中transform主要包括以下几种: 选转 rotate,扭曲 skew 缩放 scale 和移动translate 以及矩形变 ...

  6. Sass中文乱码问题(手动编译和watch编译)

    一.sass手动编译出错 .scss文件中含有中文的时候编译报错(比如注释,比如字体栈),比如: foo.scss: 编译: 解决办法: 找到类似这个的路径的文件(仅供参考,不同环境可能不同): C: ...

  7. Mybatis实现数据的增删改查(CRUD)

    什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBat ...

  8. ffmpeg 如何音视频同步

    转自:http://blog.csdn.net/yangzhiloveyou/article/details/8832516 output_example.c 中AV同步的代码如下(我的代码有些修改) ...

  9. BZOJ 3105 [CQOI2013]新Nim游戏 ——线性基

    [题目分析] 神奇的题目,两人都可以第一次取走足够多堆的石子. nim游戏的规则是,如果异或和为0,那么就先手必输,否则先手有必胜策略. 所以只需要剩下一群异或和为0就可以了. 先排序,线性基扫一遍即 ...

  10. containing block

    1(position:static和relative) 它的包含块由它最近的块级.单元格(table cell)或者行内块(inline-block)祖先元素创建. 2.position:fixed ...