JAVA 常用类(String、Date、Math)

目录

String

构造器

常用构造方法

内存结构

特点

常用操作方法

字符串与基本数据的相互转化

字符串转换为基本数据类型

基本数据类型转换为字符串

字符串与字符数组

字符串与字节数组

StringBuffer

构造方法

常用方法

StingBuilder

日期类

java.lang.System类

java.util.Date类

构造方法

java.text.Simp leDateFormat

java.util.Calendar(日历)类

Math

BigInteger类

构造器

常用方法

BigDecimal

构造器

常用方法

【注】


 

String

  • 常量对象:字符串常量对象是用双引号括起的字符序列。
  • 字符串的字符使用Unicode字符编码,一个字符占两个字节

构造器

常用构造方法

String str1 = new String();
String str2 = new String(String str1);
String str3 = new String(char[] c);
String str4 = new String(char[] c,int startIndex,int count);

内存结构

特点

  • String是一个final类,代表不可变的字符序列

  • 字符串是不可变的。一个字符串对象一旦被配置,其内容是不可变的

  • 底层使用char[]

常用操作方法

/*常用操作方法*/

//字符串的长度
public int length()

///字符串index位置的字符
public char charAt(int index)

//判断当前String是否和anObject相等(两个字符串)
public boolean equals(Object anObject)

//同anotherString比较,(比较到不同的字符,两字符的ASCII码相减并返回)
public int compareTo(String anotherString)

//S在当前字符串中的第一次出现的位置
public int indexOf(String s)

//返回s字符串从当前字符串startpoint位置开始,首次出现的位置
public int indexOf(String s ,int startpoint)
		
//返回s字符串最后出现的位置
public int lastIndexOf(String s)
		
//返回s字符串从startpoint位置开始,最后一次出现的位置
public int lastIndexOf(String s ,int startpoint)
		
//判断字符串是否以prefix开始
public boolean startsWith(String prefix)
		
//判断字符串是否以suffix结束
public boolean endsWith(String suffix)
		
//判断当前字符串从firststart开始的子串与other字符串从otherstart开始,length长的字符串是否相等
public boolean regionMatches(int firstStart,String other,int otherStart ,int length)

/*
* 修改操作
 */

//获得当前字符串startpoint开始至结尾得到子串
public String substring(int startpoint)

//获得当前字符串自start~end得子串
public String substring(int start,int end)

//将字符串中的oldChar替换为newChar
pubic String replace(char oldChar,char newChar)

//将字符串中的子串old替换为new
public String replaceAll(String old,String new)

//去除字符串中的首尾处空格
public String trim()

//连接当前字符串+str
public String concat(String str)

//将当前字符串以regex分割成多个子串并返回一个字符串数组
public String[] split(String regex) : 根据给定正则表达式的匹配拆分此字符串。

字符串与基本数据的相互转化

字符串转换为基本数据类型

  • Integer包装类的public static int parseInt(String s):可以将由“数字”字符组成的字符串转换为整型。
  • 类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由“数字”字符组成的字符串,转化为相应的基本数据类型。

基本数据类型转换为字符串

  • 调用String类的public String valueOf(int n)可将int型转换为字符串
  • 相应的valueOf(byte b)、valueOf(long l)、valueOf(float f)、valueOf(double d)、valueOf(boolean b)可由参数的相应类到字符串的转换

字符串与字符数组

  • String 类的构造方法:
//分别用字符数组中的全部字符和部分字符创建字符串对象

String(char[])

String(char[] c,int offset,int length) 
  • String类提供了将字符串存放到数组中的方法:
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 
  • 将字符串中的全部字符存放在一个字符数组中的方法
public char[] toCharArray() 

字符串与字节数组

String(byte[])
//用指定的字节数组构造一个字符串对象。

String(byte[],int offset,int length) 
//用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。

public byte[] getBytes() 
//方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。

public byte[] getBytes(String charsetName) 
//使用参数指定字符编码,将当前字符串转化为一个字节数组。 

 

StringBuffer

  • java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删
  • 很多方法与String相同,但StingBuffer是可变长度的。
  • StringBuffer是一个容器。

构造方法

StringBuffer()
//初始容量为16的字符串缓冲区

StringBuffer(int size)
//构造指定容量的字符串缓冲区

StringBuffer(String str)
//将内容初始化为指定字符串内容 

常用方法

/*常用操作*/
//添加各种数据类型的数据
StringBuffer append(String s);   
StringBuffer append(int n);  
StringBuffer append(Object o) ;
StringBuffer append(char n);
StringBuffer append(long n);
StringBuffer append(boolean n);

