java基本类型的最大最小值以及溢出测试
2016-06-13 10:21
549 查看
//应用场景一:在攻防对战中,数据基本类型的溢出会导致反编译工具的出错 public class Main { //java基本类型的最大最小值以及溢出测试 public static void main(String[] args) { byte bmax, bmin; short shmax, shmin; char cmax, cmin; int imax, imin; long lmax, lmin; float fmax, fmin; double dmax, dmin; fmax = Float.MAX_VALUE; fmin = Float.MIN_VALUE; dmax = Double.MAX_VALUE; dmin = Double.MIN_VALUE; bmax = Byte.MAX_VALUE; bmin = Byte.MIN_VALUE; cmax = Character.MAX_VALUE; cmin = Character.MIN_VALUE; shmax = Short.MAX_VALUE; shmin = Short.MIN_VALUE; imax = Integer.MAX_VALUE; imin = Integer.MIN_VALUE; lmax = Long.MAX_VALUE; lmin = Long.MIN_VALUE; System.out.println("float max=" + fmax); System.out.println("float min=" + fmin); System.out.println("double max=" + dmax); System.out.println("double max=" + dmin); System.out.println("byte max=" + bmax); System.out.println("byte min=" + bmin); System.out.println("short max=" + shmax); System.out.println("short min=" + shmin); System.out.println("char max=" + (cmax - '0')); System.out.println("char min=" + (cmin - '0')); System.out.println("int max=" + imax); System.out.println("int min=" + imin); System.out.println("long max=" + lmax); System.out.println("long min=" + lmin); // 溢出 System.out.println("short overflow"); shmax = (short) (shmax + 1); System.out.println(shmax); shmax = (short) (shmax + 1); System.out.println(shmax); shmin = (short) (shmin - 1); System.out.println(shmin); shmin = (short) (shmin - 1); System.out.println(shmin); // 溢出 System.out.println("byte overflow"); bmax = (byte) (bmax + 1); System.out.println(bmax); bmax = (byte) (bmax + 1); System.out.println(bmax); bmin = (byte) (bmin - 1); System.out.println(bmin); bmin = (byte) (bmin - 1); System.out.println(bmin); // 溢出 System.out.println("int overflow"); imax = (int) (imax + 1); System.out.println(imax); imax = (int) (imax + 1); System.out.println(imax); imin = (int) (imin - 1); System.out.println(imin); imin = (int) (imin - 1); System.out.println(imin); // 溢出 System.out.println("float overflow"); fmax = (float) (fmax + 1); System.out.println(fmax); fmax = (float) (fmax + 1); System.out.println(fmax); fmin = (float) (fmin - 1); System.out.println(fmin); fmin = (float) (fmin - 1); System.out.println(fmin); // 溢出 System.out.println("char overflow"); cmax = (char) (cmax + 1); System.out.println(cmax - '0'); cmax = (char) (cmax + 1); System.out.println(bmax - '0'); cmin = (char) (cmin - 1); System.out.println(cmin - '0'); cmin = (char) (cmin - 1); System.out.println(cmin - '0'); } }
相关文章推荐
- 解析Json 出现——java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- Eclipse添加builder自动执行bat复制脚本
- Java transient关键字
- eclipse 代码格式化
- java反射抄的例子
- eclipse libs 和 buildpath区别
- eclipse 使用Maven deploy命令部署构建到Nexus上
- Struts2学习笔记(9)-Result配置全局结果集
- 如何在eclipse中使用反编译插件
- 《疯狂Java讲义(第3版)》.(李刚)——面向对象(上)
- volatile 变量
- 【Java多线程】同步辅助类CyclicBarrier
- Eclipse Android项目开发完成以后就要将android项目文件打包成apk文件
- Struts2学习笔记(8)-Result常用类型
- Eclipse Egit 安装
- [置顶] Spring Boot实践折腾记汇总
- [LeetCode][12]Integer to Roman解析 int转罗马字符时间复杂度为常数的实现-Java实现
- 解决Eclipse交叉编译环境下出现Symbol"NULL" could not be resolved
- Spring mvc web 配置 简单例子 (创建Spring mvc web项目)
- 从MyEclipse2014到MyEclispe10