java基础知识:循环语句
来源:互联网 发布:厦门国税网络发票查询 编辑:程序博客网 时间:2024/05/12 02:47
2011-11-17
循环语句
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码块被称为循环体。当反复执行这段循环体时,需要在适当的时候把循环条件改为假。从而结束循环,否则循环将一直执行下去,形成死循环。循环语句可能包含如下4个部分
初始化语句(init_statements):一条或多条语句,用于完成一些初始化工作。初始化语句在循环开始之前执行。
循环条件(test_expression):这是一个boolean表达式,用于决定是否执行循环体。
循环体(body_statements):这部分是循环的主题,如果循环条件允许,这个代码块将被重复执行如果该代码块只有一行语句,则其花括号是可以省略的。
迭代语句(iteration_statements):这部分在一次循环体执行结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
上面四个部分只是一般分类,并不是每个循环中都非常清晰地分出了上面的4个成分
While 循环的语法格式如下:
[init_statements]
While(test_expression){
Statements;
[iteration_statements]
}
While循环每次执行循环体之前,先对test_expression循环条件求职,如果循环条件为true,则运行循环体部分。从上缅甸额语法费事来看,迭代语句iteration_satements总是位于循环体的最后,因此只有当循环体能成功执行完成时,while循环体才会执行iteration_statements迭代语句。
从这个意义上看,whileuxnhuan也可被当成条件语句——如果test_expression条件一开始就位false,则循环体部分将永远不会获得执行。
Eg:
public class TestWhile{
public static void main(String args[]){
//循环的初始化条件
int i=0;
//当i小于10时,执行循环体
while(i<10){
System.out.println(i+"\t");
//迭代语句
i++;
}
System.out.println("\n循环结束!");
}
}
如果while循环的循环体部分和迭代语句合并在一起,且只有一行代码,则可以省略while循环后的花括号。但这种省略括号的做法,可能会降低程序的可读性。
是哟和那个while训话时,一定要保证循环条件有变成false的时候,否则这个循环将成为一个死循环,永远无法结束。例如:
Int i=0;
Wehile(i<10){
System.out.println(“不停地死循环+i”);
i--;
}
System.out.println(“永远无法跳出的循环体!”);
在上面的代码i值越来越小,因此i的值永远小于10,i<10循环条件一直为true,从而导致这个循环永远无法结束。
除此之外,对于许多初学者而言,使用while循环时还有一个陷阱——while循环的循环条件后紧跟一个分号。如果有如下代码:
Int i=0;
//while后紧跟一个分号,表明循环体时一个分号(空语句)
While(i<10)
//下面的代码块与while循环没有任何关系
{
System.out.println(“--------”+i);
I++;
}
乍一看,该代码片段没有任何问题,自习看一下,不难发现while循环的训话条件表达式后紧跟了一个分号。在java程序中,一个单独的分号标识一条空语句,不做任何事情的空语句,这意味着这个while循环的循环体时空语句。空语句作为循环体也不是最大的问问题,问题是当java反复执行这个循环体时,循环条件的返回值没有任何改变,这就成了一个死循环。分号后面的代码块则与while循环没有任何关系。
2do……while循环语句
Do….wbile循环与while循环的区别在于:while循环时先判断循环条件,如果条件为true才执行循环体;而do….while循环则先执行循环体,然后判断循环条件了,如果循环条件为真,则执行下一次循环,否则终止循环。Do…..while循环语法格式如下:
[init_statements]
Do{
Statements;
[iteration_statements]
}while(test_expression);
与while循环不同的是,do…..while循环的循环条件后必须有一个分号,这个分号表明循环结束。
Eg: public class TestDoWhile{
public static void main(String args[]){
//定义变量i
int i=1;
//执行 do while循环
do{
System.out.println(i+"\t");
//循环迭代语句
i++;
}while(i<10);
System.out.println("\n循环结束!");
}
}即使test_expression循环条件的值开始就是假,do….while循环也会执行循环体。因此,do….while循环的循环体至少执行一次。
//定义变量j
Int j=20;
//执行do…while循环
Do
//这行代码把循环体和迭代部分合并成了一行代码
System.out.println(j++);
While(j<10);
System.out.println(“循环结束!”);
从上面程序来看,虽然开始j的值就是20,j<10表达式返回false,但do…while循环还是会吧循环体执行那个一次。
- java基础知识:循环语句
- Java循环语句的基础知识
- Java基础知识_day03_(选择流程控制语句,循环流程控制语句,控制循环语句)
- java基础知识总结(3)(循环语句)
- 基础知识—循环语句-while
- 基础知识—循环语句-for
- 基础知识—循环语句-循环控制
- Linux Shell基础知识7 循环语句
- Ruby基础知识-循环语句 while、util、for
- H5基础知识第九课时(JS循环语句)
- python基础知识--条件,循环和其他语句
- 黑马程序员——java基础知识篇——>循环语句
- Java基础知识-循环语句的使用介绍(for、while、do-while)
- 从零开始学习Java——基础知识之循环语句练习题(第四天)
- java 循环语句
- java循环语句
- Java循环语句
- Java的循环语句
- cocos2d-x帧动画实现(续)
- C++名字空间的主要用法示例
- C# OPC客户端
- 正则表达式
- 多线程的同步机制
- java基础知识:循环语句
- SMARTY内建函数
- 【bug】plug in convert icon to bitmap
- 如何在cygwin上编译golang
- 测试程序的运行时间
- 哈工大java实验 学生管理数据库
- S3C2440中FLCK、HCLK和PCLK的关系
- 如实现在jsp中发送邮件
- 内建函数