java基础类库
来源:互联网 发布:西南民族大学知乎 编辑:程序博客网 时间:2024/06/04 20:15
7.1 与用户互动
7.1.2 使用Scanner获取键盘输入
Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值
Scanner主要提供两个方法来扫描输入
1.hasNextXxx()是否还有下一个输入项 有可能会造成方法阻塞
2.nextXxx() 获取下一个输入项
Scanner提供了两个简单的方法来逐行读取
Boolean hasNextLine() 返回输入源是否还有下一行
String nextLine() 返回输入源中下一行的字符串
7.2 系统相关
java在不同的系统上运行时,可能需要获取的平台相关的属性,或者调用平台相关属性来完成相应的功能 java 提供了 System 和Runtime类来与程序的平台进行交互
7.2.1 System 类
System类代表当前 java程序运行平台,程序不能创建System类的对象 而是直接使用System类来调用该类的方法
有关java中使用native的操作
1.java程序中申明native修饰的方法,类似abstract方法 编译该java程序
2.用javah编译第一步生成的class文件,将产生一个.h文件
3.写一个.cpp文件实现native方法(这一步需要包含第二步产生的.h文件 这个文件中又包含了JDK带的JNI.h文件)
4.将第三部的.cpp文件编译成动态链接库文件
5.在java中用System类的loadLibrary()方法 或者Runtime的该方法加载第4步产生的文件
identityHashCode()值时根据对象的地址计算得到的 所以任何两个对象的identityHashCode都不相同
7.2.2Runtime 类
Runtime 类代表着java运行时的环境,每个java程序都有一个与之对应的Runtime类,应用程序通过该队列与运行时了关联
应用程序不能创建直接的Runtime类实例,但是可以通过getRuntime()方法获取与之关联的对象 Runtime rt = new Runtime.getRuntime() ;
7.3 常用类
7.3.3 String StringBuffer StringBuilder 类
字符串是一连串的字符系列
StringBuffer 可以调用toString()方法把其转化为一个String对象
java 1.5 新增了StringBuilder类,实际上StringBuffer(线程安全)和StringBuilder(非线程安全)基本相似
String StringBuffer StringBuilder 都实现了CharSequence接口 可以认为是一种字符串协议接口
String是不可变类 所以会额外产生很多临时变量
7.3.4 Math 类
Math是一个工具类 ,它的构造器被定义成private因此无法创建Math类的对象
7.3.5 java 7 的ThreadLocalRandom与Random与Random
Random类时专门用于生产一个伪随机数,它有两个构造器
1.使用默认的种子(以当前时间作为种子)
2.需要程序员显示输入一个long型整数的种子 使用了48位种子
推荐使用当前时间作为Random作为对象的种子
ThreadLocalRandom 类时java 7新增的一个类 ,它是Random的增强版,在并发访问的情况下 使用ThreadLocalRandom
ThreadLocalRandom 的方法和Random方法相似,它提供了一个静态的current()方法来获取ThreadLocalRandom对象 该对象可以调nextCXxx()方法来获取伪随机数
7.3.6 BigDecimal 类
为了能精确的表示 。计算浮点数 java提供了BigDecimal类
创建BigDecimal对象时,不要直接使用double作为构造器参数来调用BigDecimal构造器 会发生精度丢失 而是应该采用 在构造器中传入字符串
7.4 java 8 的日期 时间类
Date无法实现国际化,而且它对不同属性也使用了前后矛盾的偏移量
7.4.2 Calendar 类
Calendar 类本身就是一个抽象类,它是所有日历类的模板
Calendar 类提供了几个静态getInstance()方法来获取Calendar对象
7.5 正在表达式
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割 替换
java提供了Pattern和 Mather两个类专门用于提供正在表达式的支持
* 表示出现0次或者多次
+ 表示可以出现一次或者多次
? 表示可以出现0此或者一次
.表示可以匹配任何字符
\d 0 ~ 9的数字
\D 匹配非数字
\w表示匹配所有的单词字符 包括0 ~ 9和26个英文字母
\W匹配非单词字符
^ 表示求否
这个则表达式支持数量标识符有如下几种模式
Greedy 贪婪模式 贪婪模式表示会一直匹配下去,知道无法匹配为止
Reluctant 勉强模式 用问号后缀表示 它只会匹配最少的字符,也被称为最小匹配模式
Possessive 占有模式 用加号后缀表示
7.5.2 使用正则表达式
一旦程序中使用定义了正则表达式,就可以使用Pattern和Matcher来使用正则表达式
Pattern 对象是正则表达式编译后再内存中的表示形式,因此,在正则表达式字符串必须先被编译为Pattern对象,然后在利用该Pattern对象创建对应的Matcher对象。执行匹配所涉及的状态保留在Matcher对象中 多个Matcher可以共享同一个Pattern对象
7.6 国际化与格式化
国际化是指应用程序运行时,可根据客户端请求来自的国家、语言的不同而现实不同的界面
目的是为了提供自适应 更友好的用户界面,并不需要改变程序逻辑功能
Locale getAvailableLocaler()方法 该方法返回一个Locale数组,该数组包含了java所支持的国家和语言
7.6.6 使用NumberFormat格式化数字
parse()方法 用于将字符串解析成数值 日期
format()用于将数值 日期格式化成字符串
- Java基础类库
- Java基础类库
- java基础类库
- java基础类库
- Java基础类库
- java基础类库
- java基础类库
- Java基础类库
- Java基础类库
- Java基础类库
- java基础篇--04<java基础类库>
- Java基础总结7---Java基础类库
- Java基础类库简介
- Java基础类库简介
- Java基础类库简介
- Java基础类库概述
- Java基础类库使用
- java基础类库笔记
- Git+Andorid studio的使用 第二章 提交代码 可视化与Git命令
- Java之------常用的设计模式
- setInterval() 与setTimeOut区别
- 【ASP.NET】内置对象
- 2016.5.21初中部模拟赛总结
- java基础类库
- 软件生命周期
- 咖啡商城主页实现
- Android开发的四大组件详解
- sql 统计我的消息列表
- iOS开发本地缓存(数据离线缓存、读取、释放)
- 第8章java 集合
- 资源的访问控制列表(ACL)配置或加密设置,无权访问的问题。
- 宏定义的黑魔法 - 宏菜鸟起飞手册