您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 黑马程序员JAVA编程阶梯:基础篇之第十四章
黑马程序员济南中心编著【济南中心】JAVA编程阶梯:基础篇之第十四章正则表达式:指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的。正则对字符串的常见功能操作:1,匹配。使用String类中的matches方法。结果是boolean2,切割。使用String类中的split方法。结果String[]3,替换。使用String类中的replaceAll(regex,string);结果是一个新的字符串4,获取。其他三个功能内部最终使用的都是Pattern正则表达式对象现在需要其他功能时,字符串String类中没有对应的方法,只能找Pattern对象正则表达式的常见组成规则:字符、字符类、预定义字符类、边界匹配器、数量词在这简单的介绍各个类型,具体的可以查找Api文档Pattern类字符x字符x。举例:'a'表示字符a\\反斜线字符。\n新行(换行)符('\u000A')\r回车符('\u000D')字符类黑马程序员济南中心编著[abc]a、b或c(简单类)[^abc]任何字符,除了a、b或c(否定)[a-zA-Z]a到z或A到Z,两头的字母包括在内(范围)[0-9]0到9的字符都包括预定义字符类.任何字符。我的就是.字符本身,怎么表示呢?\.\d数字:[0-9]\w单词字符:[a-zA-Z_0-9]在正则表达式里面组成单词的东西必须有这些东西组成边界匹配器^行的开头$行的结尾\b单词边界就是不是单词字符的地方。举例:helloworld?haha;xixiGreedy数量词X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好n次X{n,}X,至少n次X{n,m}X,至少n次,但是不超过m次黑马程序员济南中心编著常见功能:(分别用的是谁呢?)判断功能String类的publicbooleanmatches(Stringregex)分割功能String类的publicString[]split(Stringregex)替换功能String类的publicStringreplaceAll(Stringregex,Stringreplacement)获取功能Pattern和MatcherPatternp=Pattern.compile(a*b);Matcherm=p.matcher(aaaaab);m.find():查找存不存在m.group():获取刚才查找过的数据[Java]纯文本查看复制代码?01020304050607/***对QQ号进行校验。要求:5-15位,0不可以开头。必须都是数字。**@authorSomnus**/publicclassDemo{黑马程序员济南中心编著08091011121314151617181920212223242526272829publicstaticvoidmain(String[]args){Stringqq=986512132;booleanb=checkQQ(qq);System.out.println(qq+:+b);booleanb1=qq.matches([1-9][0-9]{4,14});System.out.println(qq+:+b1);}publicstaticbooleancheckQQ(Stringqq){booleanflag=false;intlen=qq.length();if(len=5&&len=15){if(!qq.startsWith(0)){try{Long.parseLong(qq);flag=true;}catch(NumberFormatExceptione){System.out.println(出现非法数字);}黑马程序员济南中心编著3031323334353637}}returnflag;}}Math类Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。成员变量E:比任何其他值都更接近e(即自然对数的底数)的double值。PI:比任何其他值都更接近pi(即圆的周长与直径之比)的double值。成员方法publicstaticintabs(inta)返回double值的绝对值publicstaticdoubleceil(doublea)返回最小的(最接近负无穷大)double值,该值大于等于参数,并等于某个整数,向上取整publicstaticdoublefloor(doublea)返回最大的(最接近正无穷大)double值,该值小于等于参数,并等于某个整数,向下取整publicstaticintmax(inta,intb)返回两个值中较大的那个publicstaticintmin(inta,intb)返回两个值中较小的那个publicstaticdoublepow(doublea,doubleb)返回第一个参数的第二个参数次幂的值黑马程序员济南中心编著publicstaticdoublerandom()返回带正号的double值,该值大于等于0.0且小于1.0publicstaticintround(floata)返回最接近参数的int。publicstaticdoublesqrt(doublea)返回正确舍入的double值的正平方根。[Java]纯文本查看复制代码?0102030405060708091011121314151617/***Math数序运算**@authorSomnus**/publicclassDemo{publicstaticvoidmain(String[]args){intabs=Math.abs(-1);doubleceil=Math.ceil(-1.1);doublefloor=Math.floor(1.1);doubleround=Math.round(1.5);//四舍五入。System.out.println(abs=+abs);System.out.println(ceil=+ceil);System.out.println(floor=+floor);System.out.println(round=+round);黑马程序员济南中心编著1819202122System.out.println(Math.pow(10,3));}}Random类此类用于产生随机数如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。构造方法publicRandom()创建一个新的随机数生成器publicRandom(longseed)使用单个long种子创建一个新的随机数生成器成员方法publicintnextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值publicintnextInt(intn)返回一个伪随机数,它是取自此随机数生成器序列的,在0(包括)和指定值(不包括)之间均匀分布的int值[Java]纯文本查看复制代码?0102030405/***Random数序运算**@authorSomnus*黑马程序员济南中心编著06070809101112131415*/publicclassDemo{publicstaticvoidmain(String[]args){Randomr=newRandom();for(intx=0;x10;x++){intnum=r.nextInt(10)+1;System.out.print(num+,);}}}System类System类包含一些有用的类字段和方法。它不能被实例化成员方法publicstaticvoidgc()运行垃圾回收器publicstaticvoidexit(intstatus)结束JVM,参数是状态码,0表示正常退出publicstaticlongcurrentTimeMillis()获取当前的系统时间的毫秒值;从1970年1月1日开始pubiicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)从指定源数组中复制一个数组,复制从指定位置开始,到目标数组的指定位置结束。参数:src-源数组。srcPos-源数组中的起始位置。黑马程序员济南中心编著dest-目标数组。destPos-目标数据中的起始位置。length-要复制的数组元素的数量。BigInteger类可以让超过Integer范围内的数据进行运算构造方法publicBigInteger(Stringval)成员方法publicBigIntegeradd(BigIntegerval)加publicBigIntegersubtract(BigIntegerval)减publicBigIntegermultiply(BigIntegerval)乘publicBigIntegerdivide(BigIntegerval)除publicBigInteger[]divideAndRemainder(BigIntegerval)返回包含(this/val)后跟(this%val)两个BIgInteger的(长度为2)数组BigDecimal类由于在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal不可变的、任意精度的有符号十进制数。构造方法publicBigDecimal(Stringval)成员方法黑马程序员济南中心编著publicBigDecimaladd(BigDecimalaugend)加publicBigDecimalsubtract(BigDecimalsubtrahend)减publicBigDecimalmultiply(BigDecimalmultiplicand)乘publicBigDecimaldivide(BigDecimaldivisor)除法(当除不尽时,此方法会抛出异常)publicBigDecimaldivide(BigDecimaldivisor,intscale,introundingMode):除法。指定精度,指定舍入模式Date类类Date表示特定的瞬间,精确到毫秒构造方法publicDate()使用当前系统时间构造一个DatepublicDate(longdate)使用一个毫秒值构造一个Date成员方法publiclonggetTime()获取毫秒值publicvoidsetTime(longtime)设置毫秒值SimpleDateFormat类DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子类构造方法publicSimpleDateFormat()用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat黑马程序员济南中心编著publicSimpleDateFormat(Stringpattern)用给定的模式和默认语言环境的日期格式符号构成员方法publicfinalStringformat(Datedate)将一个Date转换为StringpublicDateparse(Stringsource)将一个String转换为Date;注意:当前SimpleDateFormat的对象的格式一定要与参数source表示的格式一致,否则会抛出异常[Java]纯文本查看复制代码?0102030405060708091011121314/***Date练习*@authorSomnus**/publicclassDemo{publicstaticvoidmain(String[]args){longtime=System.currentTimeMillis();time=1268414834218l;Datedate=ne
本文标题:黑马程序员JAVA编程阶梯:基础篇之第十四章
链接地址:https://www.777doc.com/doc-5143052 .html