java基础回顾第八章:常用类

8.常用类

相关类:

  • 包装类(重点)
  • String类
  • StringBuffer类
  • StringBuild类(重点)
  • System类
  • Date类
  • SimpleDateFormat类
  • Calendar类
  • Math类
  • BigInteger类与BigDecimal类
8.1 包装类
基本数据类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

基本数据类型---->包装类:

  • 手工装箱:Integer t1 = new Integer(i);
  • 自动装箱:Integer t2 = 10;

包装类---->基本数据类型:

  • boolean a = obj.booleanValue();
  • boolean b = obj;

字符串---->基本数据类型:

  • 通过包装类的构造器实现:int i = new Integer(“12”);
  • 通过包装类的parseXxx(String s)静态方法:int i = Integer.parseInt(“12”);

基本数据类型---->字符串:

  • 调用字符串重载的valueOf()方法:String str = String.valueOf(12);
  • 直接方式:String str = “” + 12;

JDK 1.5之后支持自动装箱、自动拆箱,前提是类型必须匹配

8.2 字符串相关类

**String类:**构造字符串对象

String类常用构造方法:

  • String s1 = new String();
  • String s2 = new String(String original);
  • String s3 = new String(char[] a);
  • String s4 = new String(char[] a, int startIndex, int count);

String字符串:

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

  • 任何改变字符串内容都会产生新的对象,不适用于频繁修改

String方法:

  • public int length();
  • public char charAt(int index);
  • public char[] toCharArray();
  • public boolean equals(Object anObject);
  • public int compareTo(String anotherString);
  • public int indexOf(String s);
  • public int indexOf(String s ,int startpoint);
  • public int lastIndexOf(String s);
  • public int lastIndexOf(String s ,int startpoint);
  • public boolean startsWith(String prefix);
  • public boolean endsWith(String suffix);
  • public String substring(int start,int end);
  • public String substring(int startpoint);
  • public String replace(char oldChar,char newChar);
  • public String replaceAll(String old,String new);
  • public String trim();
  • public String concat(String str);
  • public String toUpperCase();
  • public String toLowerCase();
  • public String[] split(String regex)

StringBuffer类:

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

StringBuffer类的三个构造方法:

  • StringBuffer()初始容量为16的字符串缓冲区
  • StringBuffer(int size)构造指定容量的字符串缓冲区
  • StringBuffer(String str)将内容初始化为指定字符串内容

StringBuffer类的常用方法:

  • 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 insert(int index, String str);
  • public StringBuffer reverse() ;
  • StringBuffer delete(int startIndex, int endIndex);
  • public char charAt(int n );
  • public void setCharAt(int n ,char ch);
  • StringBuffer replace( int startIndex ,int endIndex, String str);
  • public int indexOf(String str);
  • public String substring(int start,int end);
  • public int length()

**StringBuilder类:**StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且方法也一样

StringBuilder是JDK1.5 以后出的,效率更高

三者的区别:

  • String:不可变字符序列
  • StringBuffer:可变字符序列、效率低、线程安全
  • StringBuilder(JDK1.5):可变字符序列、效率高、线程不安全
8.3 日期类

1. java.lang.System类

currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差

2. java.util.Date类

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.SimpleDateFormat类:**java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类

3. java.util.Calendar(日历)类

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

获取Calendar实例的方法:

  • 使用Calendar.getInstance()方法
  • 调用它的子类GregorianCalendar的构造器

新时间日期API:

Java 8 新的 java.time 中包含了所有关于时钟(Clock),本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime)和持续时间(Duration)的类

使用 LocalDate、LocalTime、LocalDateTime:LocalDate、LocalTime、LocalDateTime 类的实例是不可变的对象

解析与格式化:

java.time.format.DateTimeFormatter 类三种格式化方法:

  • 预定义的标准格式

  • 语言环境相关的格式

  • 自定义的格式

8.4 Math类

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

  • abs 绝对值
  • acos,asin,atan,cos,sin,tan 三角函数
  • sqrt 平方根
  • pow(double a,doble b) a的b次幂
  • log 自然对数
  • exp e为底指数
  • max(double a,double b)
  • min(double a,double b)
  • random() 返回0.0到1.0的随机数
  • long round(double a) double型数据a转换为long型(四舍五入)
  • toDegrees(double angrad) 弧度—>角度
  • toRadians(double angdeg) 角度—>弧度
8.5 BigInteger类:

Integer类作为int的包装类,能存储的最大整型值为2^31−1

BigInteger类的数字范围可以支持任意精度的整数

**构造器:**BigInteger(Stringval)

常用方法:

  • public BigInteger abs()
  • public BigInteger add(BigIntegerval)
  • public BigInteger subtract(BigIntegerval)
  • public BigInteger multiply(BigIntegerval)
  • public BigInteger divide(BigIntegerval)
  • public BigInteger remainder(BigIntegerval)
  • public BigInteger pow(int exponent)
  • public BigInteger[] divideAndRemainder(BigIntegerval)
8.6 BigDecimal类:

科学、工程计算:Float、Double

商业计算:BigDecimal,BigDecimal类支持任何精度的定点数

构造器:

  • 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值