zoukankan      html  css  js  c++  java
  • 20165231 2017-2018-2 《Java程序设计》第3周学习总结

    教材学习内容总结

    • 对象(Object):存在的具体实体,具有明确的状态和行为

    • 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

    • 从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

    • 从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

    • 类是对象的设计图,对象是类的实例,生成对象要先定义类。

    • 类成员变量整个类中有效,局部变量仅在方法中有效。

    • 局部变量的名字与成员变量的名字相同时,成员变量被隐藏。

    • 成员变量有默认值,局部变量没有,所以使用局部变量前需要先需要声明其值。(注:声明与赋值不等价 int a=12;不等于int a; a=12;)

    • 在一个程序功能中有多个类class复合调用时,编译后运行应当运行有main函数的那一个类,别的类可能看似行数很多,但是只是作为主程序中的一个方法不能单独运行。例如教材代码:

    SingGame.java

    public class SingGame {
      public static void main (String args[]) {
        Line line=new Line();
        line.givePersonScore();
      }
    }
    

    InputScore.java

    import java.util.Scanner;
    public class InputScore {
      DelScore del;
      InputScore(DelScore del) {
        this.del=del;
      }
      public void inputScore(){
        System.out.println("请输入评委数:");
        Scanner read=new Scanner(System.in);
        int count = read.nextInt();
        System.out.println("请输入评委的分数:");
        double []a =new double[count];
        for(int i=0;i<count;i++){
          a[i]=read.nextDouble();
        }
        del.doDelete(a);
      }
    }
    

    DelScore.java

    public class DelScore {
      ComputerAver computer;
      DelScore(ComputerAver computer) {
        this.computer=computer;
      }
      public void doDelete(double [] a) {
        java.util.Arrays.sort(a);
        System.out.print("去掉一个最高分:"+a[a.length-1]+",");
        System.out.print("去掉一个最低分:"+a[0]+"。");
        double b[] =new double[a.length-2];
        for(int i=1;i<a.length-1;i++) {
          b[i-1]=a[i];
        }
          computer.giveAver(b);
        }
      }
    

    ComputerAver.java

    public class ComputerAver {
      public void giveAver(double [] b) {
        double sum=0;
        for(int i=0;i<b.length;i++){
          sum=sum+b[i];
        }
        double aver=sum/b.length;
        System.out.println("选手的最后得分:"+aver);
      }
    }
    

    Line.java

    public class Line {
      InputScore one;
      DelScore two;
      ComputerAver three;
      Line(){
        three = new ComputerAver();
        two=new DelScore(three);
        one=new InputScore(two);
      }
      public void givePersonScore() {
        one.inputScore();
      }
    }
    

    此时有五个类文件,编译通过后应当运行SingGame

    代码调试中的问题和解决过程

    问题:不在一个程序中的多个类相互调用时,想要通过一条命令让位于src下的多个代码编译后自动放入bin文件夹中,会提示错误找不到符号。

    代码问题1

    解决方法:新建一个文件夹将此程序所有类放入,然后通过命令编译该文件夹所有.java文件。

    代码问题2

    代码托管

    代码量

    感悟

    学习至第四章,发现渐渐开始有些难度了,也算是正式开始步入Java程序设计的。对象,方法等内容也是一般java程序必不可少的设计内容,勤加练习多打代码,会渐渐了解其套路,从而理解其使用。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/4 10/10
    第二周 300/500 1/5 10/20
    第三周 800/1300 1/6 20/40
    第四周
    • 计划学习时间:20小时

    • 实际学习时间:20小时

    • 改进情况:
      多敲代码

    参考资料

  • 相关阅读:
    Wireshark——工具
    Wireshark——网络协议
    Wireshark——过滤器
    Wireshark——数据包、着色规则和提示
    Floyd最小环
    有向环覆盖问题
    KM算法
    归并排序
    树状数组
    构造强连通图
  • 原文地址:https://www.cnblogs.com/Yhooyon/p/8595107.html
Copyright © 2011-2022 走看看