if、while、do while、for语句的区别

循环语句:设计一个程序,计算需要多长时间才能够存储一定数量的退休金,假定每年存入相同数量的金额,而且利率是固定的。

解析:需要从键盘输入给定的退休金变量goal作为条件,从键盘输入每年发放的退休金额(payment)和利率(rate)。定义一个insert变量,计算每年的存入的退休金额,将insert与原定的退休金做比较,insert=(每年发放的退休金*利率)/100,再定义一个变量balance用来累积每年的收入(insert),最后定义一个变量years作为计数器。

import java.util.*;

public class Example {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

System.out.println("请输入要达到的退休金额总数:");

double goal=in.nextDouble();

System.out.println("请输入每年发放的退休金额:");

double payment=in.nextDouble();

System.out.println("请输入利率(%):");

double rate=in.nextDouble();

double balance=0;

double insert=0;

int years=0;

while(balance<goal){

insert=payment*(rate/100);

balance+=insert;

years++;

}

System.out.println(years);

}

}

运行结果:

 

我当时写这个代码的时候就把if与while混淆了,但是if是一个判断语句,而while是循环语句。

if(条件成立){

如果条件成立的话就执行这里面的,只执行一次。 } 

while(条件成立){ 
只要条件成立,就一直循环执行这里面的代码,一直到条件不成立。或者不想循环的话就break;跳出循环。 } while循环语句首先检测循环条件,所以,循环体中的代码可能不被执行。

do while语句

do{ 先执行一次语句,再判断是否满足while里面的条件,如果满足,则继续执行,如果不满足,则跳出循环

}

While(条件);上面程序的计算过程也可以用do while语句来实现:

do{

insert=payment*(rate/100);

balance+=insert;

years++;

}

while(balance<goal);

输出的结果是一样的。

for语句(初始化计数器;判断条件;计数器更新)若判断条件成立,则执行for循环后面的语句,然后更新计数器,如果判断条件不成立,则跳出循环。特别指出,for语句内定义的变量不能再循环体外用。For循环语句只不过是while循环的一个简化的形式,如:for(int x=0;i<10;i++){ System.out.println(“”); }可以重写为:int i=0;

      While(i<10){

System.out.pritln(“”);

i++;}

例子:设计一个程序用来计算抽奖中将的概率。例如,必须从1-50之间的数字中抽取6个数字来抽奖,那么久会有(50*49*48*47*46*45)/(1*2*3*4*5*6)种可能的结果,所以中奖的概率是1/15890700.

import java.util.*;

public class Example {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

System.out.println("请输入你要抽取的数字的个数:");

int k=in.nextInt();

System.out.println("请输入你可以抽取的最大数字:");

int n=in.nextInt();

int probability=1;

for(int i=1;i<k;i++){

probability=probability*(n-i+1)/i;

}

System.out.println("你中奖的概率为:"+probability);

}

}

猜你喜欢

转载自blog.csdn.net/hml666888/article/details/81322100