1.随机数
随机数在常用业务中也很常用,比如抽奖、随机点名等。
Random random = new Random();
random.nextInt(); // int范围内产生一个随机数
random.nextInt(10); // 返回0~9之间的随机数
固定的随机数列(10为随机数种子,如果创建了,在创建随机数的时候就会出现固定的随机数)
Random random = new Random(10);
for(int i = 0; i < 10; i++) {
System.out.println(random.nextInt());
}
限定随机数范围:int randNumber = rand.nextInt(MAX - MIN + 1) + MIN;
随机生成一个1到6之间的随机数
Random ra = new Random();
int b = ra.nextInt(6) + 1;
System.out.println(b);
2.日期类
2.1 Date
最基础的一个日期类。
public class Test02 {
public static void main(String[] args) {
//获取当前时间的Data对象
Date date = new Date();
//date.getYear()获取1900到目前的时间差
System.out.println(date.getYear() + 1900);
//date.getMonth()-> 一月~十二月 0~11
System.out.println(date.getMonth() + 1);
System.out.println(date.getDay());// 星期天~星期六 0~6
System.out.println(date.getDate());//获取
System.out.println(date.getHours());//获取小时
}
}
2.2日历类
// 获取日历对象
Calendar c = Calendar.getInstance();
System.out.println("获取年份:"+c.get(Calendar.YEAR));
System.out.println("获取月份:"+(c.get(Calendar.MONTH)+1)); //月份0~11
System.out.println("获取日期(今天是该月的第几天):"+c.get(Calendar.DAY_OF_MONTH));
System.out.println("获取小时数(12小时制):"+c.get(Calendar.HOUR));
System.out.println("获取小时数(24小时制):"+c.get(Calendar.HOUR_OF_DAY));
System.out.println("获取分钟数:"+c.get(Calendar.MINUTE));
System.out.println("获取秒钟数:"+c.get(Calendar.SECOND));
System.out.println("获取毫秒数:"+c.get(Calendar.MILLISECOND));
System.out.println("获取当前是该年中的第几天:"+c.get(Calendar.DAY_OF_YEAR));
System.out.println("获取今天是周几:"+c.get(Calendar.DAY_OF_WEEK));
2.3格式化日期类
Date date1 = new Date();
//通过yyyy-MM-dd hh:mm:ss去创建一个格式化日期类的对象sdf
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 将当前日期转化成yyyy-MM-dd HH:mm:ss格式的字符串
String format = sdf.format(date1);
System.out.println(format);
// 将日期格式的字符串转化成Date对象
String dateStr = "2000-01-01 12:00:00";
try {
Date date2 = simpleDateFormat.parse(dateStr);
System.out.println(date2);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
3.包装类
Java里面8个基本数据类型都有相应的类,这些类叫做包装类。
把基本数据类型转换成类,包装类提供了很多的方法给我们使用(查看JDK文档)。
| 基本数据类型 | 包装类 |
| ------------- | ------------- |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
3.1 手动拆箱与自动拆箱
自动拆箱:就是将包装类自动转换成对应的基本数据类型。
public class Test05 {
public static void main(String[] args) {
String s1 = "123";
//使用包装类方法
int i = Integer.parseInt(s1);
System.out.println(i);
//创建包装类
Integer integer = new Integer(100);
//手动拆箱
int i1 = integer.intValue();
System.out.println(i1);
//自动拆箱
Integer i2 = new Integer(200);
System.out.println(i2);
//基本数据类型 -> 包装类 = 装箱
//包装类 -> 基本数据类型 = 拆箱
}
}
3.2 自动装箱: 就是将基本数据类型自动转换成对应的包装类。
public class Test06 {
public static void main(String[] args) {
int i3 = 10;
//手动装箱
Integer integer = Integer.valueOf(i3);
System.out.println(integer);
//自动装箱
int i4 = 20;
Integer integer1 = i4;
System.out.println(integer);
}
}
注:包装类在和基本数据类型做比较时自动转化为基本数据类型