黑马程序员技术交流社区

标题: 虾仁儿每日一贴---day03复习笔记与习题 [打印本页]

作者: 西葫芦虾仁    时间: 2016-1-20 21:38
标题: 虾仁儿每日一贴---day03复习笔记与习题
1:for循环的格式?要能看懂执行流程。
  用for循环完成如下案例
  
格式:for (初始化表达式;条件表达式 ;操作表达式 ) {
        循环体;
}
执行流程:
a:初始化语句
b:执行条件判断语句
                        1:如果结果为ture,继续执行
                        2:如果结果为false,结束循环
c:执行循环语句
d:执行操作表达式
e:回到b继续

  求和
  比如求1~10所有数的和
  int sum = 0;
  for (int x = 1;x<=10 ;x++ ) {
          sum+=x;
  }
  System.out.println(sum);
  
  求偶数和
  int sum = 0;
  for (int x=1;x<=10 ;x++ ) {
          if (x%2==0) {
                  sum+=x;
          }else{
                        continue;
                  }
  }
System.out.println(sum);
  求奇数和

  int sum = 0;
  for (int x=1;x<=10 ;x++ ) {
          if (x%2==1) {
                  sum+=x;
          }else{
                continue;
          }
  }
  System.out.println(sum);
  打印水仙花数\  合一块儿做了
  统计水仙花数/

方法一:
int count = 0;
for (int x = 100;x<1000 ;x++ ) {
        if ((x%10)*(x%10)*(x%10)+(x/10%10)*(x/10%10)*(x/10%10)+(x/100)*(x/100)*(x/100)==x) {
                System.out.println(x);
                count+=1;
        }
}
System.out.println(count);

方法二:
int count = 0;
for (int x = 100;x<1000 ;x++ ) {
        int g = x/1%10;
        int s = x/10%10;
        int b = x/100%10;
        if (g*g*g+s*s*s+b*b*b=x) {
                System.out.println(x);
                count++;
        }
}
System.out.println(count);


  九九乘法表:利用循环嵌套(外层控制行数,内层控制列数)
  for (int i = 1;i<=9 ;i++ ) {
          for (int j = 1;j<=i ;j++ ) {
                  System.out.print(j+"*"+i+"= "+i*j+"\t");
          }
          System.out.println();//换行
  }

  


2:while循环的格式?要能看懂执行流程

完整格式:
初始化语句;
while (判断条件语句) {
        循环体语句;
        控制条件语句;
}

执行流程:
a:执行初始化语句;
b:执行判断条件语句
                1:如果结果为ture,继续执行
                2:如果结果为false,就结束循环
c:执行循环体语句;
d:执行控制条件语句;
e:回到b继续

  用while循环完成如下案例
  
  求和
  纸张折叠成珠穆朗玛峰高度的次数  纸张厚度 0.001m  珠峰高度8848m 都用毫米做单位纸张厚1mm 珠峰高度8848000mm
int count = 0,high = 1;
while (high<=8848000) {
        high+=high;
        count++;
}
System.out.println(count);
       

3:break,continue和return分别有什么用?
break:跳出循环
        只能在swith和loop中使用;
continue:终止本次循环,继续下一次循环
        只能在循环中使用
return:用来结束函数(方法)

4:函数的概念?函数的格式?格式的解释说明

函数(Method):具备特殊功能,作用的代码块
格式:
权限修饰符  返回值类型  方法名(参数类型 参数名1,参数类型 参数名2...){
方法体语句;
return 返回值(返回值类型和方法返回值类型一致)
}

定义一个方法的步骤:
a:明确返回值类型;
b:明确参数列表;

5:函数的调用
        A:明确返回值类型的函数调用
                单独调用:一般来说没有意义,所以不推荐
                输出调用:不够好,如果需要对结果进一步操作的话,不合适
                赋值调用:推荐方案
                        例如:
                                int sum = sum(34,42);
                                System.out.println(sum);
        B:void类型的函数调用 (没有返回值的方法void可以省略?)
                只允许单独调用,输出和赋值调用都是错的
                空参数函数中自带return 的 狗带,所以可以省略.
       
6:函数的练习:
        A:求两个数据之和
        int sum = sum(23,42);
        System.out.println(sum);
        public static int sum(int a,int b){
        return a+b;
        }
        B:判断两个数据是否相等
        boolean b = isEquals(234,532);
        System.out.println(b);
        public static boolean isEquals(int a,int b){
        return a==b;
        }

        C:获取两个数中较大的值
        int max = getMax(23,5325);
        System.out.println(max);
        public static int getMax(int a ,int b){
        return a>b?a:b;
        }
        D:打印m行n列的星形矩形

        for (int i =1;i<=m ;i++ ) {
                for (int j = 1 ;j<=n ;j++ ) {
                        System.out.print("* ");
                }
                System.out.println();
        }
        E:打印nn乘法表
        for (int i = 1;i<=n ;i++ ) {
                for (int j = 1;j<=i ;j++ ) {
                        System.out.print(j+"*"+i+"="+j*i+"\t");
                }
                System.out.println();
        }

7:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可
函数重载:在同一个类中,方法名相同,参数列表不同,与返回值类型无关
参数列表不同
                a:参数个数不同;
                b:参数的顺序不同(算重载,但是开发中不用)
                c:参数类型不同

例:
int sum1 = sum(20,42);
double sum2 = sum(34.2,532);
int sum3 = sum(324,5,2);

public static int sum(int a,int b){
        return a+b;
}
public static double sum(double a,int b){
        return a+b;
}public static int sum(int a,int b,int c){
        return a+b+c;
}




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