加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

输出数据类型的最大值与最小值

(2014-02-15 18:43:35)
标签:

java

数据类型

分类: JAVA
代码:

public class Test2
 {
 public static void main(String args[])
     {
        long long_max = java.lang.Long.MAX_VALUE;
        int int_min = java.lang.Integer.MIN_VALUE;
        System.out.println("long的最大值是 " + long_max);
        System.out.println("int的最小值是 " + int_min);   

        int x = java.lang.Integer.MAX_VALUE;
        System.out.println("x + 1 = "+(x+1));
        System.out.println("x + 1 = "+(x+2L));
        System.out.println("x + 2 = "+((long)x+3));

        short short_max = java.lang.Short.MAX_VALUE;
        System.out.println(short_max+1);   
    }
 }

http://s8/mw690/001Q8Xftty6GBUA7uSje7&690



结果:

http://s9/mw690/001Q8Xftty6GBUtw2Raf8&690

当整数进行计算时,会将所有的数字转换为int型后计算。除非一方是long。
若是整数的类型为short或byte,为了避免溢出,Java会将表达式中的short和byte类型自动转换成int类型,即可保证其运算结果的正确性,这也是Java所提供的“扩大转换”功能。

更改为:

public class Test2
 {
  public static void main(String args[])
     {
        long long_max = java.lang.Long.MAX_VALUE;
        int int_min = java.lang.Integer.MIN_VALUE;
        System.out.println("long的最大值是 " + long_max);
        System.out.println("int的最小值是 " + int_min);   

        int x = java.lang.Integer.MAX_VALUE;
        System.out.println("x + 1 = "+(x+1));
        System.out.println("x + 1 = "+(x+2L));
        System.out.println("x + 2 = "+((long)x+3));

        short short_max = java.lang.Short.MAX_VALUE;
        System.out.println((short)(short_max+1));
        System.out.println(getType(short_max));       
    }
   public static String getType(Object o)
    {
        return o.getClass().toString();
    }

 }

结果:

http://s15/mw690/001Q8Xftty6GBUtEgb4be&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有