【java基础】基础类库是啥?有啥用?

基础类库就是java提供了一个类库,我们开发时可以从库里选出类来,调用其方法去实现一些功能。
在这里插入图片描述

系统相关

(1)Scanner

Scanner可以读取用户的键盘输入,也可以读取文件输入。

//System.in代表键盘输入
Scanner sc=new Scanner(System.in);
//增加下面一行将只把回车作为分隔符
sc.useDelimiter("\n");
//判断是否还有下一个输入项
while(sc.hasNext())
{
   //输出输入项
   System.out.println("键盘输入的内容是:"+sc.next());
}

(2)System

System类中的方法有:

  • 访问程序所在平台的环境变量和系统属性;
  • 获取系统当前时间——currentTimeMillis()、nanoTime();
  • in、out、err分别代表系统的标准输入、标准输出、错误输出流;
  • 能返回指定对象的精确hashCode值,如果两个对象的identityHashCode值相同,则两个对象一定是同一个对象——identityHashCode(Object x);

(3)Runtime

Runtime类中的方法有:

  • 通知系统进行垃圾回收、清理系统资源——gc()、runFinalization()
  • 加载文件和动态链接库——load()、loadLibrary()
  • 访问JVM的相关信息,如处理器数量,内存信息等。——availableProcessors()、totalMemory()
  • 直接单独启动一个进程来运行操作系统
常用类

对常用类的总结移到了此博客中:【java基础】细解常用类

应用

(1)正则表达式

正则表达式是一个处理字符串的工具,可以对字符串进行查找,提取,分割,替换等操作。其是一个用于匹配字符串的模板。比如 [\u004-\u0056]匹配的是所有的中文字符。
一旦在程序中定义了正则表达式,就可以使用Pattern和Matcher来使用正则表达式了。Pattern对象是正则表达式编译后在内存中的表示形式,其是不可变类,可供多个并发线程安全使用。其中的matches()方法用于自动把指定字符串编译成匿名的Pattern对象,并执行匹配。
Matcher类提供了find()、start()、end()等方法供使用。

//创建一个Pattern对象,并用它建立一个Matcher对象
String regStr="java is very easy";
Matcher m=Pattern.compile("\\w+").matcher(regStr);
while(m.find())
{
   sout(m.group()+"子串的起始位置:"+m.start()+",其结束位置:"+m.end());
}

运行结果是:

java子串的起始位置:0,其结束位置:4
is子串的起始位置:5,其结束位置:7
very子串的起始位置:8,其结束位置:12
easy子串的起始位置:13,其结束位置:17

(2)国际化

国际化是指应用程序运行时,可根据客户端请求来自的国家(地区)、语言的不同而显示不同的界面。

//设置mess_zh_CN.properties
hello=你好!
//设置mess_en_US.properties
hello=Welcome!

在java代码中这样写:

//取得系统默认的国家、语言环境
Locale myLocale=Locale.getDefault(Locale.Category.FORMAT);
//加载资源文件
ResourceBundle bundle=ResourceBundle.getBundle("mess",myLocale);
//输出结果
sout(bundle.getString("hello"));

如果“控制面板”中的语言环境为中文,则输出“你好!”,如果为英文,则显示“Welcome!”

(3)日期、时间格式器

DateTimeFormatter类可对日期,时间进行格式化。

DateTimeFormatter[] d=new DateTimeFormatter[]{
   //直接使用常量创建DateTimeFormatter格式器
   //输出结果:2019-06-08
   DateTimeFormatter.ISO_LOCAL_DATE;
   //输出结果:12:03:33
   DateTimeFormatter.ISO_LOCAL_TIME;
   
   //根据模式字符串来创建DateTimeFormatter格式器
   //输出结果:公元2019%%06月%%08 12:03:33
   DateTimeFormatter.ofPattern("Gyyyy%%MMM%%dd HH:mm:ss");
}
LocalDateTime date=LocalDateTime.now();

//依次使用不同的格式器对DateTimeFormatter进行格式化
for(int i=0;i<d.length;i++){
     sout(date.format(f[i]));
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值