java开发api_Java API(上)

API指的是应用程序编程接口。在API中有一些类,类里面已经定义好了方法,可以直接拿来用。

String类和StingBuffer类

在应用程序中经常会用到字符串,所谓字符串就是指一串的字符,它是由许多单个字符连接而成的。字符串中可以包含任意字符,这些字符必须包含在一对双引号" "之内。

在java中定义了String和StringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法,它们都位于java.lang包中,因此不需要导包就可以直接使用。

String类的初始化

在操作String类之前,首先需要对String类进行初始化,在Java中可以通过以下两种方式对String类进行初始化,具体如下。

1.使用字符串常量直接初始化一个String对象,具体代码如下。

String  Str1=" abc "  ;

由于String类比较常用,所以提供了这种简化的语法,用于创建并初始化String对象。其中," abc "表示一个字符串常量。

2.使用String类的构造方法初始化字符串对象,String类的构造方法如下表所示

248476818cda

String类的构造方法

下面的代码中列出了String类的三种构造方法,通过调用不同参数的构造方法便可完成String类的初始化。

String类的常见操作

String类在实际开发中应用非常广泛,因此灵活地使用String类是十分重要的。下面是String类常用的一些方法。

1.字符串的基本操作

248476818cda

248476818cda

从运行结果看出,String类提供的方法可以很方便地获取字符串的长度,获取指定位置的字符以及指定字符和字符串的位置。

2.字符串的转换操作

程序开发中,经常需要对字符串进行转换操作,例如将字符串转换成数组的形式,将字符串中的字符进行大小写转换等。

248476818cda

248476818cda

其中,valueOf()方法有很多重载的形式,float、double、char等其他基本类型的数据都可以通过该方法转为String字符串类型。

3.字符串的替换和取出空格操作

程序开发中,用户输入数据时经常会有一些错误和空格,这时可以使用String类和replace()和trim()方法,进行字符串的替换和去处空格操作。

248476818cda

trim()方法用于去处字符串两端的空格,不能去除中间的空格。若想去除字符串中间的空格,则可以调用String类的replace()方法。

4.字符串的判断操作

操作字符串时,经常需要对字符串进行一些判断,如判断字符串是否以指定的字符串开始、结束,是否包含指定的字符串,字符串是否为空等。在String类中针对字符串的判断操作提供了很多方法。

248476818cda

以上涉及到的方法都是用于判断字符串的,并且返回值均为boolean类型。其中equals()方法比较重要,该方法将父类Object中的equals()方法进行了重写。

在程序中可以通过“==”和equals()两种方式对字符串进行比较,但这两种方式有明显的区别。equals()方法用于比较两个字符串中的字符是否相等,==方法用于比较两个字符串对象的地址是否相同。对于两个字符串对象,当它们的字符内容完全相同时,使用equals()方法方法判断结果会为true,但使用==判断时,结果一定为false。

248476818cda

true是因为s1和s2字符串内容相同

false是因为s1和s2是两个对象

248476818cda

??????

还有一种情况,这是因为new关键字,在以后的补充内容里面我会去讲解。

5.字符串的截取和分割

在String类中针对字符串的截取和分割操作提供了两个方法。其中,subString()方法用于截取字符串的一部分,split()方法可以将字符串按照某个字符进行分割。

248476818cda

字符诱索引是从0开始的。在substring()方法中传入了两个参数4和6,因为字符串在截取时,只包括开始索引,不包括结束索引,所以会截取第五个和第六个字符。split()方法会根据指定符号将字符串分割成若干个部分,并存放到一个String类型的数组中。

注意:String字符串在获取某个字符时,会用到字符的索引。当访问字符串中的字符时,如果字符的索引不存在,则会发生StringIndexOutOfBoundsException(字符串角标越界异常)。

String Buffer类

字符串是常量,一般创建,其内容和长度是不可变的,如果要对一个字符串进行修改,则只能创建新的字符串。为了便于对字符串进行修改,在JDK中提供了一个StringBuffer类(也称字符串缓冲区)。StringBuffer类和String类的最大区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符串容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

针对添加和删除字符的操作,StringBuffer类提供了一系列方法,具体如表所示。

248476818cda

StringBuffer类的常用方法

248476818cda

append()方法始终将这些字符添加到缓冲区的末尾,而insert()方法可以在指定位置添加字符。

StringBuffer类和String类有很多类似之处,初学者在使用时很容易混淆。简单归纳以下两者的不同。

①String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可。但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。

②String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法,具体示例如下。String s1=new String("abc");

String s2=new String("abc");

System.out.rpintln(s1.equals ( ) );//打印结果为true

StringBuffer sb1=new StringBuffer( "abc" );

StringBuffer sb2=new StringBuffer( "abc" );

System.out.println( sb1.equals(sb2) );//打印结果为false

③String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能,具体示例如下:String s1="a";

String s2="b";

String s3=s1+s2;//合法

System.out.println(s3);//打印输出ab

StringBuffer sb1=new StringBuffer("a");

StringBuffer sb2=new StringBuffer("b");

StringBuffer sb3=sb1+sb2;//编译出错

System类与Runtime类

System类对于学过前面知识的人来说并不陌生,在前面所学需要打印结果的时候都是用System.out.println();语句,这句代码红中就用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可。

248476818cda

System类的常用方法

1.getPropertise()方法

System类的getPropertise()方法用于获取当前系统的全部属性,该方法会返回一个Perpertise()对象,其中封装了系统的所有属性,这些属性是以键值对形式存在的。

248476818cda

文件获取当前系统属性的功能。首先通过System类的getPropertise()方法获取封装了系统属性的Propertise集合,然后对Propertise集合进行迭代(以后会介绍什么是迭代),将所有系统属性的键以及对应值打印出来。

2.currentTimeMillis()

currentTimeMillis()方法返回一个long类型的值,该值表示当前时间与1970年1月1日0点0分0秒之间的时间差,单位是毫秒,通常也将该值称为时间戳。

248476818cda

演示了数字的求和操作,程序在求和开始和结束时,分别调用currentTimemillis()方法获得了两个时间戳,两个时间戳之间的差值便是求和操作耗费的时间。

Runtime类

Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,对象不可以直接实例化。若想在程序中获得一个Runtime实例,只能通过以下方式。RunTime run=RunTime.getRuntime();

由于该类封装了虚拟机进程,因此,在程序通常会通过该类的实例对象来获取当前虚拟机的相关信息。

248476818cda

空闲内存数和可用最大内存数都是以字节为单位计算的,上面的结果单位换成了兆(M)。

Runtime类中提供了一个exec()方法,该方法用于执行一个dos命令,从而实现与在命令行窗口中输入dos命令同样的效果。例如通过“notepad.exe”命令打开一个windows自带的记事本程序。

248476818cda

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值