toString、Date、DataFormat、Calendar、System、StringBuilder、Integer

目录

1、toString

2、Date (跟日期有关)

(1)从1970年1月1号00:00:00到当前系统时间一共有多少毫秒

a)第一种方法:System.currentTimeMillis(),返回的是long类型

b)第二种方法:getTime()方法,返回的也是long类型

 (2)获取当前日期和时间

a)一行代码,获取当前日期和时间

b) 无参构造方法,获取当前日期和时间

(3)有参构造方法,获取指定的日期和时间

3、DataFormat(日期与文本相互转换)

(1)format()方法,把日期格式转化为文本

(2)parse()方法,把文本解析为日期

4、Calendar(跟日历有关)

(1)使用getTime()方法获取当前日期和时间

(2)使用get()方法单独获取年、月、日

(3)使用set()方法重新设置年、月、日(单独设置)

(4)使用set()方法重新设置年、月、日(整体设置)

(5)使用add()方法增加/减少年、月、日(增加为正数,减少为负数)

5、System(与系统有关)

(1)使用System类中的arraycopy()方法将指定源数组中的数组从指定位置复制到目标数组的指定位置

6、StringBuilder(字符串连接)

(1)无参构造和有参构造

(2)使用append()方法可以在字符串后面连接各种类型的数据

(3)链式编程(append()):一行代码实现连接多种类型的数据

(4)StringBuilder和String的相互转化

7、Integer

(1)基本类型->字符串  /  字符串->基本类型


1、toString

在用类作为对象(比如自己创建Person类,并另外创建一个类使用该Person类作为对象)时,使用toString方法返回对象的字符串表示。一般打印输出结果就会默认调用Object类的toString方法,如果打印结果像“com.itcast.demo01Object.Person@16e8e0a”这样的地址值,说明没有重写toString方法,只需要在Person类中重写toString方法即可(使用 Alt + Insert 快捷键)。

2、Date (跟日期有关)

(1)从1970年1月1号00:00:00到当前系统时间一共有多少毫秒

a)第一种方法:System.currentTimeMillis(),返回的是long类型

System.out.println("从1970年1月1号00:00:00到当前时间一共" + System.currentTimeMillis() + "毫秒");

打印结果:从1970年1月1号00:00:00到当前时间一共1598004305144毫秒

b)第二种方法:getTime()方法,返回的也是long类型

Date date = new Date();
long time = date.getTime();
System.out.println("从1970年1月1号00:00:00到当前时间一共" + time + "毫秒");

打印结果:从1970年1月1号00:00:00到当前时间一共1598004305144毫秒

 (2)获取当前日期和时间

a)一行代码,获取当前日期和时间

System.out.println(new Date(System.currentTimeMillis()));

打印结果:Fri Aug 21 18:05:05 CST 2020

b) 无参构造方法,获取当前日期和时间

Date date = new Date();
System.out.println(date);

上面两行相当于:System.out.println(new Date());

打印结果:Fri Aug 21 18:05:05 CST 2020

(3)有参构造方法,获取指定的日期和时间

Date date = new Date(0L);//添加参数
System.out.println(date);

上面两行相当于:System.out.println(new Date(0L));//添加参数

打印结果:Thu Jan 01 08:00:00 CST 1970

3、DataFormat(日期与文本相互转换)

(1)format()方法,把日期格式转化为文本

(2)parse()方法,把文本解析为日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = new Date();
System.out.println(date);//Sun Aug 16 15:25:18 CST 2020
//日期格式化为文本
String f = sdf.format(date);
System.out.println(f);//2020年08月16日 15时25分18秒
//文本解析为日期
Date p = sdf.parse(f);
System.out.println(p);//Sun Aug 16 15:25:18 CST 2020

4、Calendar(跟日历有关)

(1)使用getTime()方法获取当前日期和时间

//使用默认时区和语言环境获得一个日历
Calendar c = Calendar.getInstance();
Date time = c.getTime();
System.out.println(time);

打印结果:Fri Aug 21 21:27:39 CST 2020

(2)使用get()方法单独获取年、月、日

//使用默认时区和语言环境获得一个日历
System.out.println("===获取当前的年月日===");
Calendar c = Calendar.getInstance();
int year1 = c.get(Calendar.YEAR);//获取年
System.out.println("年:" + year1);
int month1 = c.get(Calendar.MONTH);//获取月
System.out.println("月:" + month1);
int day1 = c.get(Calendar.DAY_OF_MONTH);//获取日
System.out.println("日:" + day1);
int day2 = c.get(Calendar.DATE);//获取日
System.out.println("日:" + day2);

打印结果:
===获取当前的年月日===
年:2020
月:7
日:21
日:21

(3)使用set()方法重新设置年、月、日(单独设置)

System.out.println("===重新设置年月日(单独设置)===");
//使用默认时区和语言环境获得一个日历
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR,1999);//设置为1999年
int year2 = c.get(Calendar.YEAR);//获取年
System.out.println("年:" + year2);
c.set(Calendar.MONTH,04);//设置为4月
int month2 = c.get(Calendar.MONTH);//获取月
System.out.println("月:" + month2);
c.set(Calendar.DATE,9);//设置为9日
int day3 = c.get(Calendar.DATE);//获取日
System.out.println("日:" + day3);

