• 20145118 《Java程序设计》第5周学习总结 教材学习内容总结


    20145118 《Java程序设计》第5周学习总结

    教材学习内容总结

    1.Java中所有错误都会被打包成对象,可以通过try、catch语法对错误对象作处理,先执行try,如果出错则跳出并与catch中比较,一致则执行catch。

    package cc.openhome;
    
    import java.util.*;
    
    public class Average2 {
       public static void main(String[] args) {
           try {
               Scanner console = new Scanner(System.in);
               double sum = 0;
               int count = 0;
               while (true) {
                   int number = console.nextInt();
                   if (number == 0) {
                       break;
                   }
                   sum += number;
                   count++;
               }
               System.out.printf("平均 %.2f%n", sum / count);
            }catch (InputMismatchException ex) {
               System.out.println("必须输入整数");
            }
       }
    }
    

    2.错误对象继承自java.lang.Throwable类,都是可抛出的,该类中有java.lang.Errer与java.lang.Exception两个子类.Error代表严重系统错误,Exception代表程序设计本身的错误.

    3.在语法与继承架构上来说,如果抛出了Throwable或子类实例,只可能有两种处理方式:属于java.lang.Throwable类和使用try catch语法处理.

    4.受检异常:编译程序检查出错误后发现客户端有能力处理错误,要求明确处理不然不可通过编译.非受检异常:编译程序不会强迫一定得在语法上加以处理.

    5."\d*"是规则表达式,表示检查字符串中的字符是不是数字.如

    static int nextInt() {
       String input = console.next();
       while(!input.matches("\\d*")) {
           System.out.println("请输入数字");
           input = console.next();
       }
       return Integer.parseInt(input);
      }
    

    6.操作对象的过程中如果会抛出受检异常,但目前环境信息不足以处理异常,无法使用try catch处理时,可由方法的客户端依据当时调用的环境信息进行处理.

    7.throws声明和throw的区别!!同时注意,在使用throw重抛异常时,异常的追踪堆栈起点仍是发声根源,使用fillInStackTrace()可以将起点设为重抛异常的地方.

    8.finally语句作用:无论try区块中有无异常,只要出现finally,finally所在区块一定会被执行.

    9.catch括号中列出的异常不得有继承关系,否则会发生编译错误.

    10.Collection用于收集对象,并按照需求使用不同的接口操作对象.

    11.内容不重复的set例子:

    package cc.openhome;
    
    import java.util.*;
    
    public class WordCount {
        public static void main(String[] args) {
            Scanner console = new Scanner(System.in);
    
            System.out.print("请输入英文: ");
            Set words = tokenSet (console.nextLine());
            System.out.printf("不重复单字有 %d 个: %s%n", words.size(), words);
        }
        static Set tokenSet(String line) {
            String tokens = line.split(" ");
            return new HashSet(Arrays.asList(tokens));
        }
    }
    

    12.使用Collection收集对象时,内部操作都是使用Object类型,所以取回对象时必须自定义对象类型

    13.泛型语法是说运用时没有指定类型参数实际类型,可通过设计API指定类或方法支持泛型.符号为 (角括号中的字母可随喜好更换)

    13.常用的Map操作类有HashMap,TreeMap和Properties。

    教材学习中的问题和解决过程

    这一周学习内容相比上周在我看来更有难度,与之前的衔接更小,还出现了一些新的没有接触过的名词等等,但和数据结构这门课结合起来,就好容易理解一些了.如书上说的链式结构,在数据结构中已有涉及。

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

    在敲书上介绍LinkedList特性部分的代码时,由于不够仔细,理所当然的把o考虑成字符串类型,开始定义时没有严格的按照书上的代码上走,可后半部分又按照书上定义的object来写,导致出现编译错误.是自己不够认真的结果.

    本周代码托管截图

    其他(感悟、思考等,可选)

    现在的自己还处于学习java的初级阶段,更重要的是借鉴好的代码找感觉,尤其在敲书上的代码时要带着脑袋敲,不能只为了完成任务不够仔细出现差错或者不去思考,手脑并用才能有好的效果.

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积 学习时间(新增/累积) 重要成长
    目标 5000行 20篇 200小时
    第一周 100/100 1/1 7/10
    第二周 100/100 1/1 7/10
    第三周 120/100 1/1 9/10
    第四周 200/200 1/1 7/10
    第五周 300/200 1/1 9/10

    参考资料

  • 相关阅读:
    【算法设计与分析基础】8、背包问题
    【算法设计与分析基础】8、穷举 旅行商问题
    【算法设计与分析基础】7、蛮力求平面中距离最近的两点
    【算法设计与分析基础】6、蛮力字符匹配
    【算法设计与分析基础】5、冒泡排序与选择排序
    【算法设计与分析基础】4、伪随机数
    【算法设计与分析基础】3、斐波拉契数列
    【算法设计与分析基础】2、矩阵相乘
    【算法设计与分析基础】1、埃拉托色尼筛选法
    【JAVA并发编程实战】12、使用condition实现多线程下的有界缓存先进先出队列
  • 原文地址:https://www.cnblogs.com/cy1123/p/5351167.html
Copyright © 2020-2023  润新知