Java 基本数据类型及封装类型详解
Java 提供了8种基本数据类型,每种都有对应的封装类型(包装类)。以下是详细介绍:
1. byte (8位)
// 基本类型byteb1=100;byteb2=-50;// 封装类型 - 支持自动装箱BytebyteObj1=Byte.valueOf((byte)100);BytebyteObj2=(byte)100;// 自动装箱// 使用和打印System.out.println("byte基本类型 b1: "+b1);System.out.println("byte封装类型 byteObj1: "+byteObj1);System.out.println("byte最大值: "+Byte.MAX_VALUE);System.out.println("byte最小值: "+Byte.MIN_VALUE);2. short (16位)
// 基本类型shorts1=1000;shorts2=-2000;// 封装类型 - 支持自动装箱ShortshortObj1=Short.valueOf((short)1000);ShortshortObj2=(short)1000;// 自动装箱// 使用和打印System.out.println("short基本类型 s1: "+s1);System.out.println("short封装类型 shortObj1: "+shortObj1);System.out.println("short最大值: "+Short.MAX_VALUE);3. int (32位)
// 基本类型inti1=100000;inti2=-50000;// 封装类型 - 支持自动装箱IntegerintObj1=Integer.valueOf(100000);IntegerintObj2=100000;// 自动装箱// 使用和打印System.out.println("int基本类型 i1: "+i1);System.out.println("int封装类型 intObj1: "+intObj1);System.out.println("int最大值: "+Integer.MAX_VALUE);4. long (64位)
// 基本类型longl1=100000L;// 注意L后缀longl2=123456789012345L;// 封装类型 - 支持自动装箱LonglongObj1=Long.valueOf(100000L);LonglongObj2=100000L;// 自动装箱// 使用和打印System.out.println("long基本类型 l1: "+l1);System.out.println("long封装类型 longObj1: "+longObj1);System.out.println("long最大值: "+Long.MAX_VALUE);5. float (32位)
// 基本类型floatf1=3.14f;// 注意f后缀floatf2=1.23e2f;// 科学计数法// 封装类型 - 支持自动装箱FloatfloatObj1=Float.valueOf(3.14f);FloatfloatObj2=3.14f;// 自动装箱// 使用和打印System.out.println("float基本类型 f1: "+f1);System.out.println("float封装类型 floatObj1: "+floatObj1);System.out.println("float最大值: "+Float.MAX_VALUE);6. double (64位)
// 基本类型doubled1=3.14159;doubled2=1.23e-4;// 科学计数法// 封装类型 - 支持自动装箱DoubledoubleObj1=Double.valueOf(3.14159);DoubledoubleObj2=3.14159;// 自动装箱// 使用和打印System.out.println("double基本类型 d1: "+d1);System.out.println("double封装类型 doubleObj1: "+doubleObj1);System.out.println("double最大值: "+Double.MAX_VALUE);7. char (16位)
// 基本类型charc1='A';charc2='\u0041';// Unicode编码charc3=65;// ASCII码// 封装类型 - 支持自动装箱CharactercharObj1=Character.valueOf('A');CharactercharObj2='A';// 自动装箱// 使用和打印System.out.println("char基本类型 c1: "+c1);System.out.println("char封装类型 charObj1: "+charObj1);System.out.println("char数值: "+(int)c1);8. boolean (1位)
// 基本类型booleanflag1=true;booleanflag2=false;// 封装类型 - 支持自动装箱BooleanboolObj1=Boolean.TRUE;BooleanboolObj2=false;// 自动装箱// 使用和打印System.out.println("boolean基本类型 flag1: "+flag1);System.out.println("boolean封装类型 boolObj1: "+boolObj1);关于 decimal 类型
Java 标准库中没有decimal基本数据类型。如果需要高精度的十进制计算,可以使用BigDecimal类:
importjava.math.BigDecimal;BigDecimaldecimal1=newBigDecimal("10.5");BigDecimaldecimal2=BigDecimal.valueOf(20.3);System.out.println("BigDecimal值 decimal1: "+decimal1);System.out.println("BigDecimal值 decimal2: "+decimal2);Java BigDecimal 与 SQL Server 类型映射
BigDecimal可以映射到 SQL Server 的以下类型:
decimal- 最常用映射,完全匹配numeric- 与 decimal 等价,可互换使用money- 用于货币值存储smallmoney- 用于较小范围的货币值
这种映射保证了在数据库操作中数值的精确性和完整性,特别适用于金融计算等对精度要求极高的场景。