循环
1. for循环【重点】
for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) {
// 循环体
}
循环的流程
for循环的执行流程为:
初始化 -》 判断条件 -》 循环体 -》 循环条件变更
for循环的优势:
1. for之后的小括号内容,可读性更强
2. 可以通过for之后小括号,里面的内容大概推算出整个循环会执行多少次
3. for循环和一些特殊的数据关系非常紧密
/*
使用for循环,展示1~100所有的数据
*/
class Demo1 {
public static void main(String[] args) {
/*
当前循环i值从1开始,到100结束,之间间隔为1,循环次数大概100次
循环条件变更:
i += 1 i++ ++1 三个效果一模一样
*/
for (int i = 1; i <= 100; i += 1) {
System.out.println(i);
}
}
}
/*
使用for循环,展示1 ~ 100之间所有的偶数
% 2 == 0???
*/
class Demo2 {
public static void main(String[] args) {
/*
100次循环,100次if判断
*/
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
/*
50次循环
优秀啊!!!最基本的优化!!!
*/
for (int i = 2; i <= 100; i += 2) {
System.out.println(i);
}
}
}
/*
使用for循环,展示所有大写英文字母
*/
class Demo3 {
public static void main(String[] args) {
/*
ch += 1 <==> ch++ <==> ++ch
*/
for (char ch = 'A'; ch <= 'Z'; ch += 1) {
System.out.println(ch);
}
}
}
2. break【重点】
字面含义:
跳出,打破
代码中的功能是跳出循环结构或者switch case结构
break关键字可以在循环过程中,当前循环结果出现了预期的内容,终止循环。
/*
while循环搭配使用break关键字
展示1 ~ 100
但是如果数据到达50 break执行!!!
*/
class Demo4 {
public static void main(String[] args) {
int i = 1;
while (i <= 100) {
System.out.println(i);
// i == 50
if (50 == i) {
System.out.println("循环跳出!!!");
break;
}
i += 1;
}
}
}
/*
使用for循环演示break关键字
1 ~ 100
展示到30 使用break跳出循环
*/
class Demo5 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i += 1) {
System.out.println(i);
if (30 == i) {
System.out.println("跳出循环");
break;
}
}
}
}
验证break跳出循环的关系
/*
嵌套循环情况下。break关键字的使用
*/
class Demo6 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println("i : " + i);
for (int j = 0; j < 10; j++) {
System.out.print("j : " + j + " ");
if (5 == j) {
// break关键字有且只能跳出当前所在大括号对应循环
break;
}
}
System.out.println();
}
}
}
3. continue[了解]
continue关键字
结束当前循环,进入下一次循环
while, do while和continue相爱相杀
class Demo7 {
public static void main(String[] args) {
int i = 0;
/*
continue关键字和while循环以及do while一起使用,还要操心
循环变量修改问题在continue之前,还是之后
*/
while (i < 10) {
System.out.println(i);
i += 1;
if (5 == i) {
System.out.println("Continue执行");
continue;
}
}
int j = 0;
do {
j += 1;
if (5 == j) {
System.out.println("你来咬我呀~~~");
continue;
}
System.out.println("锤石 锤石你~~~~");
} while (j < 10);
}
}
for霸道总裁
class Demo8 {
public static void main(String[] args) {
/*
for循环使用continue关键字不会受到影响
不会跳过循环条件变更
*/
for (int i = 1; i <= 10; i++) {
if (5 == i) {
System.out.println("continue执行了,嘿嘿嘿");
continue;
}
System.out.println("实力不允许for循环低调");
}
}
}
作业
1. 整理笔记
2. 整理周六日作业题,重点是思路整理
3. 使用for循环完成
a. 完成一个9*9乘法表
b. 将一个正整数进行分解质因数操作 例如: 输入90 结果 2*3*3*5
c. 使用循环完成30位以内的斐波那契数列
1 1 2 3 5 8 13 21...
d. 利用循环完成15的阶乘
e. 逢七过,1 ~ 100以内的所有数值展示,如果带有7或者和7有关,打印过
一个小习惯
变量 == 常量 和 常量 == 变量 是一样的但是推荐使用常量==变量,方便在编译时发现错误
eg:
if(1 == month) & if(moth == 1)
推荐使用
总结:
今天的讲课,简直毁三观,写了几十行的代码,被磊哥两三行的代码就搞定了,难受哦,代码还是得多练,还有就是,现在打字速度也越来越快了,hhh。拼搏到无能为力,坚持到感动自己