1. for循环
java中的循环有两种 for while
在开发中90%以上使用的都是for循环,一般有明确循环次数的都使用for循环
for循环的格:
for (循环初始值;循环条件;循环变量自增){
循环体
}
循环步骤:
1.初始化循环变量
2.判断循环条件,如果满足条件,则执行循环体中的代码
3.循环结束后,使循环变量自增
4.再次判断循环条件是否满足,如果满足循环执行2,3步
5.如果不满足,直接结束循环 ,继续执行后续代码
public static void main(String[] args) {
/*int a = 1;
int a = 2;*/
// 循环输出5次(0-4) 传智播客
for (int i = 0; i < 5; i++) {
System.out.println("传智教育");
}
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
// System.out.println(i);
//注意:
//1.i是临时变量,出了for 就消失了
//2.i++ 和++i在for循环中都可以使用,因为他没有直接参与运算
//3.在初始化i的位置可以使用已经定义的变量,但是要重新复制,否则报错
}
练习:
public static void main(String[] args) {
/*
从1开始,到5结束,所以i初始值为1 大于5后跳出循环
*/
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
/*
从5开始到1结束,i初始值为5 ,i 小于1时,跳出循环
*/
for (int i = 5; i >= 1; i--) {
System.out.println(i);
}
}
public static void main(String[] args) {
// 累加求和需要使用计数器
int sum = 0;
for (int i = 1; i <=100; i++) {
//判断数字i 是否为偶数,如果是偶数,就进行求和
// 如果if 后边只有一句代码,则可以省略大括号,但是如果有一句一行就不能省略.
if (i % 2 == 0) sum += i;
}
System.out.println("1-100的偶数累加和是" + sum);
}
public static void main(String[] args) {
//1.循环遍历100-999
for (int i = 100; i < 1000; i++) {
//2.获取每个数字的个位十位百位
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
//3.计算三次方相加的和
int result = ge * ge * ge + shi * shi * shi + bai * bai * bai;
//4.判断是否与本数字相等
if (result == i){
// 如果相等就输出
System.out.println(i+"是水仙花数");
}
// 如果不等什么也不做
}
public static void main(String[] args) {
int count = 0;
//1.循环遍历100-999
for (int i = 100; i < 1000; i++) {
//2.获取每个数字的个位十位百位
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
//3.计算三次方相加的和
int result = ge * ge * ge + shi * shi * shi + bai * bai * bai;
//4.判断是否与本数字相等
if (result == i){
// 如果相等就输出
System.out.println(i+"是水仙花数");
count++;
}
// 如果不等什么也不做
}
System.out.println("count = " + count);
}
2. while循环
- 如果循环次数不定,可以使用while循环来进行循环,但是绝大多数情况下还是会使用for循环
- while循环在绝大多数情况下可以和for循环互相转换
练习
public static void main(String[] args) {
//循环次数为10 , 0 - 9
int i = 0;
while (i < 10) {
System.out.println("HelloWorld!!!" + i);
i++;
}
}
public static void main(String[] args) {
// 初始状态从1开始
int i = 1;
// 创建一个累加器
int sum = 0;
//循环遍历
while (i <= 100) {
if (i % 2 == 0) {
sum += i;
}
i++;
}
System.out.println("1-100的偶数累加和为:" + sum);
}
public static void main(String[] args) {
//1. 创建一个变量记录珠峰高度
int zhufengHeight = 8844430;
//2. 创建一个变量,记录纸折叠后的高度,初始值是0.1
double paperHeight = 0.1;
//3. 创建一个变量记录折叠次数
int count = 0;
//4. while 循环 每次循环对纸进行折叠,如果折叠后纸的厚度大宇珠峰高度,则停止循环
while (zhufengHeight > paperHeight) {
paperHeight *= 2;
count++;
}
//5. 打印纸的折叠次数
System.out.println("最终折叠" + count + "次之后比珠峰要高");
}
3. 循环进阶
死循环: 死循环不是bug 是程序的一种正常执行状态
java中有三种死循环的书写方式:
- for( ; ; )
- while(true)
- do{}while(true);
练习
for (int i = 1; i <=9 ; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
System.out.println();