首页 > 代码库 > Java中的一些常见错误

Java中的一些常见错误

1.空指针错误

在java数组的使用中,有时候需要对字符串数组中的元素进行对比。那么当元素不为null时,程序会正常运行;然而,一旦对比的元素为null,那么程序就会出现空指针错误。

解决方法:加入保护,当元素不为null时在进行判断。

    String sr = "A";

     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中的一些常见错误