打印结果:
===重新设置年月日(单独设置)===
年:1999
月:4
日:9

(4)使用set()方法重新设置年、月、日(整体设置)

System.out.println("===重新设置年月日(整体设置)===");
//使用默认时区和语言环境获得一个日历
Calendar c = Calendar.getInstance();
c.set(8888,8,8);//设置年月日
System.out.println("年:"+c.get(Calendar.YEAR));//获取年
System.out.println("月:"+c.get(Calendar.MONTH));//获取月
System.out.println("日:"+c.get(Calendar.DATE));//获取日

打印结果:
===重新设置年月日(整体设置)===
年:8888
月:8
日:8

(5)使用add()方法增加/减少年、月、日(增加为正数,减少为负数)

System.out.println("===增加年月日的值===");
//使用默认时区和语言环境获得一个日历
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,10);//增加10年(减少用-10)
c.add(Calendar.MONTH,2);//增加2个月(减少用-2)
c.add(Calendar.DATE,2);//增加2天(减少用-2)
System.out.println("年:"+c.get(Calendar.YEAR));//获取年
System.out.println("月:"+c.get(Calendar.MONTH));//获取月
System.out.println("日:"+c.get(Calendar.DATE));//获取日

打印结果:
===增加年月日的值===
年:2030
月:10
日:23

5、System(与系统有关)

(1)使用System类中的arraycopy()方法将指定源数组中的数组从指定位置复制到目标数组的指定位置

//定义源数组
int[] array1 = {1,2,3,4,5};
//定义目标数组
int[] array2 = {6,7,8,9,10};

System.out.println("复制前array1:"+ Arrays.toString(array1));
System.out.println("复制前array2:"+ Arrays.toString(array2));
System.out.println("==================");
//使用System类中的arraycopy把源数组的前3个元素复制到目标数组的第3个位置上
//参数含义:(源数组,源数组中的起始位置,目标数组,目标数组中数据的起始位置,要复制源数组中元素的数量)
System.arraycopy(array1,0,array2,0,3);
System.out.println("复制后array1:"+ Arrays.toString(array1));
System.out.println("复制后array2:"+ Arrays.toString(array2));

打印结果:
复制前array1:[1, 2, 3, 4, 5]
复制前array2:[6, 7, 8, 9, 10]
==================
复制后array1:[1, 2, 3, 4, 5]
复制后array2:[1, 2, 3, 9, 10]

6、StringBuilder(字符串连接)

通过“+”也可以实现字符串的连接,但是这种方式效率非常低,并且每执行一次都会创建一个String对象,既耗时又浪费空间。而StringBuilder就可以避免这种问题的发生。

(1)无参构造和有参构造

StringBuilder sb1 = new StringBuilder();
System.out.println("无参构造:" + sb1);
StringBuilder sb2 = new StringBuilder("Hello World");
System.out.println("有参构造:" + sb2);

打印结果:
无参构造:
有参构造:Hello World

(2)使用append()方法可以在字符串后面连接各种类型的数据

StringBuilder sb1 = new StringBuilder();//使用无参构造
sb1.append("zhangsan");//添加字符串
System.out.println("sb1:" + sb1);
sb1.append(123);//添加整数
System.out.println("sb1:" + sb1);
sb1.append(3.14);//添加小数
System.out.println("sb1:" + sb1);
sb1.append('中');//添加单个字符
System.out.println("sb1:" + sb1);

打印结果:
sb1:zhangsan
sb1:zhangsan123
sb1:zhangsan1233.14
sb1:zhangsan1233.14中

(3)链式编程(append()):一行代码实现连接多种类型的数据

StringBuilder sb2 = new StringBuilder("Hello World");
System.out.println("有参构造:" + sb2);
sb2.append("zhangsan").append(3.14).append('中').append(123456);
System.out.println("sb2:" + sb2);

打印结果:
有参构造:Hello World
sb2:Hello Worldzhangsan3.14中123456

(4)StringBuilder和String的相互转化

//String->StringBuilder:可以使用StringBuilder的构造方法
//StringBuilder->String:可以使用StringBuilder中的toString方法
String str1 = "Hello";
System.out.println("str1:" + str1);
//String->StringBuilder
StringBuilder sb = new StringBuilder(str1);
sb.append("World");
System.out.println("sb:" + sb);
//StringBuilder->String
String str2 = sb.toString();
System.out.println("str2:" + str2);

打印结果:
str1:Hello
sb:HelloWorld
str2:HelloWorld

7、Integer

(1)基本类型->字符串  /  字符串->基本类型

//基本类型->字符串
int i = 100;
String s1 = i + "";
System.out.println(s1 + 200);//100200,而不是300

String s2 = Integer.toString(100);
System.out.println(s2 + 200);//100200,而不是300

String s3 = String.valueOf(100);
System.out.println(s3 + 200);//100200,而不是300

//字符串->基本类型
int i1 = Integer.parseInt(s1);
System.out.println(i1 + 50);//150,而不是10050

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值