黑马程序员技术交流社区

标题: day04 [打印本页]

作者: HEY、baby    时间: 2015-9-4 22:16
标题: day04
循环:
        for语句
                格式:
                        for(初始化表达式1;判断条件(关系表达式)2;控制条件3){
                                循环体4;
                        }
                执行顺序:
                        第一次:1-->2(如果值是true,程序继续执行4,如果是false,循环结束)-->4-->3
                        第二次:2-->4-->3
                        .....
                        倒数第二次:2-->4-->3
                        最后一次:2
                        判断条件永远比控制条件多执行一次。
                需求:在控制台输出数据1-10。完成后思考怎么输出10-1
                //完成后思考怎么输出10-1
                for(int i=10; i>=1; i--){
                        sop(i);
                }
               
                for(int i=1; i<=10; i++){   
                        //直接输出i:  1,2,3,4,5
                        sop(11-i);
                }

                需求:求1-10之间数据之和。(5-7分钟)
                思考:求1-100之间的偶数和,应该怎么做?奇数和,又应该怎么求呢?
                需求:在控制台输出所有的”水仙花数”(100-999之间的数字)
                153 = 1^3 + 5^3 + 3^3  = 1 + 125 + 27 = 153
                        ge  = 153 /1 %10 = 3;
                        shi = 153 /10 %10 = 5;
                        bai = 153 /100 %10 = 1;
                公式:
                        想求哪个位置的值,就用 数据除以10的权次幂,再跟10取余数。



        while语句
                格式:
                        初始化表达式;
                        while(判断条件){  int x = 1 ;  x<=100;
                                循环体;
                                控制条件;
                        }
                思考:1-100之间的和用while循环怎么做。

        do..while语句
                格式:
                        初始化表达式;
                        do {
                                循环体;
                                控制条件;
                        }while(判断条件)

                执行顺序:
                        A:先走初始化表达式。
                        B:执行循环体,然后在执行判断条件,如果判断条件是false,循环结束,如果是true,循环继续。

break和continue有什么区别?
        break:可以用于循环或者switch语句,是用来终止循环(或者switch语句)的,循环不在执行。
        continue:只能用于循环中。用来终止本次循环,继续下一次循环。
        return:用来结束方法。

这三种循环之间有什么区别?
        do..while和其他两个循环有什么区别?
                do..while至少执行一次,其他两个循环是先执行判断条件,然后再决定是否执行。
        for和其他两个循环的区别:
                for循环执行结束后,初始化条件就被释放掉了,我们就不能用了。
                而其他两个循环,即使循环结束了,初始化条件仍然可以使用。
我们使用哪个循环呢?
        看需求。如果什么都不知道,就用for(1、循环结束就释放变量,效率高。 2、控制条件是再带的,我们不会忘了写)
        如果循环次数是已知的,就用for。如果循环次数不固定,推荐使用while。
        开发中,如果需要使用死循环,一般是while多一点。
        思路:
                求和的思路。
                        A:定义一个记录变量。
                        B:累加即可。
                        int sum = 0;
                        for(int i = 1; i<=100; i++){
                                if(i%2==0){
                                        //sum = sum + i;
                                        sum+=i;
                                }
                        }
                统计思想:
                        定义一个计数器,当条件满足的时候,计数器次数+1.
                循环嵌套:
                        外循环控制的是行数,内循环控制的是列数。

                打印正三角形和倒三角形:
                        正三角形:相对于打印矩形来说,改一下判断条件就可以了。
                        倒三角形:相对于打印矩形来说,改一下初始化条件就可以了

                        中午作业:
                                1、打印一个5行6列的*。
                                        for(int x=1; x<=5; x++){
                                                for(int y=1; y<=x; y++){
                                                        System.out.print("*");
                                                        break;
                                                }
                                                System.out.println();
                                        }
                                2、用for和while分别各做一般 求1-100之间的偶数和。
                                       
                                       
                                有时间的同学,思考下:下面的这两个图形,分别应该怎么打印。
                                        图形1:
                                                *
                                                **
                                                ***
                                                ****
                                                *****
                                        图形2:
                                                *****
                                                ****
                                                ***
                                                **
                                                *
                                                for(int x=1; x<=5; x++){
                                                        for(int y=x; y<=5; y++){
                                                                System.out.print("*");
                                                        }
                                                        System.out.println();
                                                }

                                                /*
                                                        第一次:*****
                                                        第二次:****
                                                                  :***
                                                                        **
                                                                        *
                                                */
       

                for(int x=1; x<=10; x++) {
                                    if(x%3==0) {
                                            //在此处填写代码
                            }
                            System.out.println(“Java基础班”);
                }
               
                我想在控制台输出2次:“Java基础班“
                我想在控制台输出7次:“Java基础班“
                我想在控制台输出13次:“Java基础班“       






-------------------------------------------------------
方法:
        格式:       
                修饰符 返回值的数据类型 方法名(形参的数据类型 形参1,形参的数据类型 形参2){
                        方法体;     //要执行的代码
                }
        如何定义一个方法:
                A:明确返回值类型。
                B:明确参数列表。
        注意:
                1、方法只要被调用才会执行。
                2、方法与方法之间是平级关系。
有具体返回值的方法的调用:
        单独调用:
        输出调用:
        赋值调用:推荐使用。

没有返回值的方法的调用:
        返回值的数据类型写:void
        单独调用

方法重载的:
        在同一个类中,方法名相同,参数列表不同(个数,数据类型)得情况就叫方法重载,和返回值的数据类型无关。









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