(。・・)ノ~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 或者 ...
随机推荐
- js 时间构造函数
js 时间构造函数,js中没有类似ToString("yyyy-mm-dd HH:mm:ss") 的方法,但是可以用下面的方式来初始化 var cdate = new Date(& ...
- WebService的创建发布及部署
1.打开win7的IIS功能: http://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 2.IIS注册Frameworkt4.0 ...
- poj 1270(toposort)
http://poj.org/problem?id=1270 题意:给一个字符串,然后再给你一些规则,要你把所有的情况都按照字典序进行输出. 思路:很明显这肯定要用到拓扑排序,当然看到discuss里 ...
- 单节点下多个Tomcat服务器并存的端口号配置
一个服务器节点同时安装多个tomcat服务器时,如果仅仅修改访问端口号则会提示端口冲突启动失败,还需要修改另外端口号解决,一共需要修改3处地方,修改如下: 编辑配置文件:server.xml 1.首先 ...
- Tensorflow 实现稠密输入数据的逻辑回归二分类
首先 实现一个尽可能少调用tf.nn模块儿的,自己手写相关的function import tensorflow as tf import numpy as np import melt_da ...
- angular 依赖注入原理
依赖注入(Dependency Injection,简称DI)是像C#,java等典型的面向对象语言框架设计原则控制反转的一种典型的一种实现方式,angular把它引入到js中,介绍angular依赖 ...
- UVA766 Sum of powers(1到n的自然数幂和 伯努利数)
自然数幂和: (1) 伯努利数的递推式: B0 = 1 (要满足(1)式,求出Bn后将B1改为1 /2) 参考:https://en.wikipedia.org/wiki/Bernoulli_numb ...
- LockSupport
LockSupport是高级线程同步类的基础,用来block和释放线程.这里要区别notify和wait的点在于这里可以先unpark,再park.(有点类似于unpark等于-1,park等于+1. ...
- 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs
http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...
- NOIP2009分数线划定【B004】
[B004]分数线划定[难度B]—————————————————————————————————————————————————————————————————————————— [题目要求] 世博 ...