Api类库_equals_toString_Scanner_String比较和获取

Api:

全称:application programming interface(应用程序编程接口)

广义上的接口:接口中只有抽象方法 没有方法的具体实现 只关注方法的返回值 方法名 参数列表  方法的异常。。。不会去关注方法的具体实现。

应用程序接口:站在用户的角度来讲只需要知道方法的一些信息 ,不去关注怎样具体实现。里面具体的实现类。

Api分类:

1、jdk的api:查看jdkapi的帮助文档就可以使用里面自带的一些基础的功能;

2、扩展的api:例如dom4j、dbutils 这些接口需要我们去导入相应的jar包;

3、其他的公司的api: 阿里  腾讯jar包 收费的。

类库:

我们在java程序中一些复杂的功能需要使用多个类结合才能完成,这时候java给我们提供了打包的功能。(jar包)

打包的流程:

Export----->java----->jarfile---->打包的路径和包名---->finsh

使用jar包的流程

在工程下新建floder文件夹 命名为lib 将jar包 copy进入文件夹

添加对这个jar的依赖:Build path--->add build path 出现关联性的类库 这个jar中的类就可以使用

添加一个其他的类库 选中工程 -->右键--> build path -->add library 选择需要添加的类库例如:Junit

object

所有类的顶级父类

所有类都可以实现object中的方法。

所有的数组都是Object类型的子类  Person[] Student[] 都是它的子类 甚至Object[] 也是它的子类。

object的构造方法

Object()

通过创建对象打印信息:java.lang.Object@4b67cf4d

分析:

java.lang.Object:当前运行类的全类名

@:连接符没有实际意义

4b67cf4d:通过地址信息计算出的哈希码值 的十六进制表示方式。

Object中的常用的成员方法

Equals:

格式:Boolean Equals(Object obj)  
解释:比较两个引用数据类型是否相等 就是调用者和参数中的两个引用是否指向了相同的对象,如果引用相等就返回true 如果不相等就返回false。

比较:一般情况下我们都不会去比较引用是否相等,比较的是对象的属性是否相等。

重写object中的equals方法 重新制定比较规则。
Equals方法的重写可以不用手动重写 ,直接在eclipse中重写即可

toString()方法

作用:就是以字符串的形式来表示出对象的信息

Object中的toString方法 打印的还是十六进制的哈希码值 ,一般情况下我们都希望打印对象可以直接明了的观察对象的信息。所以所有的类都建议重写toString

Println方法的底层就是调用了String valueof方法  valueof方法去调用tostring方法。也不需要我们手动重写toString方法 可以用eclipse直接生成

Scanner

单词解释:扫描器

说明:在Scanner类中的构造方法就要求我们去传递一个扫描对象。

Scanner的构造方法

罗列:

Scanner(String source):直接传递一个字符串作为扫描来源

private static void test1_第一个构造方法() {
		Scanner sc = new Scanner("123 456");
		int num1 = sc.nextInt();//124,以int类型接受,以空格作为分隔符
		System.out.println(num1+1);
		int num2 = sc.nextInt();//457
		System.out.println(num2+1);
	}

Scanner(File f):创建一个文件对象作为扫描来源

	private static void test2_构造方法的第二种形式() throws FileNotFoundException {
		File f = new File("a.txt");
		Scanner sc = new Scanner(f);
		int num1 = sc.nextInt();
		System.out.println(num1+1);
		int num2 = sc.nextInt();
		System.out.println(num2+1);
		
	}

Scanner(InputStream is):

System.in 就是一个字节输入流可以直接传递。

private static void test3_第三种构造方法() {
		InputStream is = System.in;//system 键盘输入流
		Scanner sc = new Scanner(is);
		int num1 = sc.nextInt();
		System.out.println(num1);
		int num2 = sc.nextInt();
		System.out.println(num2);
	}

Scanner 中的常用的成员方法

1、第一种形式 就是以空格为分割的成员方法

接收基本数据类型 nextXXXX()

接收字符串的 next()

2、第二种形式 是以换行符作为分割的成员方法

nextLine():不可以去写换行,不能回车。只能输入一行

Scanner在使用时的问题

问题的描述:在使用扫描器时先调用以空格作为分割符的方法,在去调用以换行作为分割符的方法时,就会出现录入一个空串的情况。

最终的解决:创建一个扫描器 使用nextLine接受两次字符串就可以解决问题。

String

String表示字符串类型

常见的字面量字符串:”abd”  “123”

字符串是一个不可以改变的常量

原因:底层数组被私有化也没有提供set相关方法。所以字符串是不可变的。

底层数据的存储:存储在字符数组中

String的构造方法

罗列:

String() 就是创建一个空串

String(String str) 传递一个字符串作为参数 就是相当于 拷贝当前的值到对象中

String(byte[] arr) 将字节数组转成字符串  解码

String(byte[] arr,int offset,int length) 一部分字节数组转成字符串,offset表示其实位置的索引,len表示转换的长度。

String(char[] arr) 将字符数组转成字符串 不存在解码的过程

String(char[] arr,int offset,int len) 将一部分字符数组转成字符串。

String类型成员方法

String中的比较方法

罗列:

Equals(String str) 比较两个字符串的值是否相等。

Contains(String str) 判断当前字符串是否包含 传递进来的串

endsWith(String str) 判断当前的串是否以指定的串结束

startsWith(String str) 判断当前的串是否以指定的串开头

isEmpty() 判断当前的字符串是否为空

Equalsignorecase(String str)忽略大小写判断当前的字符串跟传递的串是否一致。

String中获取相关的方法

1、Length()获取字符串中字符的个数  可以拿到字符串中索引的表示范围。就可以去对字符串进行操作,例如遍历。

2、以索引获取内容

charAt(int index) 获取到当前指定索引的字符

subString(int startIndex) 截取字符串并且指定开始的位置。

subString(int start,int end) 截取字符串并且指定开始和结束的位置。(包含开始的位置,不包含结束的位置)。

3、以内容获取索引

indexOf(int i)指定字符在字符串中第一次出现的索引值。

indexOf(int i,int fromIndex) 指定字符在字符串中第一次出现的位置的索引值,并指定开始搜索的位置。

IndexOf(String str) 返回该字符串在此字符串中第一次出现的位置。

indexOf(String str,int fromIndex) 返回该字符串在此字符串中第一次出现的位置。并指定开始搜索的位置

lastIndexof就是从结尾的位置开始搜索。

注意事项:

无论是从开头还是结尾搜索索引都不会改变。指定位置也不会改变。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值