API(常用类2)
1.String类
- byte[] getBytes()
- char[] toCharArray()
- static String valueOf(char[] chs)
- String toLowerCase()
- String toUpperCase()
- String concat(String str)
- Stirng[] split(分割符);
- String replace(char old,char new)
- String replace(String old,String new)
- replaceAll(String regex, String replacement)
- replaceFirst(String regex, String replacement)
String trim()
String a=”中国”;
byte[] b=a.getBytes("utf-8");//将字符串转为Byte数组
String c=new String();//将Byte数组转为字符串
System.out.println(Arrays.toString(b));//数组需要Arrays.toString输出
System.out.println(c);//非数组直接输出
String a1="中国";
char[] c1=a1.toCharArray();//将字符串直接输出为数组
System.out.println(Arrays.toString(c1));
int i=Integer.parseInt(“10”);// 将字符串转为基本类型
Integer ii=new Integer("20");//将字符串转为包装类型
String c= "null";
String s=String.valueOf(c);
//public static String valueOf(Object obj) {
// return (obj == null) ? “null” : obj.toString();
// 建议将其他类型转换为String时,使用valueOf()System.out.println(i);//10
System.out.println(ii);//20
System.out.println(s);//null
String a=" abC1deab23fG ";
System.out.println(a.toLowerCase(Locale.forLanguageTag(a)));//将所有字符转为小写
System.out.println(a.toUpperCase(Locale.forLanguageTag(a)));//将所有字符转为大写
String b="abc";
String d=b.concat("efg");//连接字符串
System.out.println(d);
String a1="a,b,c,d";
String[]a2=a1.split(",");//分割返回数组值
System.out.println(Arrays.toString(a2));
String a3=a.replace("ab","AA");//替换
System.out.println(a3);
String a4=a.replaceAll("ab","BB");//替换,正则表达式
System.out.println(a4);
String a5=a.replaceAll("\\d","");
System.out.println(a5);
int a6=a.trim().length();//去掉俩端的空格
System.out.println(a.length());
System.out.println(a6);
2.StringBuffer类
概述:我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列。
String、StringBuilder和Stringbuffer的区别:
- StringBuffer是多线程操作且安全的方法有synchronized关键字修饰。
- StringBuilder是单线程,安全性较高。
- String值不可变,少量的拼接操作可以,大量的操作不建议。
相同点:底层实现完全一致,类的内部有一个char数组,没有final修饰,之后对象字符进行增减操作都是对底层数组的直接操作。
反转功能:
public StringBuffer reverse()
截取功能:
public String substring(int start)
public String substring(int start,int end)
添加功能:
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)
// StringBuffer():可变带缓存区的字符串,如果需要大量的字符拼接,建议使用~;
StringBuffer s=new StringBuffer("abcdefg");
s.append("AA");//默认向末尾加
s.append("BB");
s.append("CC");
s.append("DD");
s.append("FF");
s.insert(0,"P");//指定位置插入
s.delete(0,4);//指定区间删除
s.deleteCharAt(3);//指定位置删除
s.replace(0,2,"zp");//指定区间替换
s.reverse();//反转字符串
String s2=s.substring(0,5);//截取一段区间并重新赋给一个新的对象
StringBuilder s1=new StringBuilder("drtg");//底层方法与StringBuffer一样
System.out.println(s);
System.out.println(s2);
3.Math类:
- 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型(四舍五入)
System.out.println(Math.floor(9.1));
System.out.println(Math.ceil(9.5));
System.out.println(Math.round(4.4));
System.out.println(Math.round(9.5));
System.out.println(Math.random());
Random random= new Random();
System.out.println(random.nextBoolean());
System.out.println(random.nextLong());
System.out.println(random.nextInt());
byte []bytes=new byte[5];
random.nextBytes(bytes);//没有返回值
System.out.println(Arrays.toString(bytes));
3.Random类:
- random.nextLong() 返回随机数
- random.nextBoolean() 随机返回true和false
- random.nextint() 从0(包含)到指定数(不包含)
random.nextBytes()
4.Date类:
Date date=new Date();//创建一个日期对象,此对象包含程序陨星 那一刻的时间
System.out.println(date.getTime());//自1970 1-1 0:0:0~到现在时间的毫秒
//带删除线的方法,视为过期方法,api有新方法代替,可以使用
System.out.println(date.getDate());
System.out.println(date.getClass());
System.out.println(date.getDay());
System.out.println(date.getHours());
System.out.println(date.getMinutes());
System.out.println(date.getMonth());
System.out. println(date.getSeconds());
System.out.println(date.getYear());
System.out.println(date.getTimezoneOffset());
System.out.println(date);
5.Calendar
概括:Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建 对象的过程对程序员来说是透明的,只需要使用getInstance方法创建 即可。
//包含更丰富的日历信息
Calendar calender=new GregorianCalendar();
Calendar calendar1=new GregorianCalendar();
System.out.println(calendar1.getTime());
System.out.println(calendar1.get(Calendar.YEAR));
System.out.println(calendar1.get(Calendar.PM));
6.SimpleDateFormat类
SimpleDateFormat 日期格式化类
● 构造方法
SimpleDateFormat(格式); // yyyy-MM-dd
● 日期转字符串
Date now=new Date();
myFmt.format(now);
● 字符串转日期
myFmt.parse(“2018-02-10”);
字符串日期格式与 指定格式必须一致
例如:String s = “2018-03-15”;
new SimpleDateFormat(“yyyy-MM-dd”);
Date date=new Date();
SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd ");
String c=a.format(date);//date类型转为字符串类型
System.out.println(c);
String b="2020-1-1";
SimpleDateFormat d=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(b);
try{
Date date1=d.parse(b);//字符串转为date类型
System.out.println(date1);
}
catch(ParseException e){
e.printStackTrace();
}
7.BigInteger类
在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的 局限性。
● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述 更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了 BigInteger 类。
● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支 持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何 大小的整数值而不会丢失任何信息。
8.BigDecimal类
● 在计算机中不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去
一定的精确度。
● 根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可
能不精确。只能无限接近于那个值.
double a = 1.0-0.9;
double b = 0.8-0.7;
System.out.println(a==b);
System.out.println(11-10.9);//结果为0.0999999999964
BigDecimal bigDecimal=new BigDecimal("11");
BigDecimal bigDecimal1=new BigDecimal("10.9");
System.out.println(bigDecimal.subtract(bigDecimal1));//结果为0.1
还没有评论,来说两句吧...