黑马程序员技术交流社区

标题: 分享一下今天所学的循环语句 及其 函数的定义和用法 [打印本页]

作者: liuguodong    时间: 2015-8-24 22:38
标题: 分享一下今天所学的循环语句 及其 函数的定义和用法
1:for循环的格式?要能看懂执行流程。
  用for循环完成如下案例
  
  求和
  class Sum {    //求1-100的和
          public static void main(String[] args) {
                        int sum = 0;
                        for(int i = 1; i <= 100; i++) {
                                sum += i;
                        }
                        System.out.println("sum = "+sum);
          }
  }
  求偶数和
  class Sum_OShu {  //求1-100偶数的和
          public static void main(String [] args) {
                        int sum = 0;
                        for(int i = 1; i <= 100; i++) {
                                if(i % 2 == 0) {
                                        sum += i;
                                }
                        }
                        System.out.println("sum = "+sum);
          }
  }
  求奇数和
class Sum_OShu {  //求1-100基数的和
          public static void main(String [] args) {
                        int sum = 0;
                        for(int i = 1; i <= 100; i++) {
                                if(i % 2 == 1) {
                                        sum += i;
                                }
                        }
                        System.out.println("sum = "+sum);
          }
  }
  打印水仙花数
  class Print_ShuiXianHua {
          public static void main(String [] args) {
                        for(int x = 1;x <= 9;x++)
                                for(int y = 0;y <= 9; y++)
                                        for(int z = 0; z <= 9; z++) {
                                                if(x*x*x+y*y*y+z*z*z == x*100+y*10+z) {
                                                        System.out.println(x*100+y*10+z);
                                                }
                                        }
          }
  }
  统计水仙花数
class Count_ShuiXianHua {
          public static void main(String [] args) {
                int count = 0;
                for(int x = 1;x <= 9;x++)
                        for(int y = 0;y <= 9; y++)
                                for(int z = 0; z <= 9; z++) {
                                        if(x*x*x+y*y*y+z*z*z == x*100+y*10+z) {
                                                count++;
                                        }
                                }
                System.out.println("count = "+ count);
          }
  }

  九九乘法表
  class Print_99 {
          public static void main(String [] args) {
                for(int i = 1; i <= 9;i++) {
                        for(int j = 1; j <= i;j++) {
                                System.out.print(j+" * "+i+" = "+j*i+"\t");
                        }
                        System.out.println();
                }
          }
  }

2:while循环的格式?要能看懂执行流程
  用while循环完成如下案例
  
  求和
  class Sum { //求1-100的和
            public static void main(String [] args) {
                        int i = 1;
                        int sum = 0;
                        while (i<=100) {
                                sum += i;
                                i++;
                        }
                        System.out.println("sum = "+ sum);
                  }
          }
  纸张折叠成珠穆朗玛峰高度的次数  8848  0.01
class ZhuMuLangMa_Count {
        public static void main(String [] args) {
                int count = 0;
                double x = 0.01;
                while (x <= 8848) {
                        x *= 2;
                        count++;
                }
                System.out.println("count = "+ count)
        }
}
3:break,continue和return分别有什么用?
        break:break可以用在循环结构或者switch-case结构中,在循环结构中用于跳出循环(在嵌套循环中可以设定标号 使用break 标号;语句确定跳出哪层循环);在switch语句中用于结束switch语句.
        continue:只能用在循环语句中,其作用是当代码执行到continue时结束本次循环开始下一次循环.
        return:return用于结束方法.当遇到return时整个方法将结束.
4:函数的概念?函数的格式?格式的解释说明
        函数的概念: 完成特定功能的代码块
        函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1,参数类型 参数2) {
                方法体语句;
                return 返回值;
        }
        * 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
        * 返回值类型:就是功能结果的数据类型。
        * 方法名:符合命名规则即可。方便我们的调用。
        * 参数:
                * 实际参数:就是实际参与运算的。
                * 形式参数;就是方法定义上的,用于接收实际参数的。
        * 参数类型:就是参数的数据类型
        * 参数名:就是变量名
        * 方法体语句:就是完成功能的代码。
        * return:结束方法的。
        * 返回值:就是功能的结果,由return带给调用者。

5:函数的调用
        A:明确返回值类型的函数调用
        单独调用:没意义,一般不推荐;
        输出调用:不够好,因为我们可能需要针对结果进行进一步的操作。
        赋值调用:将返回值赋值给一个相同数据类型的变量.
        B:void类型的函数调用
        单独调用;不支持输出调用和赋值调用.
       
6:函数的练习:
        A:求两个数据之和
        class Sum {
                public static void main(String [] agrs) {
                        int sum =  get(5,7);
                        System.out.println("sum = "+sum);
                }
                public static int getSum(int a,int b) {
                        int sum = a + b;
                        return sum ;
                }
        }
        B:判断两个数据是否相等
        class IsEquals {
                public static void main(String [] agrs) {
                        boolean b =  isEquals(5,7);
                        System.out.println(b);
                }
                public static boolean isEquals(int a,int b) {
                        double b = a == b;
                        return b ;
                }
        }
        C:获取两个数中较大的值
        class Max_Numb {
                public static void main(String [] agrs) {
                        int max =  getMax(5,7);
                        System.out.println(max);
                }
                public static int getMax(int a,int b) {
                        int max = (a>b)?a:b;
                        return max ;
                }
        }
        D:打印m行n列的星形矩形
        class Print_Star {
                public static void main(String[] args) {
                        print_Star(5,6);
                }
                public static void print_Star(int a,int b) {
                        for(int i = 0; i < a; i++ ) {
                                for(int j = 0; j < b; j++) {
                                        System.out.print("*");
                                }
                                System.out.println();
                        }
                }
        }
        E:打印nn乘法表
        import java.util.Scanner;
        class Print_nnBiao {
                public static void main(String [] args) {
                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入打印的乘法表的范围");
                        int a = sc.nextInt();
                        print_nnBiao(a);
                }
                public static void print_nnBiao(int a) {
                        for(int i = 1; i <= a; i++) {
                                for(int j = 1; j <= i;j++) {
                                        System.out.print(j+" * "+i+" = "+j*i+"\t");
                                }
                        }
                        System.out.println();
                }
        }

7:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可
        在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
        class Test_OverLode {
                public static void main(String[] agrs) {
                        int a = add(5,8);
                        int b = add(3,5,9);
                        double c = add(3.9,5,8.0);
                        System.out.println(a);
                        System.out.println(b);
                        System.out.println(c);
                }
                public static int add(int a,int b) {
                        int sum = a + b;
                        return sum;
                }
                public static int add(int a,int b,int c) {
                        int sum = a + b + c;
                        return sum;
                }
                public static double add(double a,int b,double c) {
                        double sum = a + b + c;
                        return sum;
                }
        }




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