您的位置:首页 > 编程语言 > Java开发

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

2013-03-28 02:31 218 查看
由上一篇的博文的代码: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;
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就会输出运算的数值。

本文出自 “筑梦小组-执行策划韦毅” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: