日期类
示例一
public class DateTest01 {
public static void main(String[] args) throws Exception {
//获取系统当前时间(精确到毫秒的系统当前时间)
//直接调用无参数构造方法就行。
Date nowTime = new Date();
// java.util.Date类的toString()方法已经被重写了。
//输出的应该不是一个对象的内存地址,应该是一个日期宇符申。
//System.out.println(nowTime); //Thu Mar 05 10:51:06 CST 2020
//日期可以格式化吗?
//舟日期类型bate ,按照指定的格式进行转换:Date -- 转换成具有-定格式的日期字符串- ->String
// SimpleDateFormat是java. text包下的。专门负责日期格式化的。
/*
yyyy年(年是4位)
MM月(月是2位)
dd日
HH时
mm分
ss秒
SSS毫秒(毫秒3位,最高999。1000毫秒代表1秒)
注意:在日期格式中,除了y M d H m s S这些字符不能随使写之外,剩下的符号格式自已随意组织。
*/
SimpleDateFormat sdf = new SimpleDateFormat( pattern: "yyyy-MM-dd HH:mm:ss sss");
//SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy");
//SimpleDateFormat sdf = new SimpleDateFormat( "yy/MM/dd HH:mm:ss");
String nowTimeStr = sdf.format(nowTime);
System.out.println( nowTimeStr);
//假设现在有一个日期字符串string,怎么转换成bate类型?
// String --> Date
String time = "2008-08-08 08:08:08 888";
//SimpleDateFormat sdf2 = new SimpleDateformat("格式不能随便写,要和日期宇符串格式相同");
//注意:字符串的日期格式和SimpleDateFormat对象指定的日期格式要-致。不然会出现异常: java.text.ParseException
SimpleDateFormat sdf2 = new SimpleDateFormat( pattern: "yyyy-MM-dd HH:mm:ss SSS");
Date dateTime = sdf2.parse(time);
System.out.println(dateTime); //Fri Aug 08 08:08:08 CST 2008
}
}
示例二
简单总结一下System类的相关属性和方法:
System.out 【out 是System类的静态变量】
System.out.println() 【println()方法 不是System类的,是PrintStream类的方法。】
System.gc() 建议启动垃圾回收器
System.currentTimeMillis()获取自1970 年11日到系统当前时间的总毫秒数。
System.exit(0) 退出VM。
public class DateTest02 {
public static void main(String[] args) {
//获取自1970年1月1日00:00:00 000到当前系统时间的总毫秒数。
1ong nowTimeMillis = System.currentTimeMillis();
System.out.println( nowTimeMillis); //1583377912981
//统计一个方法耗时
//在调用目标方法之前记录一个毫秒数
1ong begin = System.currentTimeMillis();
print();
//在执行完目标方法之后记录一个毫秒数
1ong end = System.currentTimeMillis();
System.out.println("耗费时长"+(end - begin)+"毫秒");
}
//需求:统计一个方法执行所耗费的时长
public static void print(){
for(int i = 0; i < 1000; i++){
System.out.println("i=”+ i);
}
}
}
数字类
示例一(数字格式化)
public static void main( String[ ] args){
// java.text.DecimaLFormat专门负责数字格式化。
/ / DecimalFormat df = new DecimaLFormat("数宁格式”);
/*
数字格式有哪些?
# 代表任意数字
,代表千分位
.代表小数点代表
0 不够时补0
###,###.##表示加入千分位并保留2个小数。
*/
DecimalFormat df = new DecimalFormat( pattern:"###,###.##");
// String s = df.format(1234.56);
String s = df.format( number: 1234.561232);
System.out.println(s);// "1,234.56”
DecimalFormat df2 = new DecimalFormat( pattern:"###,###.0000");//保留4个小数位,不够补上0
String s2 = df2.format( number: 1234.56);
System.out.println(s2); // "1,234.5608"
}
示例二(BigDecimal)
要点
1、BigDecimal属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)
这是SUN提供的一个类。专门用在财务软件当中。
2、注意﹔财务软件中double是不够的,用的哪一种类型?
千万别说double ,说java.math.BigDecimal
实例
import java.math.BigDecimal;
public class BigDecimalTest01{
public static void main(String[ ] args){
//这个100不是普通的100,是精度极高的100
BigDecimal v1 = new BigDecimal( val: 100);
//精度极高的200
BigDecimal v2 = new BigDecimal( val: 200);
//求和
// v1 + v2;//这样不行,v1和v2都是引用,不能亘接使用+求和。
BigDecimal v3 = v1.add(v2); //调用方法求和。
System.out.println(v3); // 300
BigDecimal v4 = v2.divide(v1);
System.out.println(v4); //2
}
}
随机数
示例一
public class RandomTest01 {
public static void main(String[ ] args){
//创建随机数对象
Random random = new Random();
//随机产生一个int类型取值范围内的数字。int num1 = random.nextInt();
System.out.println(num1 );
//产生[ 0~100]之间的随机数。不能产生101。
int num2 = random.nextInt( bound: 101);//不包括101
System.out.println(num2 );
}
}
枚举
示例一
要点
1、枚举是一种引用数据类型
2、故举类型怎么定义,语法是?
enum枚举类型名{
枚举值1,枚举值2
}
3、结果只有两种情况的,建议使用布尔类型。
结果超过两种并且还是可以一枚一枚列举出来的,建议使用枚举类型
例如:颜色、四季、星期等都可以使用枚举类型。
4、枚举:一枚一枚可以列举出来的,才建议使用枚举类型。
5、枚举编译之后也是生成class文件。
6、枚举也是一种引用数据类型。
7、枚举中的每一个值可以看做是常量。
实例
public class EnumTest01 {
public static void main( string[] args) {
Result r = divide( 10,2);
System.out.println(r == Result.SUCCESS ?"计算成功":"计算失败");
}
public static Result divide( int a, int b){
try {
int c = a / b;
return Result.SUCCESS;
}catch (Exception e){
return Result.FAIL;
}
}
public enum Result{
// SUCCESS是枚举Result类型中的一个值
//FAIL是枚举Result类型中的一个值
//枚举中的每一个值,可以看做是“常量”
SUCCESS,FAIL
}
}
1、枚举是一种引用数据类型
2、故举类型怎么定义,语法是?
enum枚举类型名{
枚举值1,枚举值2
}
3、结果只有两种情况的,建议使用布尔类型。
结果超过两种并且还是可以一枚一枚列举出来的,建议使用枚举类型
例如:颜色、四季、星期等都可以使用枚举类型。
4、枚举:一枚一枚可以列举出来的,才建议使用枚举类型。
5、枚举编译之后也是生成class文件。
6、枚举也是一种引用数据类型。
7、枚举中的每一个值可以看做是常量。
实例
public class EnumTest01 {
public static void main( string[] args) {
Result r = divide( 10,2);
System.out.println(r == Result.SUCCESS ?"计算成功":"计算失败");
}
public static Result divide( int a, int b){
try {
int c = a / b;
return Result.SUCCESS;
}catch (Exception e){
return Result.FAIL;
}
}
public enum Result{
// SUCCESS是枚举Result类型中的一个值
//FAIL是枚举Result类型中的一个值
//枚举中的每一个值,可以看做是“常量”
SUCCESS,FAIL
}
}
public class EnumTest01 {
public static void main( string[] args) {
Result r = divide( 10,2);
System.out.println(r == Result.SUCCESS ?"计算成功":"计算失败");
}
public static Result divide( int a, int b){
try {
int c = a / b;
return Result.SUCCESS;
}catch (Exception e){
return Result.FAIL;
}
}
public enum Result{
// SUCCESS是枚举Result类型中的一个值
//FAIL是枚举Result类型中的一个值
//枚举中的每一个值,可以看做是“常量”
SUCCESS,FAIL
}
}