循环语句之for循环
顾名思义,循环语句就是让一段程序完成一定次数的循环执行或者不停执行。循环语句的组成:
1-初始化
2-判断
3-循环体语句
4-控制条件语句
循环分类:
1-for循环
2-while循环
3-do while循环
首先介绍for循环:
for循环格式:
for(初始化语句;判断语句条件;控制条件语句){
循环体语句
}
执行流程:
1-首先执行初始化语句
2-判断条件语句的结果是true还是false
是true就继续执行
是false就结束循环
3-执行循环体语句
4-执行控制条件语句
5-回到步骤2继续循环。
案例:原始方法在控制台输出十次java学习。
package com.lcn.day04;
public class ForDemo1 {
/**
* 原始方法在控制台输出十次java学习。
*/
public static void main(String[] args) {
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
System.out.println("java学习");
}
}
输出:
java学习
java学习
java学习
java学习
java学习
java学习
java学习
java学习
java学习
java学习
思考??
如果要求在控制台输出1万次甚至更多的java学习语句呢??
所以原有的输出已经不太实际,顾引入循环。
上案例:
package com.lcn.day04;
public class ForDemo2 {
/**
* 控制台打印十次java学习
*/
public static void main(String[] args) {
for(int i=1;i<=10;i++){
System.out.println("java学习");
}
}
}
输出:
java学习
java学习
java学习
java学习
java学习
java学习
java学习
java学习
java学习
对比是不是循环要简单多了,而且修改循环次数就可改变输出的个数。
注意事项:
判断语句的结果是一个boolean类型
循环语句如果是一条语句大括号可以省略,如果是多条语句则不能省略,建议不省略。
一般来说左边有大括号就不加分号,有分号就没有大括号,因为分号代表一段语句的结束,就表示循环体是空。
案例:控制台输出1-10
package com.lcn.day04;
public class ForDemo4 {
/**
* 在控制台输出1-10
*/
public static void main(String[] args) {
for(int a = 1;a<=10;a++){
System.out.println(a);
}
}
}
案例:控制台输出10-1
package com.lcn.day04;
public class ForDemo5 {
/**
* 在控制台输出1-10
*/
public static void main(String[] args) {
for(int a = 10;a>=1;a--){
System.out.println(a);
}
}
}
案例:
求出1-100之和
分析:
首先定义两个变量
第一个用来存储所有数相加的和,初始化为0.
另一个用来存储变化的数据。
代码:
package com.lcn.day04;
public class ForDemo6 {
/**
* 求出1-100之和
*/
public static void main(String[] args) {
int sum=0;//定义一个变量sum初始化为0
int x;//定义变量二存储变化的数据
//执行循环语句
for(x=1;x<=10;x++){
sum=sum+x;//把得到的数据累加
/*
* sum sum x
* 解析: 第一次:1 = 0 + 1
* 第二次:3 = 1 + 2
* 第三次:6 = 3 + 3
* 第四次:10 = 6 + 4
* ...
* 第十次:55 = 45 + 10
*/
}
System.out.println("sum="+sum);//输出和
}
}
输出:
sum=55
案例:求1-100之和
package com.lcn.day04;
public class ForDemo7 {
/**
* 求出1-100之和
*/
public static void main(String[] args) {
int sum=0;//定义一个变量sum初始化为0
int x;//定义变量二存储变化的数据
//执行循环语句
for(x=1;x<=100;x++){
sum=sum+x;//把得到的数据累加
}
System.out.println("sum="+sum);//输出和
}
}
输出:
sum=5050
案例:
求出1-100之间的偶数和奇数和
package com.lcn.day04;
public class ForDemo8 {
/**
求出1-100之间的偶数和奇数分别的和
*/
public static void main(String[] args) {
int sum1 = 0;//奇数和
int sum2 = 0;//偶数和
for(int i=1;i<=100;i++){
if(i%2==0){
sum2 = sum2+i;
}else{
sum1 = sum1+i;
}
}
System.out.println("奇数和sum1="+sum1);
System.out.println("奇数和sum2="+sum2);
}
}
输出:
奇数和sum1=2500
奇数和sum2=2550
案例:求出10的阶乘
脑补:阶乘--
10! =10*9*8*7*6*5*4*3*2*1
n! =n*(n-1)*(n-2)*(n-3)*...*2*1
n! =n*(n-1)!
package com.lcn.day04;
public class ForDemo9 {
/**
* 控制台输出10的阶乘
*/
public static void main(String[] args) {
int num = 1;//用来存储乘积
//for循环
for(int i=1;i<=10;i++){
num = num*i;
}
System.out.println("10的阶乘num="+num);
}
}
输出:
10的阶乘num=3628800