Java循环结构
while循环
语法结构:
package struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1-100
int i = 0;
while (i < 100) {
i++;
System.out.println(i);
}
}
}
while死循环
当不设定结束条件,不写break关键字就可能会出现死循环
package struct;
public class WhileDemo02 {
public static void main(String[] args) {
//while死循环
while (true){
//等待客户端连接
//定时检查
//......
}
}
}
while循环计算1-100的和
package struct;
public class WhileDemo03 {
public static void main(String[] args) {
//计算1+2+3+4+......+100
int n = 1;
int sum = 0;
while (n <= 100) {
sum = sum + n;
n++;
}
System.out.println(sum);
}
}
package com.jian.method;
public class Demo05 {
public static void main(String[] args) {
int num = f(5);
System.out.println(num);
}
//阶乘的实现
//递归:自己调用自己的方法
public static int f(int i) {
if (i == 1) {//结束递归的边界条件
return 1;
} else {
return i * f(i - 1);
}
}
}
package struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int n = 1;
int sum = 0;
do {
sum = sum + n;
n++;
} while (n <= 100);
System.out.println(sum);
}
}
- 相对比while循环,dowhile是先执行后判断,while是先判断后执行,所以dowhile总是保证循环至少会被执行一次
package struct;
public class DoWhileDemo02 {
public static void main(String[] args) {
int a = 0;
while (a < 0) {
System.out.println(a);
a++;
}
System.out.println("======================");
do {
System.out.println(a);
a++;
} while (a < 0);
}
}

for循环
package struct;
public class ForDemo01 {
public static void main(String[] args) {
//100.for+Enter 快捷生成
for (int i = 0; i < 100; i++) {
}
//for死循环
for (; ; ) {
}
}
}
-
求1-100里的奇数的和和偶数的和
package struct; public class ForDemo02 { public static void main(String[] args) { //计算0-100之间奇数和偶数的和 int oddsum = 0;//奇数和 int evensum = 0;//偶数和 for (int i = 1; i < 100; i = i + 2) { oddsum = oddsum + i; } System.out.println("0-100之间的奇数和为:" + oddsum); for (int i = 0; i <= 100; i = i + 2) { evensum = evensum + i; } System.out.println("0-100之间的奇数和为:" + evensum); } }package struct; public class ForDemo03 { public static void main(String[] args) { int oddsum = 0; int evensum = 0; for (int i = 0; i < 100; i++) { if (i % 2 != 0) { oddsum = oddsum + i; } else { evensum = evensum + i; } } System.out.println("奇数的和为:" + oddsum); System.out.println("偶数的和为:" + evensum); } } -
输出1-1000之间能被5整除的数,并且每行输出3个
package struct;
public class ForDemo04 {
public static void main(String[] args) {
//输出1-1000之间能被5整除的数,并且每行输出3个
int index = 0;
for (int i = 0; i < 1000; i++) {
if (i % 5 == 0) {
index++;
if (index % 3 == 0)//换行输出
{
System.out.println(i);
} else//一行输出
{
System.out.print(i+"\t");
}
}
}
}
}
-
输出九九乘法表
package struct; public class ForDemo05 { public static void main(String[] args) { //输出九九乘法表 //i代表行数,j代表列数 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(); } } }结果:

增强for循环
package struct;
public class ForDemo06 {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
System.out.println(numbers[i]);
}
//遍历数组的元素
for (int x : numbers) {
System.out.println(x);
}
}
}
break & continue
package struct;
public class BreakDemo01 {
public static void main(String[] args) {
int i = 0;
while (i < 100) {
i++;
System.out.println(i);
if (i == 30) {
break;//退出循环,不执行剩下的循环语句
}
}
System.out.println("只是跳出了循环");
}
}
package struct;
public class CountinueDemo01 {
public static void main(String[] args) {
int i = 0;
while (i <= 100) {
i++;
if (i % 10 == 0) {
System.out.println();
continue;//只是跳出了当i为10的倍数的时候的循环
}
System.out.print(i + "\t");
}
}
}

浙公网安备 33010602011771号