(。・・)ノ~java常见错误
空指针错误
刚开始接触数组的时候,最容易出现的错误就是空指针错误。所谓空指针错误就是,一个引用指向了一个空的地址,而空的地址,没有地址,更没有数据,这时候用这引用去和别的数据对比,显然要出错。为了避免这种错误,首先,我们要知道,这种出错一般都是数组,所以,一旦程序用到了数组,就要优先考虑当前这个引用是不是指向的空地址?在循环判断的时候,为了避免空指针,我们可以将循环内的内容装进一个保护膜里面:
for (int i ; i < a.length ; i++) {
if (a[i] != null) {
循环执行内容;
}
}
如上,在循环里面加一个判断,只有当该引用不是空指针才执行里面的循环内容,这样就能保护我们的程序不受空指针的影响
数据类型错误
程序为了提高安全性和准确性,对数据是分了类的 ,当你定义了一个变量的数据类型,存在这个变量指向地址内的数据的类型必须与该变量定义时的数据类型一样。不然就会报错!有时候因为程序的要求,我们为了让数据在不同的数据类型变量之间传递,我们就要用到强制转换,但是这样会让数据有一定的损失。所以,尽量不使用。
逻辑错误
这是最麻烦,还好出现几率不大。当程序员思考对象之间的互动时,如果某个地方进了死胡同,这时候再继续思考下去,就会出现逻辑错误,程序编写完成,编译器也没有报错,但是程序运行出来的结果不是预期的样子。这时候就比较麻烦,只有挨着去找错误,这时候我们就可以用到DBUG,也可以用
System.out.println("1"); 这个语句来找出错误的地方,不过随着以后程序的不断扩张,这个方法就不好用了,毕竟程序模块太多。所以,我们要学习好DBUG的运用,来帮我们找出错误的地方。长时间找不出错误,就不要再憋,放松一下,换个思路再来想,一味地强迫只会让自己陷入错误的思路出不来,再怎么思考也没有办法。所以,在这里推荐大家找到适合自己的放松自己的方法,听说最近中国过劳死的人数在增加(・-・*),我们喜欢编程,但不要为了编程太玩命。留得青山在,不怕没材烧!
(。・・)ノ~java常见错误的更多相关文章
- Java常见错误列表
Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...
- java常见错误的列表
ava常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明; ...
- JAVA常见错误处理方法 和 JVM内存结构
OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...
- java常见错误云集与注意事项
1.安装Eclipse时,尽量jdk不要用jre,jdk包含jre j JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环 ...
- 转:JAVA常见错误处理方法 和 JVM内存结构
OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...
- java常见错误总结
1. 现象:将数组转为List后进行removeAll()操作,报java.lang.UnsupportedOperationException错误. 代码: /** * 获取标记ID * @retu ...
- [Java] Java常见错误
1.处理java错误"编码 GBK 的不可映射字符" (1)首先记事本打开java源文件 (2)然后另存为,选择ANSI编码 (3)覆盖 (4)再试一下,ok,编译通过.
- Java常见错误整理(一)
1.配置完Java环境变量之后,仍然不能使用java命令. 解决方法: 如果是Windows10系统出现此问题,是因为个别Windows10系统不识别“JAVA_HOME”环境变量,将path中所有的 ...
- Java常见错误
1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...
随机推荐
- [转]hql 语法与详细解释
HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hib ...
- ASP.NET MVC中的两个Action之间值的传递--TempData
一. ASP.NET MVC中的TempData 在ASP.NET MVC框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictiona ...
- java9
1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供我们使 ...
- java12
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
- 分享一些不错的sql语句
1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1 <> ...
- .NET程序员转Java不完全指南
首先要声明一点,“转”字并不包含那种语言牛B的意思. 然后要声明一点,“转”字仅限于企业应用开发的语言的转. 假设各种数据库切换无代沟, 假设各种WEB客户端技术无障碍. 1.搭建环境,IDE主流是e ...
- C++库(Google Breakpad)
Google Breakpad是什么? 一个开源的多平台崩溃报告系统. Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,它支持Windows,Linux和Mac和Solari ...
- URL类型入参串调用接口
最近通过调用另一个合作公司提供的接口实现方法,借鉴同事之前编写的方法 Models.JSON.Patient类中有各种属性,也可增加属性来满足新需求 public string TakeAppoint ...
- java学习第三天 数组
java中数组一样存在多维,二维数组,三维数组..... 二维数组的定义 格式: 数据类型 [][] 数组名 = new 数据类型 [][]; 动态初始化 数据类型[][] 数组名 = new 数 ...
- C#运算符
运算符 1.算数运算符 赋值运算符 等号在C#中并不是表示相等的意思,而是表示赋值,把等号右边的值赋值给 等号左边的变量 由等号连接的表达式,叫做赋值表达式.我们要求等号两边的数据类型必须一 致. 2 ...