黑马程序员技术交流社区

标题: 裘-样+循环+break和continue+案例 [打印本页]

作者: 裘-样    时间: 2015-9-13 21:30
标题: 裘-样+循环+break和continue+案例
package com.itheima.javaday4;

/*
        今天讲的是for循环和while以及do...while循环。
        重点是记住格式,多敲几遍代码就行了。

        1.循环的组成
                A:循环体。
                B:初始化条件。
                C:判断条件。
                D:控制条件。

        2.for
                        for(初始化条件;判断条件;控制条件)
                        {
                                循环体;
                        }
       
        3.while
                        初始化条件;
                        while(判断条件)
                        {
                                循环体;
                                控制条件;
                        }
       
        4.do...while(了解)
                        初始化条件;
                        do{
                                循环体;
                                控制条件;
                        }while(判断条件);
       
        5.break和continue
                break:跳出当前循环。
                continue:跳出本次循环,进行下一次循环。

        6.案例:
                |--6.1,求1-100之间偶数的和。        //明确范围,一般用for循环
                |--6.2,水仙花。                                        //明确范围,一般用for循环
                |--6.3,珠穆朗玛峰。                                //不明确范围,一般用while循环
                |--6.4,九九乘法表。                                //明确范围,一般用for循环
                |--6.5,打印三角形的、梯形等图形。//明确范围,一般用for循环
*/
import java.util.*;

class LoopDemo
{
        public static void main(String[] args)
        {
                System.out.println("请输入一个整数:");

                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();

                System.out.println("用while循环求1-"+num+"的和为:"+sumWhile(num));
                System.out.println("用do...while循环和continue求1-"+num+"的和为:"+sumDoWhile(num));
                System.out.println("用for循环求1-"+num+"的和为:"+sumFor(num));

                System.out.println("***************************");
                System.out.println("三位数的水仙花数如下:");
                flowerFor();

                System.out.println("***************************");
                System.out.println("请输入纸的厚度:");
                double no = sc.nextDouble();
                System.out.println("请输入山峰的高度:");
                double hight = sc.nextDouble();
                System.out.println("需要折叠的次数为:"+count(no,hight));

                System.out.println("***************************");
                System.out.println("请输入要输出的行数:");
                int n = sc.nextInt();
                table99(n);
                System.out.println("---------------------------");
                triangle(n);
                System.out.println("---------------------------");
                triangle_2(n);
                sc.close();
        }

        //求1-100之间偶数的和。用while
        public static int sumWhile(int num){

                int sum = 0;//用一个sum变量来实现和的累加。

                int i = 1;//初始化条件
                while(i<=num){//判断条件
                        if(i%2 == 0){
                                sum += i;//循环体
                        }
                        i++;//控制条件
                }

                return sum;//返回值
        }

        //求1-100之间偶数的和。用do...while和continue
        public static int sumDoWhile(int num){

                int sum = 0;//用一个sum变量来实现和的累加。

                int i = 0;//初始化条件
                do{
                        i++;//控制条件
                        if(i%2 == 1){
                                continue;//循环体,跳出本次循环,进行下一次循环
                        }
                        sum += i;//循环体
                }while(i<=num);//判断条件

                return sum;//返回值
        }

        //求1-100之间偶数的和。用for循环
        public static int sumFor(int num){

                int sum = 0;

                for(int i = 1;/*初始化条件*/i<=100;/*判断条件*/i++/*控制条件*/){
                        if(i%2 == 0){
                                sum += i;//循环体
                        }
                }

                return sum;
        }

        //水仙花。范围明确,用for循环。
        public static void flowerFor(){
               
                int g,s,b;
                for(int i = 100;i<1000;i++){

                        g = i%10;
                        s = (i/10)%10;
                        b = i/100;

                        if(g*g*g+s*s*s+b*b*b == i)
                        {
                                System.out.print(i+" ");
                        }

                }
                System.out.println();
        }

        //珠穆朗玛峰。范围不明确,用While循环。
        public static int count(double num,double hight){

                int count = 0;

                while(num <= hight){
                        num *= 2;
                        count++;
                }

                return count;
        }

        //九九乘法表。范围明确,用for循环。
        public static void table99(int num){
               
                for(int i = 1;i<=num;i++){
                        for(int j = 1;j<=i;j++){
                                System.out.print(j+"*"+i+"="+j*i+"\t");
                        }
                        System.out.println();
                }
        }

        //打印*图。范围明确,用for循环。
        /*
       
        *
        **
        ***

        */
        public static void triangle(int num){
               
                for(int i = 0;i<num;i++){
                        for(int j = 0;j<=i;j++){
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }

        //打印*图。范围明确,用for循环。
        /*
       
        *+ + +
        **+ +
        ***+

        */
        public static void triangle_2(int num){
               
                for(int i = 0;i<num;i++){
                        for(int j = 0;j<=i;j++){
                                System.out.print("*");
                        }
                        for(int k = num-i;k>0;k--){
                                System.out.print("+ ");
                        }
                        System.out.println();
                }
        }
}



作者: asdsy222    时间: 2015-9-13 21:48
好的,已经收藏!
作者: 裘-样    时间: 2015-9-13 23:38
asdsy222 发表于 2015-9-13 21:48
好的,已经收藏!

感谢支持
作者: tianzuishiwo    时间: 2015-9-13 23:51
裘,好样的,加油啊!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2