常用类使用
1.构造字符串(StringBuilder)
有些时候,需要由较短的字符串构建字符串,例如:按键或来自文件中的单词
需要用许多小段的字符串来构建一个字符串
public class Demo {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder("XXX");
builder.append("你是我爸爸,");//在后追加内容
builder.append("永远的神");
// String com = builder.toString();
//String toString(String str/char c):返回一个与构造器或缓冲区内容相同的字符串
System.out.println(builder.toString()); //XXX你是我爸爸,永远的神
//int length():返回构造器或缓冲区中的代码单元数量
System.out.println(builder.length());//13
//void setCharAt(int i,cahr c):将第i个代码单元设置为c
builder.setCharAt(2,'Y');
System.out.println(builder.toString());//XXY你是我爸爸,永远的神
//StringBuilder insert(int offiset,String str/char c):在offiset位置插入一个字符串(代码单元)并返回this
builder.insert(6,"妈妈");
System.out.println(builder.toString());//XXY你是我妈妈爸爸,永远的神
//StringBuilder delete(int startIndex,int endIndex):删除偏移量从startIndex到endindex-1的代码单元
builder.delete(0,3);
System.out.println(builder.toString());//你是我妈妈爸爸,永远的神
}
}
2.大数(BigInteger,BigDecimal)
如果基本的整数与浮点数精度不能满足需求,那么可以使用java.math包中2个很有用的类:BigInteger,BigDecimal,这2个类可以处理包含任意长度数字序列的数值。BigInteger类实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算
import java.math.BigInteger;
import java.util.Scanner;
/*
"+":add
"-":subtract
"*":multiply
"/":divide
*/
public class BigInteger_class {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int temp = 1;
//1.使用静态的valueOf方法可以将普通的数值转换为大数
BigInteger a = BigInteger.valueOf(100);// System.out.println(a);
BigInteger b = BigInteger.valueOf(150);// System.out.println(a);
//2.对于更大的数,可以使用一个带字符串参数的构造器:
BigInteger reallyBig = new BigInteger("5784528465487568615784698165914786484");
//不能使用熟悉的算数运算符来处理大数,而需要使用大数类中的add和multiply方法
BigInteger c = a.add(b);// System.out.println(c);
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));// System.out.println(d);
System.out.println(a.compareTo(b));
}
/*
BigInteger add(BigInteger other) +
BigInteger subtract(BigInteger other) -
BigInteger multiply((BigInteger other) *
BigInteger divide(BigInteger other) \
BigInteger mod(BigInteger other) 取余
int compareTo(BigInteger other):如果这个大整数与另一个大整数other相等,返回0;
如果这个大整数小于另一个大整数other,则返回负数;
否则,返回正数
*/
}