概述
##################################################
目录
while 循环结构
什么是循环
while 执行原理
while 语法
死循环概念
while 程序示例
do-while 循环结构
do-while 原理
do-while 语法
使用 do-while 循环输出 1~50
控制台输入信息控制循环并统计循环次数
for 循环结构
经典的 for 循环
语法和参数详解及执行流程
for 循环示例
根据指定的循环次数录入指定的数据
如何遍历数据呢
获取一个整数 & 计算输出加法表
##################################################
while 循环结构
——————————
什么是循环
一句话:
在什么条件成立时不断地做什么事情
所以循环结构就是循环条件和循环操作
——————————
while 执行原理
while 循环结构的执行顺序一般如下:
声明并初始化循环变量
判断循环条件是否满足 满足则执行循环操作 不满足则退出循环
执行完循环操作后 再次判断循环条件 决定继续执行循环还是退出循环
实际上 while 循环结构如果第一次判断循环条件就不满足的话
就会直接退出循环 循环操作一个都不会执行!
所以 是很有特点的:
先判断
再执行
——————————
while 语法
while 语法结构:
while ( 条件表达式 ) {
/* 循环操作 */
}
——————————
死循环概念
是不是很好理解?
循环需要注意的是 一定要查看循环是否能退出
避免死循环!
死循环就是 永远循环下去!不会结束
除非你中断程序或者重启/关机。。。
——————————
while 程序示例
写个小程序输出 1-100
只要 i 不超过 100
就不停的输出当前 i 的值
code:
public class test {
public static void main(String[] Args) {
int i = 0;
while ( i <= 100 ) {
System.out.println ( "现在是数字 " + i );
i = i + 1;
}
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
现在是数字 0
现在是数字 1
现在是数字 2
现在是数字 3
现在是数字 4
现在是数字 5
现在是数字 6
现在是数字 7
现在是数字 8
现在是数字 9
现在是数字 10
现在是数字 11
现在是数字 12
现在是数字 13
现在是数字 14
现在是数字 15
现在是数字 16
现在是数字 17
现在是数字 18
现在是数字 19
现在是数字 20
现在是数字 21
现在是数字 22
现在是数字 23
现在是数字 24
现在是数字 25
现在是数字 26
现在是数字 27
现在是数字 28
现在是数字 29
现在是数字 30
现在是数字 31
现在是数字 32
现在是数字 33
现在是数字 34
现在是数字 35
现在是数字 36
现在是数字 37
现在是数字 38
现在是数字 39
现在是数字 40
现在是数字 41
现在是数字 42
现在是数字 43
现在是数字 44
现在是数字 45
现在是数字 46
现在是数字 47
现在是数字 48
现在是数字 49
现在是数字 50
现在是数字 51
现在是数字 52
现在是数字 53
现在是数字 54
现在是数字 55
现在是数字 56
现在是数字 57
现在是数字 58
现在是数字 59
现在是数字 60
现在是数字 61
现在是数字 62
现在是数字 63
现在是数字 64
现在是数字 65
现在是数字 66
现在是数字 67
现在是数字 68
现在是数字 69
现在是数字 70
现在是数字 71
现在是数字 72
现在是数字 73
现在是数字 74
现在是数字 75
现在是数字 76
现在是数字 77
现在是数字 78
现在是数字 79
现在是数字 80
现在是数字 81
现在是数字 82
现在是数字 83
现在是数字 84
现在是数字 85
现在是数字 86
现在是数字 87
现在是数字 88
现在是数字 89
现在是数字 90
现在是数字 91
现在是数字 92
现在是数字 93
现在是数字 94
现在是数字 95
现在是数字 96
现在是数字 97
现在是数字 98
现在是数字 99
现在是数字 100
C:UsersbymejavaTest>
##################################################
do-while 循环结构
——————————
do-while 原理
同 while 循环不同的是 do-while 循环是先执行再判断
也就是说 她会先执行一遍 然后再看条件
无论干嘛 都会先执行一遍
过程:
声明并初始化循环变量
执行一遍循环操作
判断循环条件 如果循环条件满足 继续循环 条件不满足 退出循环
——————————
do-while 语法
语法结构:
do {
/* 循环操作 */
} while ( 循环条件 );
——————————
使用 do-while 循环输出 1~50
code:
public class test {
public static void main(String[] Args) {
int i = 1;
do {
System.out.println ( "当前循环次数 >>> " + i );
i = i + 1;
} while (i <= 50);
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
当前循环次数 >>> 1
当前循环次数 >>> 2
当前循环次数 >>> 3
当前循环次数 >>> 4
当前循环次数 >>> 5
当前循环次数 >>> 6
当前循环次数 >>> 7
当前循环次数 >>> 8
当前循环次数 >>> 9
当前循环次数 >>> 10
当前循环次数 >>> 11
当前循环次数 >>> 12
当前循环次数 >>> 13
当前循环次数 >>> 14
当前循环次数 >>> 15
当前循环次数 >>> 16
当前循环次数 >>> 17
当前循环次数 >>> 18
当前循环次数 >>> 19
当前循环次数 >>> 20
当前循环次数 >>> 21
当前循环次数 >>> 22
当前循环次数 >>> 23
当前循环次数 >>> 24
当前循环次数 >>> 25
当前循环次数 >>> 26
当前循环次数 >>> 27
当前循环次数 >>> 28
当前循环次数 >>> 29
当前循环次数 >>> 30
当前循环次数 >>> 31
当前循环次数 >>> 32
当前循环次数 >>> 33
当前循环次数 >>> 34
当前循环次数 >>> 35
当前循环次数 >>> 36
当前循环次数 >>> 37
当前循环次数 >>> 38
当前循环次数 >>> 39
当前循环次数 >>> 40
当前循环次数 >>> 41
当前循环次数 >>> 42
当前循环次数 >>> 43
当前循环次数 >>> 44
当前循环次数 >>> 45
当前循环次数 >>> 46
当前循环次数 >>> 47
当前循环次数 >>> 48
当前循环次数 >>> 49
当前循环次数 >>> 50
C:UsersbymejavaTest>
——————————
控制台输入信息控制循环并统计循环次数
在控制台输入字符来控制循环输出
code:
import java.util.*;
public class test {
public static void main(String[] Args) {
Scanner input = new Scanner(System.in);
int nur = 1;
String answer = "";
do {
System.out.print("是否开始循环?(yes/no) <<< ");
answer = input.next();
if( "yes".equals( answer ) ) {
System.out.println ( "开始循环...n当前循环次数 [" + nur + "]n" );
nur ++;
}
} while ( ! "no".equals( answer ) );
System.out.println ( "n循环结束!" );
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
是否开始循环?(yes/no) <<< yes
开始循环...
当前循环次数 [1]
是否开始循环?(yes/no) <<< yes
开始循环...
当前循环次数 [2]
是否开始循环?(yes/no) <<< yes
开始循环...
当前循环次数 [3]
是否开始循环?(yes/no) <<< 1
是否开始循环?(yes/no) <<< 4
是否开始循环?(yes/no) <<<
0
是否开始循环?(yes/no) <<< wahd
是否开始循环?(yes/no) <<< ?><!
是否开始循环?(yes/no) <<< yes
开始循环...
当前循环次数 [4]
是否开始循环?(yes/no) <<< no
循环结束!
C:UsersbymejavaTest>
##################################################
for 循环结构
——————————
经典的 for 循环
for 循环给程序语言添了浓重的一笔!!
我们以后写程序 只要是循环 几乎都是用 for 循环来解决!
可能不是最好的解决方法 却是最方便的!!
for 循环的主要作用是反复执行一段代码
直到满足一定的条件为止
for 循环可以分成四个部分
初始部分
设置循环的初始状态
例如设置记录循环次数的变量 i 为 0
循环体
重复执行的代码
例如输出 123
迭代部分
循环体执行完毕后
下一次循环开始前要执行的部分
在 while 循环结构中她作为循环体的一部分
例如使用 i++ 进行循环次数的累加
循环条件
判断是否继续循环的条件
例如使用 i<100 判断循环次数是否已经达到 100
上面四个部分一个都不能出错
不然就会循环错误
——————————
语法和参数详解及执行流程
语法:
for ( 表达式_1; 表达式_2; 表达式_3 ) {
/* 循环体 */
}
三个表达式含义:
表达式_1 :
赋值语句
循环结构的初始部分 为循环变量赋初值
例如:
int i = 0;
表达式_2 :
条件语句
条件语句 循环结构的循环条件
例如:
i < 100;
表达式_3 :
赋值语句
通常使用 ++ 或者 -- 运算符
循环结构的迭代部分 通常用来修改循环变量的值
例如:
i ++
或者这样来理解:
for ( 初始部分; 条件判断; 改变循环变量值 ) {
/* 循环操作 */
}
执行流程:
先是初始部分
然后进行条件判断 false 结束 true 继续
根据条件判断结果来进行选择如果为假 直接退出循环
如果为真 执行循环体
然后第三部分的控制语句中改变循环变量值
回到第二次继续判断
接着重复进行条件判断然后继续上面的操作
直到退出循环结构
——————————
for 循环示例
%%%%%
根据指定的循环次数录入指定的数据
循环录入指定的数据 然后加以使用
可以在条件或者迭代部分进行输入
code:
import java.util.*;
public class test{
public static void main(String[] Args){
Scanner input = new Scanner(System.in);
int num = 0, k = 0; /* 每次输入的数字, 循环次数 */
int sum = 0; /* 计算她们的和 */
double avg = 0.0; /* 计算平均数 */
String go = ""; /* 录入数据 */
System.out.print ( "请输入任务名称 <<< " );
go = input.nextLine();
System.out.print ( "请输入循环次数 <<< " );
k = input.nextInt();
System.out.print ( "n——————————n" );
for ( int i = 0; i < k; num = input.nextInt(), i ++, sum += num )
/* 循环 k 次 记录 k 个数据 sum += num 等同于 sum = sum + num */
System.out.print ( " ["+ k +"] 个数据当前第 ["+ (i + 1) +"] 个数据 <<< " );
/* 汇报 */
avg = (double)sum / 5; /* 平均数 */
System.out.println ( "n任务 《"+ go +"》 的平均数是 >>> " + avg );
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
请输入任务名称 <<< job 1
请输入循环次数 <<< 5
——————————
[5] 个数据当前第 [1] 个数据 <<< 521
[5] 个数据当前第 [2] 个数据 <<< 520
[5] 个数据当前第 [3] 个数据 <<< 522
[5] 个数据当前第 [4] 个数据 <<< 1314
[5] 个数据当前第 [5] 个数据 <<< 5211314
任务 《job 1》 的平均数是 >>> 1042838.2
C:UsersbymejavaTest>
%%%%%
如何遍历数据呢
比如遍历输出字符串的内容
code:
import java.util.*;
public class test{
public static void main(String[] Args){
Scanner input = new Scanner(System.in);
System.out.printf ( "n请输入一个字符串 <<< " );
String str = input.nextLine();
System.out.printf ( "n输入的字符串为 >>> nt" );
for (int i = 0; i <= str.length(); i ++ ) {
if ( ( i >= str.length() ) )
System.out.printf ( "nt输入了 [%d] 个字符..", i );
else
System.out.printf ( "[%c] ", str.charAt(i) );
}
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
请输入一个字符串 <<< w真的好喜欢你o
输入的字符串为 >>>
[w] [真] [的] [好] [喜] [欢] [你] [o]
输入了 [8] 个字符..
C:UsersbymejavaTest>
%%%%%
获取一个整数 & 计算输出加法表
code:
import java.util.*;
public class test{
public static void main(String[] Args){
Scanner input = new Scanner(System.in);
int i, j, val;
System.out.printf ( "n请输入一个数字 <<< " );
val = input.nextInt();
System.out.println ( "根据这个值输出以下加法表 >>> ");
for ( i = 0, j = val; i <= val; i ++, j -- )
System.out.println ( "t" + i + " + " + j + " = " + (i + j) );
System.out.printf ( "n输入 y 继续 <<< " );
if ( input.next().equals("y") ) /* 先让你输入然后再 equals 比较 */
main (new String[0]); /* 在 main 方法中调用 main() 自身 因为 main 方法参数 String[] Args 声明了传入一个字符串作为程序的入口 因此在调用 main 的时候必须放入一个字符串 哪怕是空的 */
input.nextLine(); /* 清除缓冲区 */
System.out.printf ( "程序结束.." );
System.exit(0); /* 第一次执行到这里就退出整个程序 */
}
}
demo:
C:UsersbymejavaTest>javac test.java
C:UsersbymejavaTest>java test
请输入一个数字 <<< 0
根据这个值输出以下加法表 >>>
0 + 0 = 0
输入 y 继续 <<< y
请输入一个数字 <<< 1
根据这个值输出以下加法表 >>>
0 + 1 = 1
1 + 0 = 1
输入 y 继续 <<< y
请输入一个数字 <<< 2
根据这个值输出以下加法表 >>>
0 + 2 = 2
1 + 1 = 2
2 + 0 = 2
输入 y 继续 <<< y
请输入一个数字 <<< 3
根据这个值输出以下加法表 >>>
0 + 3 = 3
1 + 2 = 3
2 + 1 = 3
3 + 0 = 3
输入 y 继续 <<< y
请输入一个数字 <<< 4
根据这个值输出以下加法表 >>>
0 + 4 = 4
1 + 3 = 4
2 + 2 = 4
3 + 1 = 4
4 + 0 = 4
输入 y 继续 <<< y
请输入一个数字 <<< 5
根据这个值输出以下加法表 >>>
0 + 5 = 5
1 + 4 = 5
2 + 3 = 5
3 + 2 = 5
4 + 1 = 5
5 + 0 = 5
输入 y 继续 <<< y
请输入一个数字 <<< 6
根据这个值输出以下加法表 >>>
0 + 6 = 6
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
6 + 0 = 6
输入 y 继续 <<< y
请输入一个数字 <<< 20
根据这个值输出以下加法表 >>>
0 + 20 = 20
1 + 19 = 20
2 + 18 = 20
3 + 17 = 20
4 + 16 = 20
5 + 15 = 20
6 + 14 = 20
7 + 13 = 20
8 + 12 = 20
9 + 11 = 20
10 + 10 = 20
11 + 9 = 20
12 + 8 = 20
13 + 7 = 20
14 + 6 = 20
15 + 5 = 20
16 + 4 = 20
17 + 3 = 20
18 + 2 = 20
19 + 1 = 20
20 + 0 = 20
输入 y 继续 <<< n
程序结束..
C:UsersbymejavaTest>
有没有被惊艳到?!!
最后
以上就是现实大白为你收集整理的5.2_[Java 流程控制]-初识 while/do-while/for 循环体的全部内容,希望文章能够帮你解决5.2_[Java 流程控制]-初识 while/do-while/for 循环体所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复