API简介
什么是API?
Application Programming Interface,应用程序编程接口,这里指的是API文档,通常叫“Java文档”,是Java中提供的类的使用说明书。
为什么学习API文档?
发挥面向对象思想,找到Java提供的对象来实现功能,学习API文档就是学习Java中类的使用方法。
Java中组件的层次结构
模块(module) → 包 (package) → 类或者接口 (class/interface)
什么是模块?
Module,自Java 9起提供的一种新的Java基础组件,在包的基础上,又进行了一层封装,是包的容器。
-
Java SE Modules : Java语言的核心类库,其下的模块名多以java开头。
-
JDK Modules : Java开发工具相关内容,其下的模块名多以jdk开头。
Object类
简介
类层次结构最顶层的基类,所有类都直接或间接的继承自Object类,所以所有的类都是一个Object对象。Object属于Java . base模块下面的Java . lang。
构造方法
Object(): 构造一个对象,所有子类对象初始化时,都会优先调用该方法。
成员方法
-
Int hashCode() : 返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同。
-
Class getClass() : 返回调用此方法对象的运行时类对象(调用者的字节码文件对象) . 一个类只有一个字节码文件对象。
-
String toString() : 返回该对象的字符串表示.默认打印的是地址值,不同对象的地址值不同。
地址值的组成 : 全类名 + @ + 该对象的哈希码值的无符号十六进制形式。
-
boolean equals() : 返回其他某个对象是否与此对象相等.默认情况下比较两个对象的地址值。子类一般都会重写这个方法。
非静态方法的调用方式:通过 对象名.方法
实际开发中,我们把两个对象的各个属性值都相同的情况下,才会认为这两个对象是同一个对象。
如何在JavaBean中重写Object类的方法
需求 :开发中,通常需要将对象转成字符串形式进行传输,也需要对即将使用的对象进行相等判断。定义标准JavaBean类,重写toString和equals方法。
步骤:
-
定义标准JavaBean类。
-
重写toString() : 该对象的字符串表现形式一般都是包含所有属性值,且具有一定格式的字符串。
-
重写equals() : 可以通过关键属性来确定该类的两个对象是否相等。可以比较所有属性值。
-
在测试类中创建类对象并使用
Scanner类
简介
扫描器。能够解析字符串(String)和基本数据类型的数据
构造方法
Scanner (InpuStream) : 构造一个扫描器对象,从指定输入流中获取数据参数System. in,对应键盘录入。
成员方法
-
hasNextXxx() : 判断是否还有下一个输入项,其中Xxx可能是任意基本数据类型,返回结果为布尔类型。
-
nextXxx() :获取下一个输入项,其中Xxx可能是任意基本数据类型。返回对应类型的数据。
-
String nextLine() : 获取下一行数据。以换行符作为分隔符。
-
String next() : 去下一个输入项,以空白字符作为分隔符。空白字符 :空格、tab、回车等。
注意 :在实际开发中,应用到的最多的方法就是
nextInt() : 接收整数
nextLine() : 接收字符串
String类
简介
字符串。每个字符串对象都是常量。
构造方法
-
String(byte[]) : 构造一个String对象,将指定字节数组中的数据转化成字符串。
-
String(char[]) : 构造一个string对象将直径字符数组中的数据转化成字符串。
成员方法
判断
-
boolean equals(String) : 判断当前字符串与给定字符串是否相同,区分大小写。
-
boolean equalsIgnoreCase(String) : 判断当前字符串与给定字符串是否相同,不区分大小写。
-
boolean startsWith(String) : 判断是否以给定字符串开头
-
boolean isEmpty() : 判断字符串是否为空
在实际开发中,String非常常用,每次都new很麻烦。于是针对于String在语法做了优化。
获取
-
int length() : 或许当前字符串的长度
-
char charAt( int index) :获取指定索引位置的字符。
-
int indexOf(String) : 获取指定字符或字符串第一次出现的索引值。
-
int lastIndexOf(String) : 获取指定字符或字符串最后一次出现的索引值。
-
String substring( int) : 获取指定索引位置(包含起始位置)之后的字符串
-
String substring( int , int) : 获取从所以起始位置(包含起始位置)索引结束位置(不包含结束位置)的字符串
转换
-
byte[] getBytes():将字符串转换成字节数组。
-
char[] toCharArray():将字符串转换成字符数组。
-
static String valueOf():将指定类型数据转换成字符串。
-
String replace(old , new):将指定字符串或字符替换成新的字符串或字符。
-
String[] split(String):切割字符串返回切割后的字符串数据源字符串不变。
-
String trim():去掉字符串两端的空白字符。
StringBuilder和 StringBuffer类
简介
可变字符序列用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。StringBuilder和StringBuffer使用相同的API
构造方法
-
StringBuilder():构造一个空的StringBuilder容器。
-
String Buffer():构造一个容器String Buffer,并添加指定字符串。
成员方法
-
StringBuilder append(.....):将任意数据添加到StringBuilder容器中,返回自身。
-
String toString():将当前StringBuilder容器转换成字符串。
Date和Calendar类
简介
日期和日历类,用于操作日期相关信息。
构造方法
-
Date():构造一个日期类,当前系统时间,精确到毫秒。
-
Date(long):构造一个日期对象时间为自“1970年1月 1日00:00:00 GMT”起,至指定参数的毫秒数。
成员方法
-
long getTime():将日期对象转换成对应时间的毫秒数。
-
static Calendar getInstance():根据当前系统时区和语言环境获取日历对象。
-
int get(int field):返回给定日历字段的值
-
void set( int field, int value):。将给定的日历字段设置为指定的值。
注意:
Calendar类为抽象类,不能使用new关键字创建对象。可以直接使用Calendar.getInstance()创建对象.
Java中使用0~11的数字表示月份,对应1~12月。
基本类型的包装类
简介
基本数据类型不是对象,不能通过对象名.方法名()来调用方法,所以Java针对基本类型提供了对应的包装类,以对象的形式来使用。
包装类:
Byte、Short、Integer、Long、Character、Float、Double、Boolean
装箱:
基本类型转包装类型(对象类型)
拆箱:
包装类型(对象类型)转基本类型
成员方法
-
static 基本数据类型 parseXxx(String):将字符串类型的数据转换成对应的基本类型。
注意:
除了Character类以外,其他的7种包装类都有 parseXxx(String)方法。字符串想要转换成char类型的数据,可以通过string类中的方法toCharArray()和charAt()。