CS61B sp2018笔记
本专栏将记录参加公开课UCB CS61B sp2018的过程,总结每节课的笔记或是有挑战性的proj
隐秀_
更多精彩 seriouszyx[dot]com
展开
-
CS61B sp2018笔记 | Introduction to Java
Introduction to JavaEssentials1. Reading1.1 Hello World 这门课程虽然是用Java教授数据结构,但重点不在Java语法本身,所以最开始只是简单的讲了一些Java的要点: The program consists of a class declaration, which is declared ...原创 2018-07-21 22:18:55 · 3842 阅读 · 3 评论 -
CS61B sp2018笔记 | Lists
Lists1. IntLists 下面我们来一步一步的实现List类,首先你可以实现一个最简单的版本:public class IntList { public int first; public IntList rest; public IntList(int f, IntList r) { first = f;...原创 2018-07-22 11:16:00 · 6970 阅读 · 1 评论 -
CS61B sp2018笔记 | Testing and Selection Sort
调试程序可以说是最能体现程序员水平的能力之一了,接下来我们将讨论如何写test来保证你的程序的正确性,与此同时我们将讨论一种比较算法——选择排序。1. Ad Hoc Testing 在写sort类之前,我们先来设想并实现TestSort类。public class TestSort { /** Tests the sort method of the Sort c...原创 2018-07-25 20:57:31 · 709 阅读 · 0 评论 -
CS61B sp2018笔记 | Inheritance, Implements
1. Intro and iterfaces1.1 The Problem 回想我们之前写过的两个类SLList和AList,如果你仔细观看它们的文档的话,会发现他们非常相似,事实上,他们支持的所有方法全都一样。 下面我们来设计一个类WordUtils,它包含了一些可以处理一系列字符串的方法,其中的一个方法是找到SLList中最长的字符串,下面是这个方法的实现:...原创 2018-07-27 21:32:50 · 587 阅读 · 0 评论 -
CS61B sp2018笔记 | Generics and Autoboxing
1. Automatic Conversions1.1 Autoboxing and UnboxingJava中的泛型用到了<>,当我们实例化一个泛型的时候,必须要指明一个确定的类型。回忆一下,Java有8中基本类型,其他所有的类型都是引用类型。Java的一个特点就是不能把基础类型当作参数传递给泛型,比如说,ArrayDeque<int>是一个语法错误,正确...原创 2018-07-29 15:57:00 · 749 阅读 · 0 评论 -
CS61B sp2018笔记 | Exceptions, Iterators, Iterables
1. Throwing and catching1.1 Throwing Exceptions在程序运行过程中,可能会遇到某些错误需要终止,这时程序就会抛出一个异常。让我们看看一个常见的情况——IndexOutOfBounds异常。下面的程序向ArrayMap中插入value为5,key为”hello”的一组数据,试图获取key为”yolp”的value:public st...原创 2018-08-31 08:13:36 · 394 阅读 · 0 评论