Java的常用工具——API

API学习

一、基本概念

API简介

https://docs.oracle.com/en/java/javase/11/docs/api/index.html

Application programming interface,应用程序编程接口,这里指的是“API文档”,通常叫做“Java文档”,是Java中提供的类的说明书。

Java组件的层次结构

模块(module)——>包(package)——>类或接口(class/interface)

模块

Java9后提供的一种新的Java基础组件,在包的基础上又进行了一层封装,是包的容器。

a) JavaSE Module:Java语言核心类库,其下的模块多以Java开头;

b) JDK Module:Java开发工具相关内容,其下的模块多以jdk开头。

二、Object类

简介

类层次结构最顶级的基类,所有的类都直接或间接继承Object类,所以,所有的类都是一个Object(对象)。

Object类属于 java.base 模块的 java.lang 包的普通类(java.lang 包下的类可以直接使用,不需要导包)

构造方法

Object类只有一个空参构造方法 Object(): 构造一个对象。所有子类对象初始化都会优先调用该方法。

成员方法(部分)

1、hashCode(): int hasCode() , 返回对象的哈希码值,该方法通过对象的地址值进行计算,不同对象的返回值一般不同;

2、getClass(): Class<?> getClass() , 返回调用此对象的运行类对象(调用者的字节码文件对象),一个类只有一个字节码文件对象;

3、toString(): String toString() , 返回该对象的字符串表示,默认打印的是地址值,不同对象打印的地址值肯定不同; 地址值的组成 全类名 + @ + 该对象的哈希码的无符号十六进制形式

4、equals(): boolean equals() , 返回其他对象与此对象是否相等。默认情况下比较两个对象的引用(地址值),无意义,建议重写。

JavaBean中重写Object类的方法

重写 toString() : 该对象的字符串表现形式,一般都是包含所有属性值且具有一定格式的字符串。

重写equals() : 可以通过关键属性(id)来确定该类的两个对象是否相同,可以比较所有属性值。

三、Scanner类

简介

扫描器。能够解析字符串(String)和基本数据类型的数据。简单来说就是键盘录入。Scanner类属于java.base 模块中 java.unit 包里的类。即需要导包

构造方法

Scanner(InputStream):

构造一个扫描器对象,从指定输入流中获取数据

参数 System.in ,对应键盘录入。

成员方法(部分)

hasNextXxx() :

判断是否还有下一个输入项,其中Xxx可能是任意的基本数据类型,返回结果为布尔类型;

nextXxxv() :

获取下一个输入项,其中Xxx可以是任意基本数据类型,返回对应类型的数据;

nextLine() :String nextLine()

获取下一行数据,以换行符作为分隔符;

next() : String next()

获取下一个输入项,以空白字符作为分割符

空白字符:空格、回车、tab等

四、String类

简介

字符串。每一个字符对象都是常量。

可以不需要new对象即平时直接 String int a=“abc”,而不用String a = new String(“abc”);

java.base 模块中的 java.lang 包中的类

构造方法(常用)

String(byte[]) :

构造一个String对象,将指定字节数组中的数据转化成字符串;

String(char[]) :

构造一个String对象,将指定字符数组中的数据转化成字符串;

成员方法

判断功能:

a) boolean equals(String) :

判断当前字符串与给定字符串是否相同,区分大小写;

b) boolean equalsIgnoreCase(String) :

判断当前字符串与给定字符串是否相同,不区分大小写;

c) boolean strartWith(String) :

判断是否以给定字符串开头;

d) isEmpty();

判断是否为空;

获取功能:

length() :获取当前字符串的长度;

charAt(int index) :获取指定索引位置的字符;

indexOf(String):获取指定字符(串)第一次出现的索引(第一个是 0);

lastIndexOf(String):获取指定字符(串)最后一次出现的索引;

substring(int):获取指定索引位置(含)之后的字符串;

substring(int,int):获取从索引start位置(含)到索引end位置(不含)的字符串;

转换功能:

getBytes(): 将字符串转换成字节数组;

toCharArray(): 将字符串转换成字符数组;

valueOf(String): 将指定类型数据转换成字符串;

replace(old, new): 将指定字符(串)替换成新的字符(串);

split(String): 切割字符串,返回切割后的字符串数据,原字符串不变;

trim(): 去掉字符串两端的空白字符;

五、StringBuilder和StringBuffer类

简介

可变字符序列,用于构造字符串对象。内部使用自动扩容的数组操作字符串数据。两者使用相同的API.

属于java.base 模块中的 java.lang 包中的类

StringBuilder比StringBuffer类运行效率高,实际开发使用多。

构造方法

StringBuilder(): 无参构造方法,构造一个空的StringBuilder容器;

StringBuilder(): 构造一个StringBuilder容器,并添加指定的字符串;

成员方法

append(): 将任意数据添加到StringBuilder容器中,返回自身;

toString(): 将当前StringBuilder容器转换成字符串;

六、Date类和Calendar类(抽象类,类名.方法名)

简介

日期和日历类,y用于操作日期相关信息。

类构造方法

Date(): 构造一个日期对象,当前系统时间,精确到毫秒;

Date(long): 构造一个日期对象,时间为自“1970年01月01日 00:00:00 GMT”起,至指定参数的毫秒数;

、成员方法

getTime(): 将日期对象转换成对应时间的毫秒值,即将date类型转换成long类型;

getInstance(): static Calender getInstance(),根据当前系统时期h和语言环境获取日历对象;

get(int field): 返回给定日历字段的值,其中Java中使用0-11表示1-12月份;

set(int field, int value): 将给定日历字段设置为给定的值;

七、基本类型的包装类

简介

基本数据类型不是对象,所以Java针对基本数据类型提供了对应的包装类,以形象形式来使用。

java.base 模块中的 java.lang 包中的类

八种基本数据类型对应八种包装类

包装类即数据类型的首字母大写即可(byte—Byte),其中int——Integer,char——Character

装箱:基本数据类型转包装类型(对象类型)

拆箱 包装类型(对象类型)转基本数据类型

成员方法

需求:将字符串类型的数据转换成对应的基本类型

static 基本类型 parseXxx(String),即使用方法 类名.parseXxx();

其中除了Character类没有这方法,其使用String类中的toCharArray()和charAt();

//因为a属于基本数据类型,不能通过 对象名. 的形式调用方法
//解决方案:将其转换成对应的包装类(引用类型)即可
//int a = 10;

//装箱
Integer integer = new Integer(20);
//拆箱
int b = integer.intValue();

System.out.println(integer);//输出20
System.out.println(b);//输出20

//JDK5的新特性,自动拆装箱(上面方法已过时)
Integer integer2 = 30//装箱
int integer3 = integer2;//拆箱

//需求:将字符串类型的“10”,转换成int类型的10
String s = "10";
int num = Integer.parseInt(s);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值