1.循环
概述: 一件事情反复不停的做就叫做循环
A:循环结构的分类
* for,while,do...while
1) while 循环
语法:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
B:执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行控制条件语句
* e:回到B继续。
例子:
int i = 0; ① //初始化条件
while(i < 10) { ② //判断条件
System.out.println(i); ④ //循环体
i++;③ //控制条件
}
执行顺序:
第一次: ①, ②, ④, ③
第二次: ②, ④, ③
第三次: ②, ④, ③
......
最后一次: ② //条件满足就执行循环体,不满足就结束循环
//判断条件永远比 控制条件多执行一次.
练习:
简单版:
使用while循环,打印10次我要来黑马学习
进阶版:
让用户输入密码88888,如果输入错误就重新输入,直到输入正确为止
请打印 1-100 之间可以被 8 整除的数
2) do...while 循环
语句的格式:
do {
循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
B:执行流程:
* a:执行初始化语句
* b:执行循环体语句;
* c:执行控制条件语句
* d:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* e:回到b继续。
例子:
int i = 0; ① //初始化条件
do{ ② //判断条件
System.out.println(i); ④ //循环体
i++;③ //控制条件
}while(i < 10)
3) for 循环
B:循环结构for语句的格式:
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
C执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行循环后的操作表达式
* e:回到B继续。
例子:
① ② ③
for(int i=0; i<10; i++) { //这个循环的作用是: 打印0-9之间的数字
④
System.out.println(i); //这是循环体
}
执行顺序:
第一次: ①, ②, ④, ③
第二次: ②, ④, ③
第三次: ②, ④, ③
......
最后一次: ② //条件满足就执行循环体,不满足就结束循环
4) 增强for循环
格式:
for(数据类型 变量名 : 要遍历的集合或者数组) {
//正常的功能代码
}
双重for循环
// 外层循环控制行,内层循环控制列
// 外层循环一次,内层循环所有次
正则:
* 需求:
* 定义一个工具类RegexUtils, 在该类中定义一个方法checkPhoneNumber(Strnig phone);
* 用来校验指定的字符串是否是合法的手机号.
* 手机号规则:
* 1.长度必须是11位.
* 2.必须是纯数字
* 3.必须是数字1开头的.
* 4.第二位数字必须是3,4,5,6,7,8,9
正则表达式: 1[3,4,5,6,7,8,9]\d{9}