1 Object类
Object类再java.util.lang包下:
类 Object
是类层次结构的根类。每个类都使用 Object
作为超类。所有对象(包括数组)都实现这个类的方法。
方法:
toString(); 返回该对象的字符串表示。
public class TestPerson { public static void main(String[] args) { Person p = new Person("张三",24); String s = p.toString(); System.out.println(s); } }
输出结果是:
Person{name='张三', age=24}
equals();指示其他某个对象是否与此对象“相等”。
## 2 Date 重难点
2.1 概述(是什么)
表示特定的瞬间 精确到毫秒 1秒=1000毫秒
查询手册 拥有多个构造函数 但是4个已经过时 剩下的两个可以把毫秒值转成日期对象
Date();
Date(Long); 我们在东八区 我们基准时间 1970年1月1日 8时 0分0秒
public class Demo02Date { public static void main(String[] args) { demo03(); } //3 getTime();将日期转换成毫秒值 private static void demo03(){ Date d = new Date(); System.out.println(d); long time = d.getTime(); System.out.println(time); } //2 Date类有参构造 将毫秒值转出Date日期 private static void demo02(){ Date d =new Date(1558334739710L); System.out.println(d); } // 1 Date类空参构造 private static void demo01(){ Date date = new Date();// 获得是当前系统的时间 System.out.println(date); } }
输出结果:
demo03方法的结果:
1558348634883
demo02的结果:
Mon May 20 14:45:39 CST 2019
demo01的结果:
Mon May 20 18:38:49 CST 2019
2.2 日期格式转字符串 字符串转日期
DateFormat ------>SimpleDateFormate format(); parse()
public class Demo03Date { public static void main(String[] args) { try { show2(); } catch (ParseException e) { e.printStackTrace(); } } //2 将 字符串 ---》转date private static void show2() throws ParseException { // 1 创建SimpleDateFormat 对象 SimpleDateFormat da = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); //2 调用parese() Date p = da.parse("2088年9月9日 15时15分15秒"); System.out.println(p); } private static void show(){ //1 创建SimpleDateFormat 对象 构造方法中传递指定的模式 将日期转成字符串 将date--->字符串 SimpleDateFormat da = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); //2调用 format Date date = new Date(); String d = da.format(date); System.out.println(date); System.out.println(d); } }
show输出结果:
Mon May 20 19:16:18 CST 2019 2019年05月20日19时16分18秒
show2输出结果:
Thu Sep 09 15:15:15 CST 2088
2.3作业 要去使用日期时间相关的API 计算你自己出生了多少天
分析
1 使用Scanner类中 next 获取出生日期
2 使用DateFormate---->parse 把字符串转成日期格式 Date
3 Date 转成毫秒值
4 获得当前的毫秒值
5 当前的毫秒值---出生的毫秒值
6 毫秒值转换天 s/1000/60/60/24
package cn.kgc.enums; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class Birth { public static void main(String[] args) throws ParseException { life(); } //计算自己活了多少天 private static void life() throws ParseException { Scanner sc = new Scanner(System.in); System.out.println("请输入你的出生年月:"); String birthDate = sc.next(); //把输入的字符串转换成date格式 SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日"); Date bd = df.parse(birthDate); //把日期转换成毫秒 long bt = bd.getTime(); //获取当前毫秒数 long now = System.currentTimeMillis(); long time = now - bt; System.out.println("从出生到现在我一共活了:"+time/1000/60/60/24); } }
## 3 日历类 Calendar
public class Demo01Calendar { public static void main(String[] args) { // Calendar c= Calendar.getInstance(); // System.out.println(c); demo01(); } // 4 getTime(); 日历转日期 private static void demo04(){ Calendar c =Calendar.getInstance(); Date time = c.getTime(); System.out.println(time); } // 3 add();根据日历规则 减去或者增加时间量 private static void demo03(){ Calendar c = Calendar.getInstance(); c.add(Calendar.YEAR,3); int y = c.get(Calendar.YEAR); System.out.println(y); c.add(Calendar.MONTH,-3); int m = c.get(Calendar.MONTH);//0-11 System.out.println(m); } // 2 set();给定的日历字段值 private static void demo02(){ Calendar c = Calendar.getInstance(); //年2022 // c.set(Calendar.YEAR,2022); // c.set(Calendar.MONTH,5); // c.set(Calendar.DATE,20); c.set(2022,5,20); int y = c.get(Calendar.YEAR); int d = c.get(Calendar.MONTH); System.out.println(y+"年"+d+"月"); } //1 get(int field) 返回给定日历字段的值 private static void demo01(){ Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); System.out.println(year); int m = c.get(Calendar.MONTH);//西方 月份0-11月 东方1-12 System.out.println(m); int d = c.get(Calendar.DATE); System.out.println(d); } }
demo01输出结果为:
2019
4
20
demo02的结果时:
2020年5月
demo03的结果是:
2022
1
demo04的结果是:
Mon May 20 19:30:43 CST 2019
## 4 System 重点
CurrentTimeMillis() 返回的以毫秒为单位的当前时间 用于测试一个程序运行时间
arraycopy() 复制数组
作业2 循环打印数字 1-9999 所需要的时间 (毫秒)
public class Demo02 { public static void main(String[] args) { long l = System.currentTimeMillis(); for(int i=1;i<=9999;i++){ System.out.println(i); } long l1 = System.currentTimeMillis(); System.out.println(l1-l); } }
## 5 StringBuilder 重难点
5.1 字符串拼接问题 字符串一旦被创建不能修改
5.2 StringBuilder
5.2.1 概述
StringBuilder 是一个字符串的缓冲区 是个容器 ---》可以装很多的字符串 自动的扩容
5.2.2 构造方法
StringBuilder() 创建一个空的容器
StringBuilder(String str) 创建容器 并将字符串添加进去
5.2.3 添加方法
append();
StringBuilder------>字符串 toString
## 6 包装类 自动装箱 拆箱 ***
6.1 概述
java提供了两套数据类型 基本和引用
基本类型 包装类
byte Byte
short Short
int Integer**
long Long
double Double
float Float
char Character**
boolean Boolean
6.2 装箱
基本类型和对应的包装类对象之间 转换的过程就是“装箱” “拆箱
装箱 基本类型----------》对应的包装类对象
拆箱 从包装类对象---------》基本数据类型
int i=4;
Integer i1 =new Integer(4); 装箱