zoukankan      html  css  js  c++  java
  • 《Java程序设计》第5周学习总结

    教材学习内容总结

    第八章

    • Java异常处理是要处理Exception类及其子类(Checked Exception),RuntimeException及其子类也不用处理(Unchecked Exception)

    • Multi-catch:类之间不能有继承关系

    • catch or throw?

      throws:自己无法处理,用在方法声明,方法中抛出Checked Exception,方法声明中必须有throws。

    • try、catch语法
      使用了try、catch语法,JVM会尝试执行try区块中的程序代码,如果发生错误,执行程序会跳离错误发生点,然后比对catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是的话就执行catch区块中的程序代码。

      无论try区块中有无发生异常,若撰写有finally区块,finally区块一定会被执行,如果程序撰写流程先return了,而且也有finally区块,finally区块会先执行完后,再将值返回。
      应用举例:
      import java.util.*;

    public class Average3 {

    public static void main(String[] args) {
    
        Scanner console = new Scanner(System.in);
    
        double sum = 0;
    
        int count = 0;
    
        while (true) {
    
            try {
    
                int number = console.nextInt();
    
                if (number == 0) {
    
                    break;
    
                }
    
                sum += number;
    
                count++;
    
            } catch (InputMismatchException ex) {
    
                System.out.printf("略过非整数输" + ":%s%n", console.next());
    
            }
    
        }
    
        System.out.printf("平均 %.2f%n", sum / count);
    
    }

    }

    • Throwable
      Throwable定义了取得错误信息、堆栈跟踪等方法,它有两个子类:java.lang.Error与java.lang.Exception.

    第九章

    • 收集对象的行为,像是新增对象的add()方法,移除对象的remove()方法等,都是定义在java.util.Collection中;java.lang.Iterable定义了iterator()方法返回java.util.Iterator操作对象,可以让你逐一取得收集的对象。

    • java中判断对象是否重复时,都会调用hashCode()与equals()方法,两个方法必须同时操作。

    -若收集对象经常会有变动索引的情况,考虑连接方式操作的List会比较好。

    • 一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的值,通常称为属性名称与属性值。

    -Map没有继承Iterable,有个forEach()方法是定义在Map接口上,可使用这个方法结合Lambda表达式,在迭代键与值时获得不错的可读性。
    应用举例:

    import java.util.*;
    public class Messages3 {
    public static void main(String[] args) {
        Map<String, String> messages = new TreeMap<>((s1, s2) -> -s1.compareTo(s2));
        messages.put("Justin", "Hello!Justin讯息!");
        messages.put("Monica", "给Monica的悄悄话!");
        messages.put("Irene", "Irene的可爱猫喵喵叫!");
        System.out.println(messages);
    }

    }

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

    问题:Map键值是个什么概念,好抽象
    解决:a=100a:键100:值应该叫:键值对。另外,map 中的键值可以是任何类型的。
    Map获取键值
    Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。
    Map的接口
    Map---实现Map
    Map.Entry--Map的内部类,描述Map中的按键/数值对。
    SortedMap---扩展Map,使按键保持升序排列

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

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

  • 相关阅读:
    2003远程桌面不能粘贴文本的解决办法
    23号
    自定义鼠标外形
    自定义鼠标外形2.0
    hadoop与spark的处理技巧(四)推荐引擎处理技巧
    关于idea的一次踩坑记录Auto build completed with errors
    spark aggregate函数
    Spark aggregateByKey函数
    B/S与C/S的区别
    jmeter之_MD5函数与请求参数化
  • 原文地址:https://www.cnblogs.com/zym0728/p/5352432.html
Copyright © 2011-2022 走看看