03 2017 档案
摘要:【默认实参】 1、注意点:函数的默认实参可以在函数的声明中添加,但是后续声明只能添加默认参数而不能改变先前声明的默认参数。(函数的声明通常是定义在头文件上的,多次声明同一个函数是合法的) 2、默认实参必须为全局变量,但是允许在局部改变这些变量的值,如果在局部重新声明将作为默认实参的变量,将不会有任何
阅读全文
摘要:因特网 网络核心 分组交换网中的时延、丢包和吞吐量 协议层次及其服务模型 面对攻击的网络 计算机网络和因特网的历史 小结(自己写的。。。) 【什么是因特网?】 具体构成描述 1、与因特网相连的设备被称作主机或者端系统。(host or end system) 2、连接这些设备的是通信链路和分组交换机
阅读全文
摘要:1、Then I would never talk to that person about boa constrictors, or primeval forests, or stars. I would bring myself down to his level. I would talk t
阅读全文
摘要:Chapter 1 Interesting read, but you can skip it. Chapter 2 2.1 Insertion Sort - To be honest you should probably know all major sorting algorithms, no
阅读全文
摘要:1、Despite her scruffy clothes, there was an air of sophistication about her. 尽管她衣衫褴褛,但神态老练世故。 2、 I had been disheartened by the failure of my Drawing
阅读全文
摘要:【函数重载】 Java中的重载一般是指重载构造器,或是子类覆写父类的方法;C++中的重载稍微复杂一些。 定义重载函数 典型的数据库应用。 判断两个形参类型是否相异 1、声明的时候省略形参和没省略是等价的。 2、起了类型别名也改变不了本质。 重载和const形参 1、一个拥有顶层const的形参无法和
阅读全文
摘要:1、Such expressions rather grate on me. 这种说法对我来说很刺耳。 2、smell有n.气味、vt.& vi.嗅的意思。而odour只有n.气味的含义,不能用作动词。 3、vi与vt。 vi(intransitive verb)表示不及物动词,intransiti
阅读全文
摘要:索引: java python c++ js 索引: java python c++ js 1、Java 2、Python 可以理解为将位置参数收集为一个叫做args的tuple,将关键字参数收集为一个叫做kw的dict。 PS. 位置参数、关键字参数应该是Python特有的... 3、C++ 4、
阅读全文
摘要:__slots__ @property 多重继承 定制类 枚举类 元类 【使用__slots__】 1、动态语言的一个特点就是允许给实例绑定任意的方法和变量,而静态语言(例如Java)必须事先将属性方法写进类里。 给实例绑定变量: 给实例绑定方法需要借助types模块的MethodType方法: 还
阅读全文
摘要:廖雪峰官网笔记 【类和实例】 1、在Java中,类决定了对象的属性和方法,和Java不同,Python允许对实例变量绑定任何数据,即同类的对象可能有不同的特征。 2、Python中的类长什么样? 3、Python中如何创建对象,调用方法: 【访问限制】 1、在Python中,设置私有变量的方法是se
阅读全文
摘要:廖雪峰教程笔记。 【使用模块有什么好处?】 1、使用模块可以避免函数名和变量名冲突。 2、大大提高了代码的可维护性。 【使用模块的注意点】 1、每一个.py文件就是一个模块。 2、每一个包目录下面必须有一个__init__.py。(标志这不是一个普通的目录!) 3、命名不能和Python自带的模块名
阅读全文
摘要:【无返回值函数】 1、在c++的void函数中,可以显式地使用return;语句来提前结束函数的调用。 【有返回值函数】 1、值是如何被返回的:返回一个值的方式和初始化一个变量或者形参的方式完全一样。 2、不要返回局部对象的引用或指针。 3、返回类类型的函数和调用运算符:调用运算符的优先级和点运算符
阅读全文
摘要:p187~p199: 【传值参数】 【传引用参数】 使用引用形参返回额外信息:传入一个(或者多个)额外的引用实参,令其保存字符出现的次数。 6.11 6.12 6.13 void f(T)中的T在调用函数的时候将拷贝实参的值,而voidd f(&T)中的T则是传入实参的临时别名。 6.14 感觉几乎
阅读全文
摘要:【用构造器确保初始化】 【方法重载】 涉及基本类型的重载 1、如果传入的数据类型小于方法中声明的形式参数类型:实际数据类型会被提升。 2、如果传入的数据类型大于方法中声明的形式参数类型:编译器报错,应该通过类型转换来执行窄化转换。 【默认构造器】 【this关键字】 1、不要画蛇添足!!!在必要的地
阅读全文
摘要:p46~p75: 【迭代】 1、Java不允许将数字作为布尔值用。 1、有点意思的小程序WhileTest。 【Foreach语法】 1、对细节关注过多就很容易丢掉主干、本质。 2、可读性就是:说明你在努力做什么,而不是给出你正在如何做的细节。
阅读全文
摘要:【懒惰即是美德】 抽象意味着良好的可读性:说明你在努力做什么,而不是给出你正在如何做的细节。 【抽象和结构】 程序应该是非常抽象的,就像“下载网页、计算频率、打印每个单词的频率”一样易懂。翻译成程序就是: 【创建函数】 记录函数 1、实例: 访问方式1:内建的help函数。 访问方式2:用hello
阅读全文
摘要:【装饰器】 1、最简单的Decorator。 把@log放到now()函数的定义处,相当于执行了语句:helloWorld = author(helloWorld)。 这个时候查看函数的名字会发现 2、稍微修改一下 将直接调用f();改为return f();执行效果是一样的,先打印author n
阅读全文
摘要:p186~p188: 函数声明1、函数只能定义一次,但是可以声明多次。 2、函数的接口:返回类型 + 函数名 + 形参类型 3、为什么要在头文件中进行函数声明???在源文件中定义?暂时理解到,这么做可以增强可读性。 4、含有函数声明的头文件应该被包含到定义函数的源文件中。(例如:#include "
阅读全文
摘要:闭包 1、注意:返回的函数内部不要使用后续会发生变化的变量。 例如这段代码感觉上应该返回三个函数分别return i+1、return i+2、return i+3(i为新函数参数),但事实却是得到了三个return i+3。 2、如果一定要得到return i+1、return i+2、retur
阅读全文
摘要:p182~p185: 函数1、在调用函数和执行return语句的同时,也发生了控制权的转移。 2、函数返回值不能是一个数组。(但是可以返回一个包含数组的对象,或者指向数组的指针) 3、重要概念:名字的作用域和对象的生命周期。 4、对象的生命周期分两种情况:一种是对象定义在函数体外部(包括main函数
阅读全文
摘要:filter sorted 1、可以作用于list(包括字符串、数字),返回排序好的list。 2、不传入key。 3、传入key。 返回函数 1、返回值函数的函数:传入函数的参数用于构造一个新的函数(这个函数的内部要使用到传入的参数),最后返回这个新构造的函数,一定程度上实现动态构造函数。
阅读全文
摘要:p172~p177:c++的try语句块和异常处理: 1、通常,与用户交互的代码和对象相加(底层的代码)是分离开的,异常由与用户交互的代码处理(底层代码抛出异常就可以了)。 2、C++的runtime_error和Java的有很大的不同!!! 3、编写异常安全的代码非常困难。 4、寻找处理代码的过程
阅读全文
摘要:p170~p172:跳转语句:1、break:对while for switch有效!2、continue:中断当前迭代,但是循环还要继续。因此对while for有效,对switch无效!3、goto:不要使用! 练习: 5.20 #include <iostream> #include <str
阅读全文
摘要:什么是 Java 中的字符串。1、在Java的世界里,字符串被作为String类型的对象处理。 2、通用的初始化的方式:String s = new String("i love you ");(也就是一般对象的创建方式) Java 的字符串具有不变性1、一旦创建一个例如String s = "he
阅读全文
摘要:p164~p170: 大致内容 迭代语句 1、while语句。 2、传统for。 3、范围for。两个注意点是:1- 通常使用auto来确保类型相容,2- 如果需要修改元素则需要使用&符(还可以避免拷贝元素)。 4、do while。两个特点:1- 条件部分不允许定义变量,2- 不管条件怎么样,都确
阅读全文
摘要:Java异常简介 1、Java异常的体系结构。万恶之源Throwable以及它的两个大儿子Mr.Error(程序终结者)和Mr.Exception(有大量儿子,包括不受查的RuntimeException和其他受查异常)。 2、其中RuntimeException由运行时自动抛出自动捕获,诸如数组越
阅读全文
摘要:p159~p164:switch语句1、例程:统计文本中五个元音字母出现的次数。(利用输入输出重定向测试) input.txt output.txt 2、case label必须整型常量表达式。 3、switch内部的控制流:如果没有break;将从该标签往后顺序执行所有的case分支。 4、def
阅读全文
摘要:个人记录贴。。。 代码过烂不宜参考。。 效果展示 1、选择需要打开的数据库,查看数据库下的表。 2、双击打开一个表 3、没有CRUD。。。。 代码 test-main: DBList: DBTable: DbTableModel: DataBase: db-config.properties:
阅读全文
摘要:Java 中的多态1、引用的多态:意思就是父类的句柄既可以持有本类的对象,也可以持有子类的对象。 2、方法的多态:注意点是当父类句柄持有子类对象的时候,无法调用子类特有的方法。 多态中的引用类型转换1、重写override的时候有个典型的向下转换,并且在转换之前执行了检查。 2、检查向下转换安全性的
阅读全文
摘要:Java 中的继承1、作用:代码复用。 2、语法:extends关键字。 3、注意点:私有(private)财产(methods、fields)不可继承。 Java 中的方法重写 Java 中的继承初始化顺序 1、摘:父类对象->属性初始化->构造方法->子类对象->属性初始化->构造方法。 2、其
阅读全文
摘要:P154~p159:语句1、通常情况下顺序执行。 2、C++提供一组控制流(flow-of-control)语句以支持更复杂的执行路径。 3、空语句的作用:语法上需要一条语句,但是逻辑上不需要。 注意:使用空语句时加上注释,提高可读性。 4、复合语句的作用:语法上需要一条语句,但是逻辑上需要多条语句
阅读全文
摘要:1、用filter求素数。 埃拉托色尼筛选法。 2、python中的lambda函数 lambda语句中,冒号前的是参数,可以有多个,用逗号隔开,冒号右边的是返回值。
阅读全文
摘要:p143~p151:其他隐式类型转换1、数组转换成指针,大多数表达式自动转换成指向数组首元素的指针。 2、指针的转换。 3、转换成布尔类型,例如在if (condition) 中。 4、转换成常量。 5、类类型定义的转换。 显式转换1、尽量避免强制类型转换,但有时候不得不使用强制类型转换。 2、格式
阅读全文
摘要:什么是java中的封装1、封装的概念:隐藏信息、隐藏具体的实现细节。 2、封装的实现步骤: 1)修改属性的可见性,private。2)创建修改器方法和访问器方法,getXXX/setXXX。(未必一定要写,可以完全隐藏起来,仅供内部使用 )3)对属性的合法性进行判断。例如:Jframe.setSiz
阅读全文
摘要:什么是类和对象 如何定义 Java 中的类 如何使用 Java 中的对象 Java中的成员变量和局部变量1、成员变量:在类中定义,描述构成对象的组件。 2、局部变量:在类的方法中,用于临时保存数据。 3、成员变量的有效范围:类中的所有方法都可以调用成员变量。 4、局部变量和成员变量允许重名,这个时候
阅读全文
摘要:p140~p144:逗号运算符1、特点:1)规定运算顺序,即由左向右。2)逗号运算符的真正结果是右侧表达式的值! 练习 4.31 使用后置的运算符会有额外的内存开销, 在这道题中使用前置和后置结果貌似是一样的,不需要改。。。 练习 4.32遍历ia中的元素。ix代表元素下标,ptr逐个存放对应元素的
阅读全文
摘要:内容来自廖雪峰的官方网站。 1、Python内建的filter()函数用于过滤序列。 2、和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 3、例如:过滤出
阅读全文
摘要:p135~p140:1、位运算符。作用于整数类型的运算对象,并把运算对象看成是二进制的集合,提供检查和设置二进制位的功能。 2、bitest:一种可表示任意大小的二进制位集合的标准库类型。 3、关于符号位如何处理没有明确的规定,所以强烈建议仅将位运算符用于处理无符号类型。 4、移位运算符:对运算对象
阅读全文
摘要:p131~p135: 1、除非必要否则不使用后缀加加(减减),会有额外的性能开销。 2、混用解引用和递增运算符。*pointer++,后缀运算符优先于解引用运算符。 3、运算对象可按任意顺序求值,即使是在赋值号两侧也无法确定究竟哪边先求。 p133 1、点运算符和箭头运算符。ptr->mem等价于(
阅读全文
摘要:p41~p45: 1、区别前缀式与后缀式。 2、在java中,等于和不等于适用于所有的基本数据类型,也使用于所有对象。 3、==、!=比较的是对象的引用。 4、在没有重载equals()方法之前,equals的默认行为是比较引用。(equals方法默认继承自object类) 练习4 练习5
阅读全文
摘要:p129~p131: 1、赋值运算的左侧运算对象必须是一个可修改的左值。 2、赋值运算满足右结合律。 3、赋值运算的结果是它的左侧对象,并且是一个左值。 验证: 4、赋值运算符的优先级较低,在条件语句中,赋值部分应该加上括号。 练习 4.13 练习 4.14 if (42 = i) // ... 编
阅读全文
摘要:内容来自廖雪峰的官方网站。 1、Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积。 2、利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456。 不会用map
阅读全文
摘要:p38~p41: 1、可以通过import 一个自定义类库(或者网上下的)在java中使用c风格的输入输出方式。 2、忘记优先顺序时应该用括号明确规定计算顺序。 3、java的操作符不同于c++,几乎只能操作“基本类型”,例外的是 ==、!=、=能操作所有对象,除此之外,String类支持“+”和“
阅读全文
摘要:p277~p279: 1、使用解耦合的 try/catch 和 try/finally 语句块可以提高代码的清晰度,并且会报告 finally 子句中出现的错误。 2、假设利用 return 语句从 try 语句块中退出,在方法返回前,finally 子句的内容将被执行。如果 finally 子句也
阅读全文
摘要:p126~p128: 1、关系运算符作用于算数类型和指针类型。 2、逻辑运算符作用于任意能转换成布尔类型值的类型。 3、以上两种运算的运算对象和运算结果都是右值。 4、逻辑与和逻辑或的运算策略:短路求值。 (左侧对象通常是为了确保右侧运算对象求值过程的正确性和安全性) 5、补充的几点: 1)用 &s
阅读全文
摘要:内容来自廖雪峰的官方网站。 1、map的优点:省代码 + 提高可读性。 2、map 运用示例: 3、reduce:reduce(f, [x1, x2, x3, x4]) 的效果相当于 f(f(f(x1, x2), x3), x4),注意:作为参数的函数必须接收两个参数! 4、reduce 运用示例:
阅读全文