美文网首页Java知识
Java API(上)

Java API(上)

作者: 不小心丢了 | 来源:发表于2019-08-08 15:34 被阅读0次

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

    String类和StingBuffer类

    在应用程序中经常会用到字符串,所谓字符串就是指一串的字符,它是由许多单个字符连接而成的。字符串中可以包含任意字符,这些字符必须包含在一对双引号" "之内。
    在java中定义了StringStringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法,它们都位于java.lang包中,因此不需要导包就可以直接使用。

    String类的初始化

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

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

    String  Str1=" abc "  ;

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

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

    String类的构造方法

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

    String类的常见操作

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

    1.字符串的基本操作

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

    2.字符串的转换操作

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

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

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

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

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

    4.字符串的判断操作

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

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

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

    true是因为s1和s2字符串内容相同
    false是因为s1和s2是两个对象

    ??????

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

    5.字符串的截取和分割

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

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

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

    String Buffer类

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

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

    StringBuffer类的常用方法

    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类调用即可

    System类的常用方法

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

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

    2.currentTimeMillis()

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

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

    Runtime类

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

    RunTime run=RunTime.getRuntime();

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

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

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

    相关文章

      网友评论

        本文标题:Java API(上)

        本文链接:https://www.haomeiwen.com/subject/jigedctx.html