如果抛出的是受检异常,认为客户端有能力且应处理异常,在方法上必须使用throws声明;如果抛出的是非受检异常,表示你认为客户端调用方法的时机出错,不使用throws声明。
如何使用断言 断言客户端调用方法前,已经准备好某些前置条件(通常在private方法中)断言客户端调用方法后,具有方法承诺的结果断言对象某个时间点下的状态使用断言取代批注断言程序流程中绝对不会执行到的程序代码部分 assert value : "输出的内容"; /*类似if的判断形式,但不是程序执行流程的一部分。*/收集对象的行为,比如新增对象的add()方法,移除对象的remove()方法,都定义在java.util.Collection中。
Queue:如果希望收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,则可以使用Queue接口的操作对象。 Queue与Deque等义方法 Queue方法Deque等义方法add()addLast()offer()offeLast()remove()removeFirst()poll()pollFirst()element()getFirst()peek()peekFirst() Lambda表达式: IntegerFunction doubleFunction=(Integer i)->i*2;等同于
IntegerFunction doubleFunction=new IntegerFunction(){ public Integer apply(Integer i){ return i*2; } } 程序设计中有根据关键字找对应数据的要求,利用java.util.Map接口的操作对象来建立键值对应数据,之后若要取值,用对应键可以迅速取得。 Map设计架构:问题1:书上代码中last应该是Node类,而Node类中并没有elem成员。
问题1解决方案:把elem成员名改成o。
问题2:throw与throws都是什么意思?问题2解决方案:throw用于函数体中,抛出一个异常。程序在throw语句后立即终止,不执行throw后面的程序块。而throws用于一个函数头中,用来标明该成员函数可能抛出的各种异常
throw <异常对象> [<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]问题1:运行时还是出现了类似Average的报错:
问题1解决方案:仔细对比书上的代码发现书上写的是next()不是我写的nextInt(),于是我上网搜索了一下next()和nextInt()两者的区别:
next()只读空格之前的数据,将用户输入的下一个字符串剖析为int值 nextInt()读取整行内容改正后程序正常运行。
与20155313杨 瀚同学结对。
基于评分标准,我给本博客打分:8分。得分情况如下: 正确使用Markdown语法:加1分模板中的要素齐全:加1分代码调试中的问题和解决过程:加1分感想,体会不假大空的加1分进度条中记录学习时间与改进情况的加1分排版精美:加1分有动手写新代码:加1分错题学习深入的加1分这一周我的学习重点放在了第八章的错误处理,就像书上说的一样,Java是唯一可以处理错误的语言,我觉得比c等语言好得多,可以提前预知并且处理错误。由于之前学习过C语言,在Java学习过程中,编程时我所思考的都是c的语言,对比着敲出Java的代码,虽然因此感觉Java变得没那么难以理解,但是也不知道c留给我的刻板印象是不是会限制我的思路,希望以后多练习,能够以学习Java的主要思维设计程序。
计划学习时间:14小时
实际学习时间:16小时改进情况:本来计划工作日期间每天半小时-一小时,但有的晚上有选修,所以周末多学一会弥补一下。
Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导
next()和nextInt()以及nextLine()的区别
转载于:https://www.cnblogs.com/zhuohua/p/6623952.html
