常用类使用

常用类使用

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,则返回负数;
                                         否则,返回正数
 ​
 ​
 ​
      */
 }
 ​

 

上一篇:java BigInteger 对权限进行2的权的和计算


下一篇:21位水仙花数