异常-正则表达式复习

异常

简述什么是异常、异常的继承体系?

在java程序运行过程中,出现的不正常的情况,出现的错误,称为异常.

简述异常的处理方式?

可以进行跳转,捕获以程序结束,也可以抛出.

throw和throws关键字的使用位置和格式?

throw是对异常对象的抛出,一般放在方法中.throws是对异常的声明,一般放在方法名后边.

throw new 异常名称()        throws 异常类名

多个catch处理的注意事项?

单个try块能有许多catch块,当try块有“可能引起不同类型异常”的语句时,多个catch块是必须的。

异常捕获的先后顺序应该“从小到大”。

简述finally关键字的特点和作用?

无论发生了什么,finally中的代码一定会被执行,除非虚拟机关了.

代码中有必须要执行的代码(比如释放资源)的情况。

Throwable类的常见方法及方法描述?

toString() 输出该异常的类名。

getMessage() 输出异常的信息,需要通过构造方法传入异常信息(例如病态信息)。

printStackTrace() 打印栈信息。

自定义异常的步骤?

定义一个异常类继承Exception或RuntimeException

重写父类的方法

正则表达式

就是一个字符串

作用:不仅表示一个字符串,还可以表示一类字符串,表示一类字符串规则或者格式

正则表达式练习一:

模拟QQ登陆

/*正则表达式练习一:

模拟QQ登陆*/

public class Test01 {

 

public static void main(String[] args) {

Boolean flag;

Scanner sc = new Scanner(System.in);

do {

flag = false;

System.out.println("请输入您的QQ号(5-15位,全是数字,不能以0开头):");

String qq = sc.nextLine();

String regex = "[1-9][0-9]{4,14}";//中间千万不能有空格!!!

if(qq.matches(regex)) {

do {

System.out.println("请输入您的QQ密码(8-16位,至少包含数字/字母/字符两种组合):");

String psw = sc.nextLine();

String regex2 = "[0-9a-zA-Z!@#$%^&*()_+]{8,16}";

String regex3 = "[0-9]{8,16}";//全是数字

String regex4 = "[a-zA-Z]{8,16}";//全是字母

String regex5 = "[!@#$%^&*()_+]{8,16}";//全是字符

if(psw.matches(regex2)&&!psw.matches(regex3)&&!psw.matches(regex4)&&!psw.matches(regex5)) {

System.out.println("欢迎登陆QQ!");

break;

}else {

System.out.println("您的输入有误,请重新输入!");

flag = true;

}

//8-16位,至少包含数字/字母/字符两种组合

//"[0-9a-zA-Z_@$@]{8,16}"

}while(flag);

break;

}else {

System.out.println("您的输入有误,请重新输入!");

flag = true;

}

}while(flag);

 

}

 

}

正则表达式知识点:

String str = "hfogoreg134";

String string = str.replaceAll("\\d", "*");

//String中使用正则表达式的方法;

//注意:\d在使用的时候要对\进行转义,前面要加个\

System.out.println(string);

//运行结果:hfogoreg***

 

正则表达式练习二:

猜数游戏

随机生成一个1 到100之间的整数,从键盘输入数字进行猜数,一共可以猜5次,如果猜小了在控制台输出猜小了,如果猜大了,在控制台输出猜大了,如果猜对了在控制台输入 恭喜你猜对了,并结束游戏。 注意当输入的不是数字或数字不合服规则时,不算次数

import java.util.Random;

import java.util.Scanner;

 

/*猜数游戏,随机生成一个1 到100之间的整数,从键盘输入数字进行猜数,一共可以猜5次,

如果猜小了在控制台输出猜小了,如果猜大了,在控制台输出猜大了,如果猜

对了在控制台输入 恭喜你猜对了,并结束游戏。 注意当输入的不是数字或数字不合服规则时,不算次数*/

public class Test01 {

public static void main(String[] args) {

System.out.println("*****欢迎来到猜数字小游戏*****");

Random r = new Random();

Scanner sc = new Scanner(System.in);

int count = 1;//从第一次开始

while(true) {

int num = r.nextInt(100) + 1;//电脑随机生成的数字

if(count > 5) {//在这里判断是否大于五,结果不大于所以一共五次

System.out.println("亲,您的次数免费用完了哦!如需继续玩,请充值哦!");

break;

}

System.out.println("亲,请输入您猜的数字呢(1-100):");

String guessStrNum = sc.nextLine();//因为后期要做字符串匹配,而且录入字符串也会减少很多问题.

String regex = "[1-9][0-9]?";

if(guessStrNum.matches(regex)||guessStrNum.matches("100")) {

int guessNum = Integer.parseInt(guessStrNum);

if(guessNum > num) {

System.out.println("亲,猜大了哦!");

count++;//第五次时,运算完是五

}else if(guessNum < num) {

System.out.println("亲,猜小了了哦!");

count++;//第五次时,运算完是五

}else {

System.out.println("恭喜您,猜对了呢!");

break;

}

 

}else {

System.out.println("亲,您的录入不合法呢!请重新录入哦!");

}

 

}

 

}

 

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值