您的位置:首页 > 其它

SC课堂笔记

2018-03-14 08:33 169 查看
3-1
抽象数据类型的好处:将存储和操作分开。
写程序的时候要符合变量命名要求

数据类型对比



String a="ssd";
String b=a;b并没有获得a的引用,所以a和b是独立的.

java实现层次性的方式:继承 实现
Boxed primitives: Boolean,Integer。。。。万不得已不要用

java有操作符类型的重载,如两个字符串相加,但是不允许用户定义操作符重载.
类型检查:java在编译阶段就开始进行类型检查.
1.静态检查
2.动态检查
另一个不可变性:final,final指的是变量的值不可改变,或者引用不可改变,这就意味着例如List的添加操作这种不会改变引用的操作是可以进行的.final int n=5;

n=6;//错误

final List a=[1,2];

final List b=[2,3];

a=b;//错误

a.add(3);//正确对final总结:{
final 修饰方法,方法不可以被重写
final修饰类,类不能被继承
final修饰的成员变量在构造函数中可以改变
}
snapshot diagram


immutable传递变量的时候传递的是值,而mutable传递的是引用。为了安全要尽量多用immutable。

集合框架存储的是对象数据类型
null不允许赋值给基本数据类型,可以给对象数据类型
尽量不用null
Map的get()失败的时候返回null

3-2 规约
    precondition 前置条件 postcondition 后置条件 

public class Hailstone {
/**
* Compute a hailstone sequence.
* @param n Starting number for sequence. Assumes n > 0.
* @return hailstone sequence starting with n and ending with 1.
*/
public static List<Integer> hailstoneSequence(int n) {
List<Integer> list = new ArrayList<Integer>();
while (n != 1) {
list.add(n);
if (n % 2 == 0) {
n = n / 2;
} else {
n = 3 * n + 1;
}
}
list.add(n);
return list;
}
}`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: