API常用类:StringBuffer类;Math类;Random类

一.Java API概述

API(Application Programming Interface)应用程序编程接口 , 是对java预先定义的类或接口功能和函数功能的说明文档,目的是提供给开发人员进行使用帮助说明.

二.基本数据类型包装类

● Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和 基本数据类型对应的类统称为包装类.
● 包装类(如:Integer,Double等)这些类封装了一个相应的基本数据 类型数值,并为其提供了一系列操作方法。

对于包装类来说,这些类的用途主要包含两种:
● 作为和基本数据类型对应的类类型存在。
● 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

public class dome1 {
    public static void main(String[] args) {
      //  ==在进行基本数据类型比较时,比较的是数值的大小;
      //  ==在进行引用数据类型比较时,比较的是在内存中地址是否相等;
       int a=10;
       int b=10;
               System.out.println(a==b);//ture
       Integer e=new Integer(10);
       Integer f=new Integer(10);
               System.out.println(e==f);//false
      //在进行装箱时,数值在-128到127之间的话,会分配到内存的相同地址
      //数值不在-128到127之间的哈,会分配到内存的不同地址
       Integer c=10;
       Integer d=10;
               System.out.println(c==d);//ture
       Integer g=128;
       Integer h=128;
               System.out.println(g==h);//false

    }
}

三.StringBuffer类

StringBuffer类概述
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列.
● StringBuffer和String的区别?
简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。

StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。

String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。

StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。

StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。
● 构造方法:
public StringBuffer() ;
public StringBuffer(String str);
●StringBuffer类中的常用功能:
● 添加功能 :
public StringBuffer append(String str);
public StringBuffer insert(int offset,String str) ;
● 删除功能:
public StringBuffer deleteCharAt(int index) ;
public StringBuffer delete(int start,int end) ;
● 替换功能 :
public StringBuffer replace(int start,int end,String str) ;
● 反转功能:
public StringBuffer reverse();
● 截取功能
public String substring(int start) ;
public String substring(int start,int end) ;
截取功能和前面几个功能的不同 返回值类型是String类型,本身没有发生改变

package Text1;

public class StringBufferDome {
    public static void main(String[] args) {
        StringBuffer s=new StringBuffer("00000");
       //添加功能
       //public StringBuffer append(String str)
       //public StringBuffer insert(int offset,String str)
        s.append("11111");
        s.append("22222");
        s.append("33333");
        s.append("44444");
        s.insert(0,"asasas");
        System.out.println(s);

        //删除功能
        // public StringBuffer deleteCharAt(int index)
        // public StringBuffer delete(int start,int end)

        StringBuffer s1=new StringBuffer("012345");
        s1.delete(0,2);  //删除开始序号到结束序号的元素,结束序号的元素保留;
        s1.deleteCharAt(1);//删除某一个序号元素;
        System.out.println(s1);

        //替换功能
        // public StringBuffer replace(int start,int end,String str)
        StringBuffer s2=new StringBuffer("012345");
        s2.replace(0,5,"abcde");//将开始序号元素到结束序号元素替换
        System.out.println(s2);

        //反转功能
        // public StringBuffer reverse()
        StringBuffer s3=new StringBuffer("012345");
        s3.reverse();        //将字符串逆序排列
        System.out.println(s3);

        //截取功能
        // public String substring(int start)
        // public String substring(int start,int end)
        //截取功能和前面几个功能的不同 返回值类型是String类型,本身没有发生改变
        StringBuffer s4=new StringBuffer("012345");
        System.out.println(s4.substring(0,2));//将开始序号到结束序号的元素提取出来
        System.out.println(s4.substring(2));//将某个序号的元素到后面的元素全部提取出来
        System.out.println(s4);


    }
}

Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和 返回值类型一般为double型。
abs 绝对值
sqrt 平方根
pow(double a, double b) a的b次幂
max(double a, double b) 两个数的最大值
min(double a, double b) 两个数的最小值
random() 返回 0.0 到 1.0 的随机数 long round(double a) double型的数据a转换为long型(四舍五入)

package Text1;

public class MathDome {
    // abs 绝对值
    // sqrt 平方根
    // pow(double a, double b) a的b次幂
    // max(double a, double b)
    // min(double a, double b)
    // random() 返回 0.0 到 1.0 的随机数
    // long round(double a) double型的数据a转换为long型(四舍五入)
    public static void main(String[] args) {
        System.out.println(Math.abs(-3));//绝对值
        System.out.println(Math.sqrt(9));//平方根
        System.out.println(Math.pow(3,5.0));//a的b次幂
        System.out.println(Math.max(3,6));//最大值
        System.out.println(Math.min(2,5));//最小值
        System.out.println(Math.ceil(10.02));//11.0,ceil 向上取整;
        System.out.println(Math.floor(10.02));//10.0,floor 向下取整;
        System.out.println(Math.random());//返回一个double值为正号,大于等于0.0 ,小于1.0 。 返回的值是从该范围(大约)均匀分布而伪随机选择的。
        System.out.println(Math.random());//返回一个double值为正号,大于等于0.0 ,小于1.0 。 返回的值是从该范围(大约)均匀分布而伪随机选择的。
        System.out.println(Math.round(4.49));//double型的数据a转换为long型(四舍五入)
        System.out.println(Math.round(4.51));//double型的数据a转换为long型(四舍五入)



    }
}

Random类

● Random类概述
此类用于产生随机数
● 构造方法
public Random()
● 成员方法
public int nextInt()
public int nextInt(int n)


```java

import java.util.Arrays;
import java.util.Random;

public class RandomDome {
    // Random类概述 此类用于产生随机数
    // 构造方法 public Random()
    // 成员方法 public int nextInt()
    //        public int nextInt(int n)
    public static void main(String[] args) {
        Random r=new Random();
        System.out.println(r.nextInt());
        //随机获取0~19之间的一个数
        System.out.println(r.nextInt(20));
        //生成指定长度的随机byte数组
        byte[] b=new byte[7];
        r.nextBytes(b);
        System.out.println(Arrays.toString(b));
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值