黑马程序员技术交流社区

标题: JAVA基础中的一些其它类的方法总结 [打印本页]

作者: 勿忘`初心    时间: 2016-9-4 12:51
标题: JAVA基础中的一些其它类的方法总结
Math 类:所有的方法构造都是静态的,所以可以类名点调用
syso(Math.PI);
syso(Math.abs(int a));取绝对值,返回值是Int类型
Math.ceil(double a);向上取整,返回值是double类型
Math.floor(double a);向下取整,返回值是double类型
Math.max(int a ,int b);取最大值,返回值是Int类型
Math.min(int a ,int b);取最小值,返回值是int类型
Math.pow(double a ,double b);a的b 次方,返回double类型
Math.randon();生成0.0到1.0之间的所有小数,不包括1.0
Math.round(float a);四舍五入
Math.sqrt(double a);求平方根

Random 类:
Random r = new Random();
syso(r.nextInt(n));生成0到N范围内的随机数,但不包括N
for(int i = 0,i<10,i++){syso(r.nextInt(n))}生成10个0到N的随机数

System 类
System.gc();运行垃圾回收器
System.exit(1);非零状态是异常终止当前正在运行的JVM.退出JVM
long start = System.currenTimeMillis();获取当前时间的毫秒值
System.arraycopy(arr1,0,arr2,0,arr.length);从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束

BigInteger 类:
BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("10");
syso(bi1.add(bi2));加
syso(bi1.subtract(bi2));减
syso(bi1.multiply(bi2));乘
syso(bi1.duvide(bi2));除
BigInteger[]arr=bi1.divideAndRemainder(bi2);获取除数和余数

Date 类: Date 表示特定的瞬间,精确到毫秒
Date d = new Date()
syso(d.getTime);通过时间对象获取获取毫秒值
syso(d.setTime(1000));设置毫秒值,改变时间对象
Date d = new Date();
syso(d);如果没有传参数代表的是当前时间,如果构造方法中参数传为0代表的是1970年1月1日

Calendar 类:
Calendar c = Calendar.getInstance();父类引用指向子类对象
syso(c.get(Calendar.YEAR));
syso(c.get(Calendar.MONTH));通过字段获取对应的值,月是从0开始编号的
syso(c.get(Calendar.DAY_OF_MONTH));月中的第几天
syso(c.get(Calendar.DAY_OF_WEEK));周日是第一天,周六是最后一天

DateFormat 类:是日期/时间格式化子类的抽象类,所以使用他的子类SimpleDateFormat
将时间字符串转为日期对象:
String str = "2000年08月08日 08:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = sdf.parse(str);将时间字符串转为时期对象
syso(d);
将日期对象转为时间字符串:
Date d = new Date();获取当前时间日期对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");创建日期格式化对象
syso(sdf.format(d));将日期对象转化为时间字符串

BigDecimal 类:由于在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
构造方法
public BigDecimal(String val)
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor)               

Regex 正则表达式:是指一个用来描述或着匹配一系列符合某个语法规则的字符串的单个字符串,其实就是一种规则,有自己特殊的应用
. 任何字符
\d 数字: [0-9]
\D 非数额: [^0-9]
\s 空白字符: [\t\n\f\r\x0B]
\S 非空白字符:[^\s]
\w 单词字符: [a-zA-Z0-9]
\W 非单词字符: [^\w]
[abc] a,b或c
[^abc] 任何字符,除了a,b或c
[a-zA-Z] a到z或A到Z
[a-d[m-p]] a到d或m到p(并集)
[a-z&&[def]] d,e或f (交集)
X?  X一次或一次也没有
X*  X零次或多次
X+  X一次或多次
X{n} X恰好n次
X{n,} X至少n次
X{n,m} X至少n次,但不超过m次
正则表达式的分组功能:
在表达式 ((A)(B(C))) 中,存在四个这样的组:
1     ((A)(B(C)))
2     (A
3     (B(C))
4     (C)
String s ="我的手机是18988888888,我曾用过18987654321,还用过18812345678";
String regex = "1[3578]\\d{9}";

Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s);
while(m.find())
        syso(m.group());





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2