java基础8(常用类—API)
StringBuffer
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列
-
StringBuffer类的构造方法:
-
public StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
-
public StringBuffer(int capacity) 指定容量的字符串缓冲区对象
-
public StringBuffer(String str) 指定字符串内容的字符串缓冲区对象
public class StringBufferDemo1 { public static void main(String[] args) { // StringBuffer 就是一长度可变的字符容器,如果你有拼串的需求,可以采用字符容器来拼串。 //StringBuffer() //构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。 StringBuffer sbf = new StringBuffer(); int c1 = sbf.capacity(); System.out.println(c1);//16 sbf.append("aaa"); System.out.println(sbf.capacity());//获取容器的容量;16 System.out.println(sbf.length());//获取容器中字符的长度;3 //StringBuffer( int capacity) //构造一个不带字符,但具有指定初始容量的字符串缓冲区。 StringBuffer sbf1 = new StringBuffer(100); int c2 = sbf1.capacity(); System.out.println(c2);//100 // StringBuffer(String str) // 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。 StringBuffer sbf2 = new StringBuffer("aaaaaa"); int c3 = sbf2.capacity(); System.out.println(c3);//22 } }
-
-
StringBuffer类的添加功能
-
public StringBuffer append(String str)
-
public StringBuffer insert(int offset,String str)
class StringBufferDemo2{ public static void main(String[] args) { StringBuffer stringBuffer= new StringBuffer(); stringBuffer.append("acd"); stringBuffer.insert(1,"b"); System.out.println(stringBuffer.toString());//abcd } }
-
-
StringBuffer类的删除功能
-
public StringBuffer deleteCharAt(int index)
-
public StringBuffer delete(int start,int end)
class StringBufferDemo2{ public static void main(String[] args) { StringBuffer stringBuffer1 = new StringBuffer(); stringBuffer1.append("abcdefg"); stringBuffer1.deleteCharAt(0); System.out.println(stringBuffer1.toString());//bcsefg stringBuffer1.delete(1,3); System.out.println(stringBuffer1.toString());//befg } }
-
-
StringBuffer类的替换功能
-
public StringBuffer replace(int start,int end,String str)
class StringBufferDemo2{ public static void main(String[] args) { StringBuffer stringBuffer2= new StringBuffer(); stringBuffer2.append("abcdef"); stringBuffer2.replace(0,3,"123"); System.out.println(stringBuffer2.toString());//123def } }
-
-
StringBuffer类的反转功能
-
public StringBuffer reverse()
class StringBufferDemo2{ public static void main(String[] args) { StringBuffer stringBuffer3= new StringBuffer(); stringBuffer3.append("1234567"); stringBuffer3.reverse(); System.out.println(stringBuffer3.toString());//7654321 } }
-
-
StringBuffer类的截取功能
-
public String substring(int start)
-
public String substring(int start,int end)
class StringBufferDemo2{ public static void main(String[] args) { StringBuffer stringBuffer4 = new StringBuffer(); stringBuffer4.append("abcdef"); String s =stringBuffer4.substring(2,4); System.out.println(s);//cd } }
-
String类、StringBuffer类和StringBuilder类的选择
-
如果字符串中存在大量的修改操作,可以选择StrinBuffer和StringBuilder其中之一。
-
如果字符串中存在大量的修改操作而且在单线程的情况下,使用StringBuilder。
-
如果字符串中存在大量的修改操作而且在多线程的情况下,使用StringBuffer。
-
如果字符串修改很少、被多个对象引用,使用String。这个在配置信息的时候应用广泛。
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型(四舍五入)
Random类
-
概述
Random类用于产生随机数
-
构造方法
public Random()
-
成员方法
public int nextInt()
public int nextInt(int n)
import java.util.Random; public class TestRandom { public static void main(String[] args) { Random a = new Random(); int x = a.nextInt(); // 给x 赋值随机数 int y = a.nextInt(10); // 给y 赋值0 - 10 的随机数 System.out.println(x); System.out.println(y); } }