六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 30|回复: 0

Java 基础类型范围

[复制链接]

升级  42%

94

主题

94

主题

94

主题

举人

Rank: 3Rank: 3

积分
326
 楼主| 发表于 2013-1-26 14:29:18 | 显示全部楼层 |阅读模式
 
 Java 基础类型范围

 
 
import java.util.Set;import java.util.TreeSet;public class FoundationalTypes {private static int index=0;private static Set set=new TreeSet();/** * The infomation of types will be printed * @param className * @throws InstantiationException * @throws IllegalAccessException * @throws ClassNotFoundException * @throws SecurityException * @throws NoSuchFieldException */private void printInfo(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SecurityException, NoSuchFieldException{Class c=Class.forName(className); String MIN_VALUE="";String MAX_VALUE="";if("java.lang.Character".equals(className)){ MIN_VALUE=(int)(java.lang.Character)c.getField("MIN_VALUE").get(c)+""; MAX_VALUE=(int)(java.lang.Character)c.getField("MAX_VALUE").get(c)+"";}else{ MIN_VALUE=(c.getField("MIN_VALUE").get(c)).toString(); MAX_VALUE=(c.getField("MAX_VALUE").get(c)).toString();}System.out.println((++index)+"、基本类型:"+c.getField("TYPE").get(c)+" 二进制位数:"+c.getField("SIZE").get(c));System.out.println((++index)+"、包装类:"+c.getName());System.out.println((++index)+"、最小值(MIN_VALUE):"+MIN_VALUE);System.out.println((++index)+"、最大值(MAX_VALUE):"+MAX_VALUE);System.out.println();int k= Integer.valueOf(c.getField("SIZE").get(c).toString());set.add((k<10?"0"+k:k)+":"+c.getName());}/** * running * @param args */public static void main(String[] args) {try {String[] types={"java.lang.Long","java.lang.Double","java.lang.Integer","java.lang.Float","java.lang.Character","java.lang.Short","java.lang.Byte"//,"java.lang.Boolean"};for(String name : types){new FoundationalTypes().printInfo(name);}StringBuffer starts=new StringBuffer(" \t\t*");System.out.println("08:java.lang.Boolean"+starts);for(Object obj:set){starts.append("*");System.out.println(obj.toString()+starts);}} catch (SecurityException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (NoSuchFieldException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} 
运行结果为:
 
1、基本类型:long 二进制位数:64
2、包装类:java.lang.Long
3、最小值(MIN_VALUE):-9223372036854775808
4、最大值(MAX_VALUE):9223372036854775807
5、基本类型:double 二进制位数:64
6、包装类:java.lang.Double
7、最小值(MIN_VALUE):4.9E-324
8、最大值(MAX_VALUE):1.7976931348623157E308
9、基本类型:int 二进制位数:32
10、包装类:java.lang.Integer
11、最小值(MIN_VALUE):-2147483648
12、最大值(MAX_VALUE):2147483647
13、基本类型:float 二进制位数:32
14、包装类:java.lang.Float
15、最小值(MIN_VALUE):1.4E-45
16、最大值(MAX_VALUE):3.4028235E38
17、基本类型:char 二进制位数:16
18、包装类:java.lang.Character
19、最小值(MIN_VALUE):0
20、最大值(MAX_VALUE):65535
21、基本类型:short 二进制位数:16
22、包装类:java.lang.Short
23、最小值(MIN_VALUE):-32768
24、最大值(MAX_VALUE):32767
25、基本类型:byte 二进制位数:8
26、包装类:java.lang.Byte
27、最小值(MIN_VALUE):-128
28、最大值(MAX_VALUE):127
 
08:java.lang.Boolean           *
08:java.lang.Byte                 **
16:java.lang.Character        ***
16:java.lang.Short               ****
32:java.lang.Float                *****
32:java.lang.Integer            ******
64:java.lang.Double             *******
64:java.lang.Long                ********
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表