Java中的一些常见错误
1.空指针错误
在java数组的使用中,有时候需要对字符串数组中的元素进行对比。那么当元素不为null时,程序会正常运行;然而,一旦对比的元素为null,那么程序就会出现空指针错误。
解决方法:加入保护,当元素不为null时在进行判断。
public static void main(Sring[] args){
String [] sums = "adfafA";
for(int i=0;i<sums.length;i++){
if(sums[]!=null && sums[i].equals(sr)){
System.out.println("找到元素"+sums[i]);
break;
}
}
}
2.数据的精度范围与类型转换
在Java中有4种基础类型数据:
整型: -1 2 3 4 ……
浮点型:float 1.3f ; double 3.2 3.5d (未标明类型,默认最高精度)
字符型:采用Unicode编码,2字节
布尔型:true、false
|
|
格式 |
长度 |
精度范围 |
整 型 |
byte |
-1 2 3 4 …… |
1字节 |
-128~127 |
short |
-1 2 3 4 …… |
2字节 |
||
int |
-1 2 3 4 …… |
4字节 |
||
long |
-1l ,2l, 3l ,4l,5L …… |
8字节 |
||
浮点型 |
float |
2.3f (符号不区分大小写) |
4字节 |
|
double |
3.2 2.3d |
8字节 |
||
字符型 |
char |
‘A’ |
2字节 |
公式:n位二进制存储精度范围= -2n-1~2n-1-1(1字节=8位二进制) |
四种基础类型数据的精度范围各不相同,逐级提升。
如果在使用数据类型时,不注意精度范围,就会出现数据溢出,从而发生计算错误。
四种基础类型中,整型,浮点型和字符型数据是可以相互转化的。
转换规则如下:
①隐形转换:精度小的数据值,赋值给精度大的值,可以自动转换。(低级向高级)
②强制转换:范围大的数据值,(高级到低级)
③运算自动提升规则:运算中,自动转换为精度高的数据类型。
3.三种循环的使用
①for 循环:是一种有限次数的循环,在循环前,规定好循环次数。
for(表达式;表达式;表达式){
循环体
}
break语句:执行后,立即跳出循环,不在执行后面的语句,且结束所有循环。
continue 语句:执行后,立即跳出当前单词循环,重新判断条件是否继续循。
②While循环语句:适合未知次数的循环。
while(条件表达式){
语句
};
③do-While循环:也是未知次数的循环。单至少要先执行一次do,在判断。如果while成立,继续循环,反之,结束循环。
do {
语句
}while(条件表达式);
Java中的一些常见错误的更多相关文章
- 深入探讨Java中的异常与错误处理
Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置.本文将探讨一下Java中异常与错误的处理 ...
- JAVA中enum的常见用法
JAVA中enum的常见用法包括:定义并添加方法.switch.遍历.EnumSet.EnumMap 1.定义enum并添加或覆盖方法 public Interface Behaviour{ void ...
- Java程序员注意——审查Java代码的六种常见错误
代码审查是消灭Bug最重要的方法之一,这些审查在大多数时候都特别奏效.由于代码审查本身所针对的对象,就是俯瞰整个代码在测试过程中的问题和Bug.并且,代码审查对消除一些特别细节的错误大有裨益,尤其是那 ...
- Java中9种常见的CMS GC问题分析与解决
1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...
- 记一次在java中的日期parse错误
String dateString = "2014101517"; new SimpleDateFormat("yyyyMMddHH").parse(dateS ...
- Java中输入判定的错误和纠正
在编程过程中,很多技术人员看重程序的简洁性,效率性和包容性.其中最容易问到的就是假如输入数据不符合要求时的程序处理,这也是很多公司的机试题中应聘人员写出了符合功能要求的程序却并未通过面试的原因.下面是 ...
- 实用:Git 中的一些常见错误
无论是数据科学家.算法工程师还是普通开发人员,在每个团队协作开发任务中,Git 都是必不可少的版本控制工具,因此掌握它的基本操作十分有必要.但即便是教程满天飞的今天,开发人员在使用 Git 时也还是会 ...
- Java中枚举的常见用法
在JDK1.5以后引入了一种新的类型,就是枚举(enum).enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外, 其他类型的如字母.特殊符号.汉 ...
- Java中避免空指针常见的方法
什么是空指针? 当一个变量的值为null时,在Java里表示一个不存在的空对象,没有实际内容,没有给它分配内存,null也是对象成员的默认值.所以,一个对象如果没有进行初始化操作,这时如果调用这个对象 ...
随机推荐
- C++判断Office版本——转载
自:http://blog.csdn.net/lpc_china/article/details/18359145 主要原理:查询windows注册表microsoft office软件项的值来判断版 ...
- OSPF + LVS ,突破LVS瓶颈 (转)
突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) 前言 架构简图 架构优势 部署方法 1.硬件资源准备 2.三层设备OSPF配置 3.LVS调度机的OSPF配置 a.安装软路由软件q ...
- CentOS 6.4 64位 搭建MySQL-Cluster 7.3.8 集群
准备:1.下载 MySQL-Cluster-gpl-7.3.8-1.el6.x86_64.rpm-bundle.tar 下载地址: http://mirrors.sohu.com/mysql/MySQ ...
- 理解ThreadLocal背后的概念
介绍 我之前在任何场合都没有使用过thread local,因此没有注意到它,直到最近用到它的时候. 前提信息 线程可以理解为一个单独的进程,它有自己的调用栈.在java中每一个线程都有一个调用栈或者 ...
- gooflow0.6的流程设计
为何使用gooflow:1.兼容性好 2.扩展点很多可以个性化设计 3.配有api文档 4.json格式的数据传输 gooflow0.8版 由于最近项目需要,急需设计一个流程,考虑到时间问题,和用户个 ...
- markdown2 在win10下无法预览解决方案
今天升级完Win10发现心爱的markdownPad 2无法预览,显示the view has crashed! 按照官网的Q&A http://markdownpad.com/faq.htm ...
- [Linux]ubuntu安装ftp服务器
1: 安装vsftpd~$ sudo apt-get install vsftpd or~$ yum install vsftpd温馨提示:ubuntu10.10自己装了,这步省略. 2: 配置v ...
- phpcms v9栏目列表调用每一篇文章内容方法1
我们先来看下默认栏目调用的代码: 复制代码代码如下:{pc:content action="lists" catid="$catid" num="25 ...
- 学习Swift -- 错误处理
错误处理 错误处理是响应错误以及从错误中返回的过程.swift提供第一类错误支持,包括在运行时抛出,捕获,传送和控制可回收错误. 一些函数和方法不能总保证能够执行所有代码或产生有用的输出.可空类型用来 ...
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView 的Item能被选中的基础是它能获取Focus,也就是说 ...