Date nowTime = new Date();
//使用Date转化为String,用SimpleDateFormat中的format()方法
public class DateTest {
public static void main(String[] args) {
//获取系统时间,精确到毫秒的系统当前时间
Date nowTime = new Date();
//java.util.Date类的toString()方法已经被重写了
System.out.println(nowTime); //Tue Dec 05 09:06:55 CST 2023
/*
* yyyy 年(年是4位)
* MM 月(月是2位)
* dd 日
* HH 时
* mm 分
* ss 秒
* SSS毫秒(毫秒3位,1000毫秒代表1秒)
* */
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//最完美的格式
// SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String nowTimeStr = sdf.format(nowTime);
System.out.println(nowTimeStr); //2023-12-05 09:06:55 290
}
}
public class DateTest {
public static void main(String[] args) throws Exception {
//假设有一个日期字符串String,怎么转化成Date类型。
String time = "2023-12-5 09:10:00 111";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//格式要跟String格式一样
Date dateTime = sdf.parse(time);
System.out.println(dateTime); //Tue Dec 05 09:10:00 CST 2023
//如果格式与String的格式不一样会产生解析异常:java.text.ParseException
//SimpleDateFormat sdf2 = new SimpleDateFormat("MM-dd HH:mm:ss SSS");
}
}
public class DateTest02 {
public static void main(String[] args) {
//获取1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
long nowTimeMillis = System.currentTimeMillis();
System.out.println(nowTimeMillis);
//统计一个方法耗时
//调用目标方法之前记录一个毫秒数
long begin = System.currentTimeMillis();
print();
long end = System.currentTimeMillis();
System.out.println("耗费时长" + (end-begin) +"毫秒");//耗费时长49毫秒
//java虚拟机每次调用快慢都不一样
}
private static void print() {
for (int i = 0; i < 10000; i++) {
System.out.println("i=" + i);
}
}
}
对System类的相关属性做个小结:
System.out:out是System类的静态变量
System.out.println():println()方法不是System类的,是PrintStream类的方法。
System.gc():建议启动垃圾回收器
System.currentTimeMillis():获取1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
System.exit(0):退出JVM
获取昨天此时的时间
public class DateTest {
public static void main(String[] args) {
//默认时间1970-01-01 00:00:00 001 GMT
//Date time = new Date(); 无参表示获取当前系统时间
Date time = new Date(1);//表示默认时间+1毫秒
//由于有时差,所以GMT输出打印为CST加八个小时
System.out.println(time); //Thu Jan 01 08:00:00 CST 1970
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String strTime = sdf.format(time); //1970-01-01 08:00:00 001
System.out.println(strTime); //Thu Jan 01 08:00:00 CST 1970
//获取昨天的时间,用System.currentTimeMillis()方法减掉一天时间的毫秒数
Date time2 = new Date(System.currentTimeMillis() - 1000*60*60*24);
String strTime2 = sdf.format(time2);
System.out.println(strTime2); //2023-12-04 09:56:08 154
}
}
public class DecimalFormatTest {
public static void main(String[] args) {
//关于数字格式化
DecimalFormat df =new DecimalFormat("###,###.##");
/**
* 数字格式:
* # 代表任意数字
* , 代表千分位
* . 代表小数点
* 0 代表不够时补0
* */
String s = df.format(1234.56);
String s2 = df.format(123456789.10);
System.out.println(s); //1,234.56
System.out.println(s2); //123,456,789.1
DecimalFormat df2 =new DecimalFormat("###,###.0000");
String s3 = df2.format(1234.56);
System.out.println(s3); //1,234.5600
}
}
public class BigDecimal {
public static void main(String[] args) {
//这是一个精度非常高的100
BigDecimal v1 = new BigDecimal(100);
//这是一个精度非常高的200
BigDecimal v2 = new BigDecimal(200);
/** 两个BigDecimal类型数字的加减乘除需要调方法
* 加 add()
* 减 subtract()
* 乘 multiply()
* 除 divide()
*/
//这里两个精度极高的数字要做加法要用add()方法
BigDecimal v3 = v1.add(v2);
System.out.println(v3);//300
}
}
public class RandomTest {
public static void main(String[] args) {
Random random = new Random();
//产生一个随机数字
int num1 = random.nextInt();
System.out.println(num1); //1887415746
//产生[0-100]之间的随机数,不包括101
int num2 = random.nextInt(101);
System.out.println(num2); //14
}
}
import java.util.Arrays;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
//定义一个数组
int[] arr = new int[5];
//初始化数组
for (int i = 0; i < arr.length; i++) {
arr[i] = -1;
}
Random random = new Random();
//定义当前下标
int index = 0;
while (index < arr.length){
int num = random.nextInt(101);
if(!contains(arr,num)){
arr[index++] = num;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.printf(arr[i] + " "); //76 47 100 27 42
}
}
//用一个方法判断数组中是否有某个值
public static boolean contains(int[] arr,int key){
for (int i = 0; i < arr.length; i++) {
if(arr[i] == key){
return true;
}
}
return false;
}
}
public class EnumTest {
public static void main(String[] args) {
Result r = divide(10,0);
System.out.println(r == Result.SUCCESS ? "计算成功" : "计算失败");
}
/**
* 计算两个int类型数据的商
* @param a
* @param b
* @return Result.SUCCESS为成功, Result.FAIL为失败
*/
public static Result divide(int a,int b){
//这里为异常的知识点,try中运行时如果发生异常
//catch会捕获出异常,运行catch的语句。
try{
int c = a / b;
return Result.SUCCESS;
}catch (Exception e){
return Result.FAIL;
}
}
}
//一个成功,失败的枚举
enum Result{
SUCCESS,FAIL
}
//一个四季枚举
enum Season{
SPRING,SUMMER,AUTUMN,WINTER
}
——本章节为个人学习笔记。学习视频为动力节点Java零基础教程视频:动力节点—JAVA零基础教程视频