八种包装类
八种包装类都是引用数据类型,父类是Object。
基本数据类型 | 包装类型 |
---|---|
byte | java.lang.Byte |
short | java.lang.Short |
int | java.lang.Integer |
long | java.lang.Long |
float | java.lang.Float |
double | java.lang.Double |
boolean | java.lang.Boolean |
char | java.lang.Character |
基本数据类型可以通过构造方法的包装,达到基本数据类型转换为引用数据类型的目的。
例如:
Integer i = new Integer(123); //装箱
通过引用类型中的方法,将引用类型转换为基本数据类型。
例如:
int j = i.intValue(); //拆箱
上面六种引用类型的父类:Number中,含有负责拆箱的方法。
两种构造方法:
Integer i = new Integer(123);
Integer j = new Integer("abc");
存在Integer.MAX_VALUE、Integer.MIN_VALUE.
注意:JDK1.5后支持自动装箱、自动拆箱。
java中为了提高程序的效率,将[-128,127]之间的包装对象,提前创建好放在方法区的“整数型常量池”中,用这个方法区中的数据不需要再new了。
Integer中的方法:
static int parseInt(String s) // 将字符串转换为整型。
日期:
获取当前日期:在java.util包下有Date。
Date date = new Date();
System.out.println(date);//输出当前日期
日期格式化:在java.text包下有SimpleDateFormat;
例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm-ss SSS");
System.out.println(sdf.format(date));
可以按在sdf中指定的格式输出当前的日期。
将String转换为Date类型输出:
String time = "2008-08-08 08:08:08 888";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date nowtime = sdf1.parse(time);
System.out.println(nowtime);
获得当前时间距1970年1月1日00:00:00 000的总毫秒数:
System.currentTimeMillis();
数字格式化:
java.text.DecimalFormat;
#表示任意数字 ,表示千分位 .表示小数点 0代表不够时补0
例如:
DecimalFormat dc = new DecimalFormat("###,###.##");
String i = dc.format(1232.54);
System.out.println(i);
java.math.BigDecimal;
- BigDecimal:属于大数据,精度极高,不属于基本数据类型。财务软件专用。
- 里面的数据不能直接运算,必须要调用方法来操作。
随机数
java.util.Random;
Random rd = new Random();
int s1 = rd.nextInt(); //生成整数范围内的随机数。
int s2 = rd.nextInt(101); //生成0到100内整数
枚举
enum 枚举名{枚举的值1,枚举值2,枚举值3.。。}
- 枚举编译之后也是class文件。
- 枚举也是一种引用类型
- 枚举中的每个值都可以看作是常量。
- 结果只有两种情况的建议使用boolean类型,超过两种建议使用枚举。