您的位置:首页 > 编程语言 > Java开发

java入门学习(十五)运算语句while do while

2013-08-10 15:59 423 查看
欢迎来我的博客www.taomaipin.com
while 翻译成中文就是“当…..时候”,其实它和for的中文意思一样,当条件成立时执行while中的代码块,那么while语句的的语法是:
while(循环条件){
循环体
}
语法说明:和if语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。
执行流程:在执行while语句时,首先判断循环条件,如果循环条件为false,则直接执行while语句后续的代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。
下面结合具体的示例来演示一下while语句的基本使用。首先我们来实现一个无限循环,也称死循环,具体代码如下:
while(true){
System.out.println("a");
}
其实当循环一直成立,那么 循环体就一直执行,无法跳出循环体,故名死循环。
如上面的代码意思是:首先当代码执行到while语句块的时候,它首先判断循环条件是true,那么接下来就执行打印a的代码,然后再判断循环条
件,循环条件为true,条件成立,接下来还是打印a,然后再去判断循环条件……就这样一直执行下去,一直输出打印a,永远不停止。
下面是使用while语句输出0-9这10个数字,程序实现的原理是使用一个变量代表0-9之间的数字,每次输出该变量的值,每次对该变量的值加1.变量的值从0开始,只要小于数字10就执行该循环。具体的示例代码如下:
int i = 0;
while(i < 10){
System.out.println(i); //输出变量的值
i++; //变量的值增加1
}
其执行流程为:
1、 执行int I = 0;
2、 判断i<10是否成立,如果不成立则结束,否则执行下一步
3、 输出变量i的值
4、 i的值增加1
5、 跳转到步骤2继续执行
需要注意的是,首先while语句中的条件是循环成立的条件,也就是该条件成立则继续循环,所以在书写时注意。另外,内部代码的书写有顺序,同样是上面的代码,如果调整内部代码的顺序,如下所示:
int i = 0;
while(i < 10){
i++; //变量的值增加1
System.out.println(i); //输出变量的值
}
则程序的执行结果将变为输出数字1-10.所以在循环语句中,代码之间的顺序也影响整个程序的逻辑。
下面是用循环实现一个简单的数学逻辑,求1-10这10个数字的和。程序的原理是这样:声明一个变量i,从1变化到10,在声明一个变量sum,每次和i的值相加以后赋值给自身,下次再使用sum是变化以后的i相加,循环结束以后,得到的结果就是数字1-10之间所有数字的和。
示例代码如下:
int i = 1; //循环变量
int sum = 0; //数字和
while(i <= 10){
sum += i; //和当前的i值相加
i++; //变量i增加1
}
这样,第一次循环是把和1相加的结果赋值给sum,然后再使用sum的值和2相加再赋值给sum,依次类推,则得到1-10之间所有变量的和。

do-while语句
do-while语句由关键字do和while组成,是循环语句中最典型的“先循环再判断”的流程控制结构,这个和其它2个循环语句都不相同。
do-while语句的语法格式为:
do{
循环体;
}while(循环条件);
语法说明:在do-while语句中,循环体部分是重复执行的代码部分,循环条件指循环成立的条件,要求循环条件是boolean类型,值为true时循环执行,否则循环结束,最后整个语句以分号结束。
执行流程:当执行到do-while语句时,首先执行循环体,然后再判断循环条件,如果循环条件不成立,则循环结束,如果循环条件成立,则继续执行循环体,循环体执行完成以后再判断循环条件,依次类推。
实现和while语句实现的类似的示例,则死循环的示例代码为:
do{
System.out.println(‘a’);
}while(true);实现输出0-9这10个数字的循环为:
int i = 0;
do{
System.out.println(i); //输出变量的值
i++; //变量增加1
}while(i < 10);
实现求1-10这10个数字的和的代码为:
int i = 1;
int sum = 0;
do{
sum += i; //求和
i++; //变量增加1
}while(i < 10);
System.out.println(sum); //输出和
同理,实现求5的阶乘的代码类似,在数学上5的阶乘指1×2×3×4×5,数学上规定0的阶乘等于1,在实际计算时,阶乘的值增加的非常快,所以需要注意结果不能溢出。其具体代码为:
int i = 1;
int result = 1;
do{
result *= i;
i++;
}while(i <= 5);
System.out.println(result);
在实际的程序中,do-while的优势在于实现那些先循环再判断的逻辑,这个可以在一定程度上减少代码的重复,但是总体来说,do-while语句使用的频率没有其他的循环语句高

欢迎来我的博客www.taomaipin.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: