android学习札记第5章之正则、数字包装javaapi3

2025-10-19 13:54:43

1、一种字符串格式匹配规则,一般用来验证用户输入的格式是否符合要求。

[ ]:字符集,匹配任意一个字符。

更多正则表达式匹配规则参照JDK手册,以下列举一些常用规则:

[abc]: a,b,c

[a-z]: 任意小写英文字母

[a-zA-Z0-9]:任意字母数字

[a-zA-Z_0-9]:任意字母数字加下划线

[^a-zA-Z]: 除了字母

\d: 数字[0-9]

\D: 排除数字[^0-9]

\w: 单词字符[a-zA-Z_0-9]

\W: 排除单词字符[^a-zA-Z_0-9]

\s: 空白字符(空格、回车、换行符)

\S: 排除空白字符

.: 任意字符

[\u4e00-\u9fa5]:中文字符

[abc] ?:0或1次

[abc]* *:0到多次

[abc]+ +:1到多次

[abc]{3}: 3次(如:aaa、bbb)

[abc]{3,5}: 3到5次

[abc]{3,}: 3到多次

|:左侧或右侧

android学习札记第5章之正则、数字包装javaapi3

2、方法:

matches(正则):判断当前字符串,能否与正则表达式匹配。

replaceAll(正则,子串):将找到的匹配子串,替换为新的子串。

split(正则):用匹配的子串,拆分字符串,返回字符串数组。

下面以①用正则表达式邮箱验证②屏蔽不良言论③分割字符串为例。

android学习札记第5章之正则、数字包装javaapi3

android学习札记第5章之正则、数字包装javaapi3

android学习札记第5章之正则、数字包装javaapi3

3、java.util.regex.Pattern

java.util.regex.Matcher

Pattern是对正则表达式的封装对象

Matcher是对正则表达式和要匹配的字符串的封装对象

②创建对象

Pattern p=Pattern.compile(正则表达式);

Matcher m=p.matcher(要匹配的字符串);

③方法

boolean find():寻找下一段匹配子串,找到返回true,找不到返回false。

boolean find(int from):从指定位置寻找下一段匹配子串,找到返回true,找不到返回false。

String group():获取刚刚找到的子串。

int start():获取刚刚找到的子串的起始位置。

int end():获取刚刚找到的子串的结束位置+1。

android学习札记第5章之正则、数字包装javaapi3

1、数字基本类型/包装类:

byte/ Byte

short/Short

int/Integer

long/Long

float/Float

double/Double

char/Character

boolean/Boolean

①数字包装类的“抽象”父类:Number

②子类:Byte、Short、Integer、Long、Float、Double

③方法:从包装对象内取值的方法。

byteValue()

shortValue()

intValue()

longValue()

floatValue()

doubleValue()

④创建对象

方法一:

Integer a=new Integer(10);//直接新建对象,将10封装成Integer类型。

方法二:

Integer a=Integer.valueOf(10);//在Integer类内部,缓存了-128~127的封装对象,如果指定的是范围内的值,直接获取缓存中存在的对象,提高了效率;如果指定的值是范围外的值,会新建对象。

⑤Integer的方法(其他包装类和Integer类似)

Integer.parseInt("255");//255

将字符串解析成整数。

Integer.parseInt("11111111",2);//255

将字符串按二进制解析成整数

Integer.toBinaryString(255);//11111111

Integer.toOctalString(255);//377

将数字转换成不同进制的字符串

⑥、自动装箱

Integer a=10;被程序编译成:Integer a=Integer.valueOf(10);->先创建对象,把引用赋给a再给a赋值10。

⑦、自动拆箱

Integer a=10;int i=a;被编译成:int i=a.intValue;

a=a+1;被编译成:a=Integer.valueOf(a.intVlue()+1);->先从包装类中取值,再赋给i。

注意:要判断a是否为空(null),防止造成空指针。

android学习札记第5章之正则、数字包装javaapi3

android学习札记第5章之正则、数字包装javaapi3

2、java.lang.Double是Number其中一个子类:

①创建对象

Double d=new Double(3.14);

Double d=Double.valueOf(3.14);->没有缓存,直接创建对象。

②方法

对特殊值进行判断的方法

boolean Double.isInfinite(double d)->判断是否是特殊值infinity无穷大

boolean Double.isNaN(double d)->判断是否是特殊值NaN非数字

android学习札记第5章之正则、数字包装javaapi3

1、①

BigDecimal:大数字对象,做精确的浮点数运算。

BigInteger:做超出长整型范围的整数运算

②创建对象

BigDecimal bd=BigDecimal.valueOf(3.14);

BigInteger x=BigInteger.valueOf(0);(创建对象的方式)

android学习札记第5章之正则、数字包装javaapi3

2、BigDecimal的方法:

add(BigDecimal bd):加法

subtract(BigDecimal bd):减法

multiply(BigDecimal bd):乘法

divide(BigDecimal bd):除法

divide(BigDecimal bd,保留小数位数,保留方式):除法(默认保留1位小数)

以上计算结果都返回一个BigDecimal对象

取值方法:

byteValue()

shortValue()

intValue()

longValue()

floatValue()

doubleValue()

转换成字符串显示:

toString()

四舍五入方法:

setScale(保留小数位数,保留方式):

BigDecimal bd1=BigDecimal.valueOf(3.1415926);

BigDecimal bd2=bd.setScale(2,BigDecimal.Round_HALF_UP);//保留小数两位四舍五入

double d=bd2.doubleValue();

System.out.println(d);

android学习札记第5章之正则、数字包装javaapi3

android学习札记第5章之正则、数字包装javaapi3

3、java.math.BigInteger

BigInteger和BigDecimal类似,参考BigDecimal即可。

android学习札记第5章之正则、数字包装javaapi3

1、①数字格式工具:将数字和字符串相互转化(数字格式化)

②创建对象:

DecimalFormat df=new DecimalFormat(格式字符串);

"$###,###.000":#表示有数字显示数字,没有数字不显示;0表示没有数字显示0。

android学习札记第5章之正则、数字包装javaapi3

2、DecimalFormat的方法:

format(数字):把数字格式化成字符串

Number parse(字符串):字符串解析成数字,返回Number对象。

applyPattern(格式字符串):修改格式字符串

注:解析字符串方法parse()会产生异常,需要捕获。

android学习札记第5章之正则、数字包装javaapi3

1、Math是抽象类,无法创建对象,但它有许多静态方法,可以调用这些静态方法进行基本的数据运算。

android学习札记第5章之正则、数字包装javaapi3

2、Math的方法:

System.out.println(Math.E);

System.out.println(Math.PI);

System.out.println(Math.sqrt(4));

System.out.println(Math.pow(2, 3));

System.out.println(Math.round(5.6));

System.out.println(Math.min(3, 4));

System.out.println(Math.abs(-1));

System.out.println(Math.floor(9.9));

android学习札记第5章之正则、数字包装javaapi3

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