A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 德鲁大叔 初级黑马   /  2018-12-12 19:50  /  1364 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



object类:是所有类的父类,任何一个类都直接间接继承object
date类:日期,获取系统相关日期和时间
Dateformat类:对日期和时间进行格式化
Calendar类:日历类,定义了跟日历相关的方法
System:系统类,定义了和操作系统的相关方法
String Builder:意思是字符串缓冲区,提高字符串的操作效率
包装类:指很多个类


object在java.lang包下面,所有类的父类,是类层次结构的跟类。
二:to string方法:
使用此方法,直接打印对象的名字就是默认调用对象的To string()方法,格式:string to string,返回值是字符串类型。(打印即默认使用To string方法)
判断是否重写了tostring()方法,就直接打印对象名即可,打印的是数值,没有重写,则打印的是地址值。打印验证:random默认就没使用tosrting,Scannar和Arrlist默认使用了重写    ---------------快捷键

三:equals方法:
默认继承了object中的equals方法,比较的是两个对象的地址值是否相等,源码属于==,是boolean类型,如果需要比较内容,则需要重写equals方法。
基本数据类型:比较的是值,
引用数据类型:比较的是两个对象的地址值
equals一般用于比较两个对象的内容 ; ==比较的基本类型的值和引用数据类型的地址值。



四:重写equals方法
因为比较的是地址值没有意义,所以重写equals,比较两个对象的属性值,隐含了一个多态
多态的弊端:只能显示父类的属性方法,无法使用子类特有的属性和方法,所以用向下转换(强转);instanceof:防止类型转换异常 ---------------------快捷键

结果:用赋值符号创建的字符串可以用==(因为赋值操作存放在堆中的常量池中,所以可以用==),也可以用equals比较,new出来的字符串只能用equals。所以建议用equals。


五:objects类的equals方法:对两个对象比较,可以同时传两个对象,防止空指针异常。boolean b=objects.equals(si,s2);sout(b)。作为了解。空指针异常的含义:null不能调方法,调了方法即为空指针异常


六:Date类(表示日期和时间的类)
它是java.util包下面的,表示特定的瞬间,精确到毫秒
毫秒:千分之一秒,1000毫秒等于1秒
特定的瞬间:一个时间点一刹那时间
时间原点(0毫秒):1970年1月1日00:00:00(英国格林威治)
1天=24*60*60=86400秒=86400*1000=86400000毫秒
中国属于东八区,会把时间增加8个小时,即1970年1月1日08:00:00




七:Date的构造方法:
1:空参:获得就是当前系统时间,Date();
2:带参:Date(Long date):传递毫秒值,把毫秒转时间。
3:date类的成员方法:long gettime,把时间转换为毫秒,相当于currentTimeMillis()。




八:Dateformat类:是text.format的子类,是个抽象类。有两个成员方法:format和parse。

在java.text(文本包)里面
格式化:format,把date日期转化为string
format是个抽象类,无法直接创建对象使用,所以用它的子类:SimpleDateFormat(传递指定的模式,具体如下:)
y 年
M 月
d 日     例:"yyyy-MM-dd HH:mm:ss"yyyy年MM月dd日 HH时mm分ss秒。。模式中的字                    字母大小不能变,连接模式的符号可以随便变。
H 时
m 分
s 秒
S 毫秒

解析:parse,把String解析为Date日期
用这两个方法,都是用SimpleDateFormat的对象名去点儿。


九:用format方法和parse方法
十:练习题,使用日期时间相关的api,计算出一个人已经出生了多少天


十一:java.util.Calendar:日历类(抽象类,提供了很多操作日历字段的方法,无法直接创建对象使用,需使用静态方法getInstance())
static Clalendar getInstamce :使用默认时区和语言环境获得一个日历

因为是抽象类,无法直接New,直接点儿一个静态方法 getInstamce

十二:clalendar的常用方法:
注释:int field:日历类的字段,可以使用calendar类的静态成员变量获取,如下:
year 年;month月;date月中某一天;day of month月中某一天;hour时;minute分;second秒;
成员方法如下:
get (int field ):通过字段获取指定的值(直接用clalendar类 点儿 年月日,同下)

set (int field ,int value):把字段设置为指定的值(aaaa.set(Clalendar.YEAR,2018))

add  (int field,int amount ):增加或减少指定的值(同上)
int field:日历字段(clalendar.YERA或者clalendar.MONTH或者clalendar.DATE等静态成员变量)具体有(YEAR MONTH DATE(天)) DAY-OF-MONTH(天) HOUR(时) MINUTE(分) SECOND(秒))
int amount:增加或减少的值(正数:增加,负数:减少))

gettime();把日历转化位日期。

直接用clalendar类 点儿 年月日,通过这样来获得日历对象。






十三:System类:
java.lang.system
有2个静态方法:
lang currentTimeMillis(),因为是静态类,直接用类点儿,直接用System. currentTimeMillis(),返回以毫秒为单位的当前时间,用来测试程序的效率(题:验证1到9999所需的时间(毫秒))
arraycopy(object src,int srcpos,object dest,int destpos,int length):数组复制。
内容为(需要复制的数组,复制的起始索引,目标数组,目标数组的粘贴索引位置,需要复制起始数组的个数)






十四:StringBuilder,java.lang.StringBuilder,字符串缓冲区(可以看成一个长度可以变化的字符串,底层也是一个数组但没有被final修饰,可以改变长度,底层也是byte字符串),在内存中始终是一个数组,占用空间少,如果超出容量会自动扩容。在字符串中,有GC回收机制,内存沾满了会有一定的几率回收无效的字符串

十五:
StringBuilder的:对于经常拼接的字符串,我们用StringBuilder,因为它效率高。
空参和满参的构造方法,(默认用了tostring)。
成员方法:2个:
1:append(...)参数可以是任意数据类型,返回的是当前对象本身,所以使用它无需要返回值。引申为 链式编程方法
十六:上面第二条:2:to string :把字符串缓冲区变成字符串


十七:包装类:在java.lang包中,就是一个类,可以调方法,用来包装基本数据类型的,ctrl加回车可以看类的详情。
十八:包装类的装箱与拆箱
装箱:把基本类型的数据包装到包装类中:
构造方法:Integer(int value)
                 Integer(String s)
静态方法:static Integer valueof(int i )
                 static Integer valueof( String s )

拆箱:在包装类中取出基本类型的数据:int intcalue(),以int类型返回该Integer的值
int i =in12.intvalue();sout(i)打印结果 1


十九:自动装箱和自动拆箱
基本数据类型的数据和包装类之间可以自动的互相转换:
自动装箱
例:Integer i=1;
自动拆箱:in(Integer 类型)=in+2  ,需要用到 intValue。
总结:其实就是省略了转换步骤,直接把int类型变成Integer

二十:基本数据类型与字符串之间的相互转换
基本数据类型转换字符串:
1:用字符串连接符
2:使用包装类中的静态方法to string
3:使用string类中的静态方法:value of (int i )

字符串转基本类型:
使用包装类的静态方法parse
除了char类型,其他基本数据类型都是parseInt parseDouble...
int i =Integer.parseInt(i)


比较a和b是否相同:
可以用==或者equala

==:是比较的地址值,因为-128到127之间因为是常用数据,它存在于常量池中(直接用"创建的字符串都在常量池中),地址是一样的,所以可以用==比较
equals:比较的是对象的内容,在-128||127外就不能用==,只能用equals。












0 个回复

您需要登录后才可以回帖 登录 | 加入黑马