//在当前StringBuffer对象中的index位置插入str
StringBuffer insert(int index, String str); 

//反转当前字符串
public StringBuffer reverse(); 

//删除当前字符串的startIndex~endIndex位置的子串
StringBuffer delete(int startIndex, int endIndex); 

//返回当前字符串的n位置处的字符
public char charAt(int n );

//将n位置处的字符修改为ch
public void setCharAt(int n ,char ch);

//在当前字符串的startIndex~endIndex修改为str
StringBuffer replace( int startIndex ,int endIndex, String str)

//返回当前字符串中str子串的第一次出现的位置
public int indexOf(String str);

//获取start~end处的子串
public String substring(int start,int end);

//获取字符串的长度
public int length();

StingBuilder

  • StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且方法也一样
  1. String:不可变字符序列
  2. StringBuffer:可变字符序列、效率低、线程安全
  3. StringBuilder(JDK1.5):可变字符序列、效率高、线程不安全
  • String使用陷阱:
string s="a"; //创建了一个字符串 
s=s+"b"; 
/*实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,降低效率。如果这样的操作放到循环中,会极大影响程序的性能。
*/

日期类

java.lang.System类

  • System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。【此方法适于计算时间差
  • 计算世界时间的主要标准有:
  1. UTC(Universal Time Coordinated)
  2. GMT(Greenwich Mean Time)
  3. CST(Central Standard Time)

java.util.Date类

表示特定的瞬间,精确到毫秒

构造方法

Date()
//使用Date类的无参数构造方法创建的对象可以获取本地当前时间

Date(long date)

/*常用方法*/
getTime()
//返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数

toString()
//把此 Date 对象转换为以下形式的 String: 
//dow mon dd hh:mm:ss zzz yyyy 
//其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。

java.text.Simp leDateFormat

Date类的API不易于国际化,大部分被废弃了,java.text.Simp leDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。

  • 它允许进行格式化(日期  -->  文本)、解析(文本  --> 日期)

  • 格式化

SimpleDateFormat()
//默认的模式和语言环境创建对象

public SimpleDateFormat(String pattern)
//该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用

public String format(Date date)
//方法格式化时间对象date
  • 解析
public Date parse(String source)
//从给定字符串的开始解析文本,以生成一个日期。

java.util.Calendar(日历)类

 Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能

  • 获取Calendar实例的方法
  1. 使用Calendar.getInstance()方法
  2. 调用它的子类GregorianCalendar的构造器。
  • 一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。比如YEAR、MONTH、DAY_OF_WEEK、HOUR_OF_DAY 、MINUTE、SECOND
public void set(int field,int value)
public void add(int field,int amount)
public final Date getTime()
public final void setTime(Date date)

 

Math

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。

//绝对值
abs()     

//三角函数
acos()
asin()
atan()
cos()
sin()
tan()  

//平方根
sqrt()   

//a的b次幂  
pow(double a,doble b)   

 //自然对数 
log

// e为底指数   
exp    
max(double a,double b)
min(double a,double b)

//返回0.0到1.0的随机数
random()      

// double型数据a转换为long型(四舍五入)
long round(double a)    

// 弧度—>角度
toDegrees(double angrad)    

//角度—>弧度
toRadians(double angdeg)     

 

BigInteger类

Integer类作为int的包装类,能存储的最大整型值为 2^{31}-1,BigInteger类的数字范围较Integer类存储的数字范围要大得多,可以支持任意精度的整数

构造器

BigInteger(String val)

常用方法

public BigInteger abs();

public BigInteger add(BigInteger val)

public BigInteger subtract(BigInteger val)

public BigInteger multiply(BigInteger val)

public BigInteger divide(BigInteger val)

public BigInteger remainder(BigInteger val)

public BigInteger pow(int exponent)

public BigInteger[] divideAndRemainder(BigInteger val)

 

BigDecimal

一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用java.math.BugDecimal类。(可支持任何精度的定点数)

构造器

public BigDecimal(double val)

public BigDecimal(String val)

常用方法

public BigDecimal add(BigDecimal augend)

public BigDecimal subtract(BigDecimal subtrahend)

public BigDecimal multiply(BigDecimal multiplicand)

public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)

 

 

 

【注】

本文章属个人整理学习使用,如有不当之处望联系指正或删除。

【学习视频来源】尚硅谷http://www.atguigu.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值