循环语句:
循环语句分为三种:for循环,while循环和do...while循环。
三种循环的语法格式都很简单,单个循环语句的使用也并不困难。
困难的是循环语句的嵌套,当循环语句联合嵌套使用的时候就很容易把循环弄混淆,无法正确的理清循环执行的过程。
而循环是被经常使用的一种语句,当一个问题里面出现有规律的重复进行某个行为时,一般就需要使用循环语句,例如登录时,账号密码输入错误时候就需要重新输入;输入错误密码超过一定次数时会冻结账号等。
import java.util.Scanner;
public class Test18 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i= 0;//计数器
while (true) {
System.out.println("请输入账号密码:");
int zhanghao = sc.nextInt();
int mima = sc.nextInt();
if (zhanghao == 123456 && mima == 789456) {//判断账号密码
System.out.print("登陆成功");
} else {
i++;//记录登录次数
if (i == 3) {//判断登录的错误次数
System.out.print("账号或密码错误三次,账号冻结");
return;
}
}
}
}
}
类似这样的语句联合嵌套使用,上例的逻辑很简单,但当需求越多,逻辑也就会越来越复杂,理解也就会变得很困难。
越是复杂的逻辑越应该冷静的把复杂的逻辑拆分曾一个个简单的逻辑,再复杂的逻辑也是由一个个简单的逻辑组成的。
例如:求1到5的阶乘之和这些经典的使用语句嵌套的例子。
public class Test18 {
public static void main(String[] args) {
//首先拆分1!+2!+3!+4!+5!,找出规律
//1+1*2+1*2*3+...+1*2*...*5
//这可以先用for循环实现加法求和1+2+3+4+5
//然后把其中的数字替换成阶乘
//而阶乘同样可以用for实现
int sum = 0;
int x = 1;
for (int i = 1; i <= 5; i++) {
x = 1;//
for (int j = 1; j <= i; j++) {
x *= j;
//System.out.print(j);//使用print验证思路是否正确
}
//System.out.println();
//System.out.println(x);//使用print验证思路是否正确
sum += x;
}
System.out.println(sum);
}
}
对逻辑复杂的程序更需要写一步就验证一次。