专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java循环语句(JAVA循环语句)

temp10 2024-11-03 15:06:38 java教程 12 ℃ 0 评论

1、while循环

基本语法结构

while(条件表达式) {
	//语句块;
}

执行过程

符合括号中的条件表达式,循环继续执行,直到不符合条件表达式,退出循环,注意使用过程中不能出现无出口的死循环

特点

先判断条件表达式,再执行循环的语句块,循环可能一次都不执行。

Java循环语句(JAVA循环语句)

经典示例

计算1到100的所有整数和

public class Test01 {
	public static void main(String[] args) {
		int i = 1;
		int num = 0;
		while(i<=100) {
			num = num + i;
			i ++;
		}
		System.out.println(num);
	}
}
//控制台输出:5050

分析:

定义一个变量i,用于表示1到100的整数,定义一个num,用于计算总和,当运行到while时,判断i是否小于等于100,如果小于100,则将每个数的总和加到num中,完成后i自增1,直到i等于101时,退出循环。


2、do while循环

基本语法结构

do {
	循环语句
}while(循环条件);

执行过程

先执行do语句块中的循环操作,再去判断是否符合while中的循环条件,如果符合循环条件,则循环继续,如果不符合循环条件,则退出循环

特点

先执行循环操作,再判断循环条件是否符合,循环至少会执行一次

经典示例

1、逆序输出5~1

public class Test01 {
	public static void main(String[] args) {
		int i = 5;
		do {
			System.out.println(i);
			i --;
		}while(i >= 1);
	}
}
//控制台输出:5 4 3 2 1

分析:

定义一个变量i,程序运行到do时,先输出变量i,然后将变量i自减1,再去判断循环条件,如果i大于等于1,则循环继续执行,如果循环条件不成立,则直到i==0,循环退出。

2、阶乘求和:1!+2!+ 3!+ ... +10!

 public class Test01 {
	public static void main(String[] args) {
		int i = 1;
		int sum1 = 0;
		do {
			int j = 1;
			int sum2 = 1;
			while(j <= i) {
				sum2 = sum2*j;
				j ++ ;
			}
			sum1 = sum1 + sum2;
			i++;
		}while(i <= 10);
		System.out.println(sum1);
	}
}
//控制台输出:4037913

分析:

外层do while循环用于控制10个阶乘的累加,定义一个变量i,用于表示十个阶乘,定义sum1用于表示10个阶乘的和,比如i=1,则sum1=1!;i=2,则sum1=1!+2!;i=3,则sum1=1!+2!+3!...依次类推;

内层嵌套的while循环用于求每个阶乘,定义一个变量j用于记录每个阶乘需要相乘的数的个数,比如j=1,则sum2=1;j=2,则sum2 = 1*2;j=3,则sum2=1*2*3...,依次类推;j<=i,则进行求阶乘的操作,即当i=1时,j计算的是1的阶乘;i=2时,j计算的就是2的阶乘,依次类推,完成操作后自增1;

最后当计算完10个阶乘和后,退出循环。


3、for循环

基本语法结构

for(初始化参数;判断循环条件;更新循环变量) {
	循环体;
}

执行过程

先初始化参数,然后判断循环条件,如果符合循环条件,则执行循环体,然后更新循环变量,再去判断循环条件,如果循环条件符合,则继续执行循环体,之后更新循环变量,如果循环条件不符合,则退出循环。

特点

整个循环中,初始化参数只会执行一次。循环中可以使用continue关键字,用于跳过当次循环,继续下次循环。

for循环的应用范围最大,平时使用也是最多的。

public class Test01 {
	public static void main(String[] args) {
		for(int i=0;i<=3;i++) {
			if(2==i) {
				continue;
			}
			System.out.println(i);
		}
	}
}
//控制台输出: 0 1 3

经典示例

输出10个斐波那契数列:1、1、2、3、5、8、13 、21、34、55,从第三个数开始,该数是前面两个数的和

public class Test01 {
	public static void main(String[] args) {
		int i1 = 1;
		int i2 = 1;
		int printOut = 0;
		System.out.println(i1);
		System.out.println(i2);
		for(int i=1;i<=8;i++) {
			printOut = i1 + i2;
			System.out.println(printOut);
			i1 = i2;
			i2 = printOut;
		}
	}
}
//控制台输出:1 1 2 3 5 8 13 21 34 55

分析:

因为前两个数固定为1,所以可以直接定义以及输出,要输出10个数,所以循环8次,从i=1开始循环,到i<=8循环结束,正好循环8次,定义一个printOut的变量用于计算前两个数之和,每次一次循环,先计算前两数之和,并在控制台输出,然后将i2的值赋值给i1,然后将计算出来的和(即后面的那个数)赋值给i2,这样每次循环时计算的i1 + i2实际都是不一样的值,比如i=1时,计算的是1+1,此时再去赋值,则i1变成了1,i2变成了2,;当i=2时,i1为2,i2为3,依次类推。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表