Java 基本数据类型
1.概览
基本类型 | 大小 | 最小值 | 最大值 | 包装类型 | 定义标志 |
boolean | ~ | ~ | ~ | Boolean | ~ |
char | 16bits | Unicode0 | Unicode2^16-1 | Character | ~ |
byte | 8bits | -128 | +127 | Byte | ~ |
short | 16bits | -2^15 | +2^15-1 | Short | ~ |
int | 32bits | -2^31 | +2^31-1 | Integer | ~ |
long | 64bits | -2^63 | +2^63-1 | Long | L |
float | 32bits | IEEE754 | IEEE754 | Float | f |
double | 64bits | IEEE754 | IEEE754 | Double | d |
void | ~ | ~ | ~ | Void | ~ |
2.成员变量默认值
基本类型 | 默认值 |
boolean | false |
char | '\u0000' (null) |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
3.高精度数字
- BigInteger 支持任意精度的整数
- BigDecimal 支持任意精度的定点数
package cn.lz.base; import java.math.BigDecimal; import java.math.BigInteger; /** * * 高精度数字 * @author lzzz * */ public class J17100802 { public static void main(String[] args) { BigInteger a1 = new BigInteger("19181716151413121110987654321"); BigInteger a2 = new BigInteger("12345678910111213141516171819"); // 加法 System.out.println(a1.add(a2)); // 31527395061524334252503826140 // 乘法 System.out.println(a1.multiply(a2)); // 236811308550240594910066199325923006903586430678413779899 // int a3 = 12345678910111213141516171819; /* * Exception in thread "main" java.lang.Error: Unresolved compilation problem: * The literal 12345678910111213141516171819 of type int is out of range */ BigDecimal b1 = new BigDecimal("12345678910111213141516171819.12345678910111213141516171819"); BigDecimal b2 = new BigDecimal("12345678910111213141516171819.12345678910111213141516171819"); // 乘法 System.out.println(b1.multiply(b2)); // 152415787751564791571474464065423486394871076136159258042.2627449915719520852517428216262375170639839780304729768761 } }