Java学习 (12)Java流程控制篇(03)循环结构
目录
循环结构
While 循环
- while 是最基本的循环结构,结构为
public static void main(String[] args) {
while (布尔表达式){
//循环内容;
}
}
- 循环条件一直为 true 就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死奔溃!
public static void main(String[] args) {
//死循环
while (true){
//等待客户端连接
//定时检查。。。
}
}
语法实例
用 While 计算1+2+3+...+100=?
public static void main(String[] args) {
//计算1+2+3+...+100=?
int i = 0;
int sum = 0;
while (i <= 100){
sum = sum + i;
i ++;
}
System.out.println(sum);
}
/*run:
5050
*/
DO While 结构
- 对于while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次
- Do while 循环和While 循环相似,不同的是,Do while 循环至少会执行一次
do {
//代码语句
}while (布尔表达式);
语法实例
用 Do while 计算1+2+3+...+100=?
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum +i;
i++;
}while (i <= 100);
System.out.println(sum);
}
/*run:
5050
*/
while 和 Do While 的区别
- While 先判断后执行,Do while 是先执行后判断!
- Do while 总是保证循环体会被至少执行一次!这是他们的主要差别
- 问题实例
public static void main(String[] args) {
int a = 0;
while (a < 0){
System.out.println(a);
a++;
}
System.out.println("------------------");
do{
System.out.println(a);
a++;
}while (a<0);
}
/*run:
------------------
0
*/
For 循环
- 虽然所有循环结构都可以用 While 或者 Do while 表示,但 Java 提供了另一种语句——for 循环,使一些循环结构变得更加简单
- for 循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
- fo r循环执行的次数是在执行前就确定的。语法格式如下
for (初始化;布尔表达式;迭代){
//代码语句
}
有关 for 循环的说明
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
- 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)
- 再次检测布尔表达式。循环执行上面的过程
语法实例
1.While和For 的区别
public static void main(String[] args) {
int a = 0;//初始化条件
while (a <=100){//条件判断
System.out.println(a);//循环体
a++;//迭代
}
System.out.println("while循环结束!");
System.out.println("======================");
//初始化 //条件判断 //迭代
for (int i = 0; i <= 100; i++) {
System.out.println(i);
}
System.out.println("for循环结束!");
}
/*run:
0
1
2
~
100
while循环结束!
======================
0
1
2
~
100
for循环结束!
*/
2. 0 —100 的奇、偶之和
public static void main(String[] args) {
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if (i%2 !=0){
oddSum +=i;
}else {
evenSum +=i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
}
/*run:
奇数的和:2500
偶数的和:2550
*/
3.输出1—1000能被5整数的数,并每行输出3个
public static void main(String[] args) {
for (int i = 0; i <= 1000; i++) {
if (i%5 == 0){
System.out.print(i+"\t");
}
if (i%(5*3) == 0){
System.out.println();
}
}
}
/*run:
0
5 10 15
~ ~ ~
995 1000
*/
4.打印九九乘法表
//使用双层for循环实现九九乘法表的打印
//双层for循环顺序:先里再外
public static void main(String[] args) {
//1.使用外层for循环用于控制打印的行数
for (int j = 1; j <= 9; j++) {
//2.使用内层for循环用于控制打印的列数
/*i <= j:控制每一行的列数与当前行的行数相等
注意:每当i +1 时,是每一行的列数+1
*/
for (int i = 1; i <= j; i++) {
System.out.print(i+"*"+j+"="+(i*j) +"\t");
}
System.out.println();
}
}
/*run:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
增强 For 循环
- Java5 引入了一种主要用于数组或集合的增强型 for 循环
- Java增强 for 循环语法格式如下:
//声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
//表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
for (声明语句:表达式)
{
//代码语句
}
语法实例
遍历数组
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义了一个数组
//for 循环
for (int i = 0;i<5;i++){
System.out.println(numbers[i]);
}
System.out.println("===========================");
//增强 for 循环
//遍历数组元素
for (int x:numbers){
System.out.println(x);
}
}
/*run:
10
20
30
40
50
===========================
10
20
30
40
50
*/
参考视频(狂神说Java)
Java流程控制06:While循环详解_哔哩哔哩_bilibili
Java流程控制07:DoWhile循环_哔哩哔哩_bilibili
Java流程控制08:For循环详解_哔哩哔哩_bilibili