13、循环结构
循环结构
1、while循环

public class WhileDemo01 {
public static void main(String[] args) {
//输出1~100
int i = 0;
while ( i < 100 ) {
i++;
System.out.println(i);
}
}
}

计算1+2+3+...+100=?
public class WhileDemo02 {
public static void main(String[] args) {
//计算1+2+3+...+100=?
int i = 0;
int sum = 0;
while ( i < 100 ) {
i++;
sum+=i;
}
System.out.println(sum);
}
}

2、do...while循环

public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
i++;
sum+=i;
} while ( i < 100 );
System.out.println(sum);
}
}

public class DoWhileDemo02 {
public static void main(String[] args) {
int i = 0;
while ( i < 0 ) {
i++;
System.out.println(i);
}
System.out.println("=============");
do {
i++;
System.out.println(i);
} while ( i < 0 );
}
}

3、for循环

说明
- 最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
- 然后,检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
- 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)
- 再次检测布尔表达式,循环执行上面的过程
public class ForDemo01 {
public static void main(String[] args) {
int i = 1;
while ( i < 100 ) {
System.out.println(i);
i++;
}
System.out.println("while循环结束");
//初始化//条件判断//迭代
for ( i = 1; i <= 100; i++ ) {
System.out.println(i);
}
System.out.println("for循环结束");
//死循环
for ( ; ; ) {
}
}
}

计算0到100之间的奇数和偶数的和
public class ForDemo05 {
public static void main(String[] args) {
//计算0到100之间的奇数和偶数的和
int i = 0;
int sum_odd = 0; //奇数和
int sum_even = 0; //偶数和
for ( i = 0; i <= 100; i++ ) {
if ( i % 2 == 0 ) {
//偶数
sum_even+=i;
} else {
//奇数
sum_odd+=i;
}
}
System.out.println("奇数和为:" + sum_odd);
System.out.println("偶数和为:" + sum_even);
}
}

用for循环输出1-1000之间能被5整除的数,并且每行输出3个
public class ForDemo03 {
public static void main(String[] args) {
//用for循环输出1-1000之间能被5整除的数,并且每行输出3个
for ( int i = 1; i <= 1000; i++ ) {
if ( i % 5 == 0 ) {
System.out.print(i + "\t");
}
if ( i % (5*3) == 0 ) {
//System.out.println();
System.out.print("\n");
}
}
}
}

用while循环输出1-1000之间能被5整除的数,并且每行输出3个
public class WhileDemo04 {
public static void main(String[] args) {
int i = 1;
while ( i <= 1000 ) {
if ( i % 5 == 0 ) {
System.out.print(i + "\t");
}
i++;
if ( i % (5*3) == 0 ) {
System.out.println();
}
}
}
}

打印99乘法表
public class ForDemo04 { public static void main(String[] args) { //打印99乘法表 for ( int i = 1; i < 10; i++ ) { for ( int j = 1; j <= i; j++ ) { System.out.print(j + "*" + i + "=" + (j*i) + "\t"); } System.out.println(); } }}

4、在Java5中引入了一种主要用于数组的增强型for循环

public class ForDemo07 { public static void main(String[] args) { int[] numbers = {10,20,30,40,50}; for ( int i = 0; i < numbers.length; i++ ) { System.out.println(numbers[i]); } System.out.println("============="); for ( int i : numbers ) { System.out.println(i); } }}

5、break continue

5.1、break
public class BreakDemo01 { public static void main(String[] args) { int i = 0; while ( i < 5 ) { i++; System.out.println(i); if ( i == 4 ) { break; } } }}

5.2、continue
public class ContinueDemo01 { public static void main(String[] args) { int i = 0; while ( i < 100 ) { i++; if ( i % 10 == 0 ) { System.out.println(); continue; } System.out.print(i + "\t"); } }}

5.3、goto
public class LabelDemo01 { public static void main(String[] args) { //打印101~150之间所有的质数 int count = 0; outer:for ( int i = 101; i <= 150; i++ ) { for ( int j = 2; j < i; j++ ) { if ( i % j == 0 ) { continue outer; } } System.out.println(i); } }}

5.4、打印一个三角形
public class TestDemo03 { public static void main(String[] args) { //打印三角形/*效果图: * *** ***** **************** */ for ( int i = 1; i <= 5; i++ ) { for ( int j = 5; j > i; j-- ) { System.out.print(" "); } for ( int j = 1; j <= i; j++ ) { System.out.print("*"); } for ( int j = 1; j < i; j++ ) { System.out.print("*"); } System.out.println(); } }}

5.5、打印一个菱形
public class TestDemo02 { public static void main(String[] args) { //打印菱形/*效果图: * ******** *** * */ for ( int i = 1; i <= 3; i++ ) { for ( int j = 3; j > i; j-- ) { System.out.print(" "); } for ( int j = 1; j <= i; j++ ) { System.out.print("*"); } for ( int j = 1; j < i; j++ ) { System.out.print("*"); } System.out.println(); } for ( int i = 1; i <= 2; i++ ) { for ( int j = 1; j <= i; j++ ) { System.out.print(" "); } for ( int j = 2; j >= i; j-- ) { System.out.print("*"); } for ( int j = 2; j > i; j-- ) { System.out.print("*"); } System.out.println(); } }}

浙公网安备 33010602011771号