记录一下踩坑记录,基本数据类型都有数值范围,当超了数值范围后会如何呢?
1、基本数据类型的范围
2、
public class TestDemo {
public static void main(String[] args) {
System.out.println("byte类型的最小值:"+Byte.MIN_VALUE+"----byte类型的最大值"+Byte.MAX_VALUE);
System.out.println("byte最小值减10:"+(Byte.MIN_VALUE-10)+"----byte最大值加10:"+(Byte.MAX_VALUE+10));
System.out.println("short类型的最小值:"+Short.MIN_VALUE+"----short类型的最大值:"+Short.MAX_VALUE);
System.out.println("short最小值减10:"+(Short.MIN_VALUE-10)+"----short最大值加10:"+(Short.MAX_VALUE+10));
// Java中的char类型由两个字节即十六位来表示,因为是无符号数,所以为2的16次方,数值范围就为:0 - 2^16-1;
System.out.println("chart类型的最小数值:"+Character.MIN_VALUE+"----chart类型的最大数值:"+Character.MAX_VALUE);
System.out.println("chart类型的最小数值-10:"+(Character.MIN_VALUE-10)+"----chart类型的最大数值加10 :"+(Character.MAX_VALUE+10));
System.out.println("int类型 数值最小值"+Integer.MIN_VALUE+"----int数值类型的最大值:"+Integer.MAX_VALUE);
System.out.println("int最小值减10:"+(Integer.MIN_VALUE-10)+"----int最大值加10:"+(Integer.MAX_VALUE+10));
System.out.println("float最小值:"+Float.MIN_VALUE+"----float最大值:"+Float.MAX_VALUE);
System.out.println("float最小值减10:"+(Float.MIN_VALUE-10)+"----float最大值加10:"+(Float.MAX_VALUE+10));
System.out.println("long类型最小值:"+Long.MIN_VALUE+"----long类型最大值:"+Long.MAX_VALUE);
System.out.println("long类型最小值减10:"+(Long.MIN_VALUE-10)+"----long类型最大值加10:"+(Long.MAX_VALUE+10));
System.out.println("double类型最小值:"+Double.MIN_VALUE+"----double的最大值:"+Double.MAX_VALUE);
System.out.println("double类型最小值减10:"+(Double.MIN_VALUE-10)+"----double的最大值加10:"+(Double.MAX_VALUE+10));
}
}
3、执行结果
4、由以上可以看出,如果byte、short超过最大范围后,会自动向上加,(猜测会自动转换成数值类型更大的),int和long会循环赋值,而并不会报错,double会从零开始减值。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/18544.html