第7章 Java基础类库

1.Java程序参数

(1)运行Java程序的入口: main()方法

Public static void main(String[] args) {…}

(2)使用Scanner获取键盘输入,两种方法:

1)hasNextXxx():是否还有下一个输入项,Xxx可以是int,long等。若只判断是否包含下一个字符串,则直接使用hasNext()。

2)nextXxx():获取下一个输入项。

对象.useDelimiter(“\n”)   //只允许回车作为分隔符

主程序throws exception()表明main方法不处理任何异常。

 

2.系统相关的类

(1)System类

System类提供了代表标准输入、标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量、系统属性的方法,还提供了加载文件和动态链接库的方法。

System类有两个获取系统当前时间的方法:currentTimeMillis()和nanoTime(),它们都返回一个long型整数。前者以毫秒为单位,后者以纳米为单位(很少使用)。

System类还提供了一个identityHashCode(Object x)方法,返回指定对象的精确hashCode值。identityHasgCode值是根据对象的地址计算得到的,任何两个对象的identityHashCode值总是不相等。

(2)Runtime类

Runtime类代表Java程序的运行时环境,每个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与其运行时环境相连。通过getRuntime()方法获取与之关联的Runtime对象。

 

3.常用类

(1)Object类

Object类是所有类、数组、枚举类的父类,Java允许把任何类型的对象赋给Object类型的变量。其中几个常用方法有:

boolean equals(Object obj): 判断指定对象与该对象是否相等。

protected void finalize(): 当系统没有引用变量引用该对象时,垃圾回收机制调用该方法进行回收。

Class<?> getClass(): 返回该对象的运行时类。

int hashCode(): 返回该对象的hashCode值。(一般都会重写该方法)

String toString():返回该对象的字符串表示。

(2)String,StringBuffer和StringBulider类

String是一个不可变类,StringBuffer对象则代表一个字符序列可变的字符串。StringBulider类与StringBuffer相似,只是没有实现线程安全功能,性能略高。

Java9的字符串采用byte[]数组再加一个encoding-flag字段来保存字符,因此字符串的每个字符只占1字节。

(3)Math类

Math类中的所有方法都是类方法,可以直接通过类名来调用它们。Math构造器是private的,无法创建Math类。

(4)ThreadLocalRandom和Random

Random类专门用于生成一个伪随机数,TreadLocalRandom类是Random的增强版,在并发范文环境下,其可以减少多线程资源竞争,保证线程安全性。

(5)BigDecimal类

为了精确表示和计算浮点数,Java提供了BigDecimal类。当使用double浮点数作为BigDecimal构造器的参数时,不要直接将该double浮点数作为构造器参数创建BigDecimal对象,而是通过BigDecimal.valueof(double value)静态方法来创建。如:

BigDecimal f1 = new BigDecimal(“0.05”);    //建议使用String的构造器

BigDecimal f2 = new BigDecimal.valueof(0.01);

(6)日期、时间类

使用Java8新增的日期、时间包,即java.time包,包括Clock等常用类。

 

4.正则表达式

(1)创建正则表达式

1 特殊字符

2 预定义字符

3 三种模式的数量表示符

(2)使用正则表达式

使用Pattern和Matcher使用正则表达式。Pattern对象是正则表达式编译后在内存中的表示形式,,正则表达式字符串先被编译为Pattern对象,然后再利用Pattern对象创建对应的Matcher对象。多个Matcher对象可共享同一个Pattern对象。

调用顺序举例:

Pattern p = Pattern.compile(“a*b”);

Matcher m = p.matcher(“aaaaab”);

boolean b = m.matcher();  //返回true

Pattern是不可变类,Matcher类提供了几个常用方法:

find():返回目标字符串中是否包含与Pattern匹配的子串。

group():返回上一次与pattern匹配的子串。

matches():返回整个目标字符串与pattern是否匹配。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值