ForeverNagisa的博客

我的博客

JAVA 掌握循环

while 循环

上篇博客写了while循环,这篇追加一个案例:

代码举例:

//银行定期存款 5年及以上利率7.5% 否则利率 4.5%  10年  本金为10000 计算利息有多少
public class Demo01 {
    public static void main(String[] args) {
        double sum = 10000;
        int number = 1;
        double interest = 0;
        while (number < 11) {
            sum = sum + (sum*0.075);
            number++;
        }
        interest = sum - 10000;
        System.out.println("利息一共有:"+ interest);
    }
}

do…while循环

do{ 执行语句 }wile( 判断条件 ) 先执行执行语句后判断条件,不管判断条件成不成立都先执行执行语句,执行语句结束后,判断条件不成立则跳出循环.

代码举例:

//  从周一开始打印 并询问明天上班不 输入上班 继续打印 输入不上班 停止程序
public class Demo02 {
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String string = "";
            int day = 1;    
            do {                
                System.out.println("今天是星期"+day+"上班吗?");
                string = scanner.nextLine();
                day++;
            } while (string.equals("上班") && day <=7);       
    }
}

for循环

1).for(表达式1 ;判断条件 ; 表达式2){ 执行语句 } 表达式1 -> 判断条件 -> 执行语句 -> 表达式2 -> 判断条件 -> ….. ->判断条件不满足,循环结束

代码举例:

//  使用for循环 从1-1000 中 是2的倍数 并且不是10的倍数 的个数  打印个数
public class Demo03 {
    public static void main(String[] args) {
        int count =0;   
        for(int i = 1;i <= 1000;i++) {
            if((i%2 == 0)&&(i%10 != 0)) {
                count++;
            }
        }
        System.out.println(count);
    }
}

2).for循环的嵌套
for( 表达式1 ;判断条件 ; 表达式2 ){ for( 表达式3 ;判断条件1 ; 表达式4){ 执行语句1} 执行语句2} 执行规则上同

代码举例:


public class Demo04 {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            int j=5;                                                        
            for (  j = j-i; j >=1;j--) {        //修改内循环的循环初始值 或者 j=i 
                System.out.print("*");
            }
            System.out.println();   
            }               
    }
}
输出:
*****
****
***
**
*

例题训练:

求1 x 2 x 3 x 4 x … x 49x 50的结果 或者求任意数字的阶乘

public class Question {
    public static void main(String[] args) {
        int[] a = new int[1000];
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
         a[0]=1;            
         int i,j = 0,c=0,len=0;     
          for(i=2;i<=n;i++){                    
              for(j=0;j<=len;j++){
                  int s=a[j]*i+c;       
                  a[j]=s%10;  
                  c=s/10;         
                  if(j==len&&c!=0)
                      len++;
              }
          }
          for(j=len;j>=0;j--){
             System.out.print(a[j]);
        }
    }           
}
输入:50
输出:30414093201713378043612608166064768844377641568960512000000000000
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ForeverNagisa/article/details/78934353
文章标签: java
个人分类: java
想对作者说点什么? 我来说一句

实验二:Java语法基础

2011年07月14日 114KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