第六天 Java的数据溢出应对方式

来源:互联网 发布:lollipop软件 编辑:程序博客网 时间:2024/06/06 01:14

  由上一篇的博文的代码:public class datamo02{

  public static void main(String args[]){

  int num = Integer.MAx_VALUE;

  System.out.println("整型的最大值是"+num);

  System.out.println("整型的最大值是+1:"+(num+1)); //注意写法 多加一个括号,否者语句将不对应。

  }

  }

  由此 我们可以知道 Integer.MAX_VALUE是输出数据类型的最大值。那么我们如何让数据不溢出呢?

  接下来我们使用的方法是加长数据类型:

  public class datamo02{

  public static void main(String arge[]){

  int num = Integer.MAX_VALUE;

        http://wuchangbailing.com  sducc1122

  System.out.println("那么整形的最大值是:"+num); \\输出的整形最大值是2147483647

  System.out.println("那么我们用整形的最大值加1数据溢出:"+(num+1));

  System.out.println("用强制转换数据类型加长类型输出:"+((long)num+1));

  }

  }

  由此输出:2147483648.就不再是负数了。由此可见,我们扩大了数据类型,就可以避免造成数据溢出。

  字符类型(Char)

  这个也算是一种数据类型,字符类型在内存中占有2个字节,可以用来存储英文等字符,那么当计算机处理字符类型的时候,把字符当成不同的整数来对待。

  那么我们要输出字符怎么输出呢?看下面的程序输出:

  public class datemo02{

  public static void main(String arge[]){ \\主方法

  char ch1 = 'a'; \\注意:字符要使用单引号括上

  char ch2 = 97; \\在阿斯克码中a是97

  那么我们来输出一下就明白了:

  System.out.println("Cha1 ="+Ch1);

  System.out.println("Cha2 ="+Ch2);

  }

  }

  得到的结果都是字符a。

  那么在我们Java中比较可爱的是:

  再加一条:System.out.println("Cha1+1="+(ch1+1));

  那么他输出的结果是:98不再是字符了。这是因为在输出中包含了运算符号,Java就会输出运算的数值。

原创粉丝点击