java复健
java对象和类:对象和类的基本概念、构造函数和初始化顺序等
对象和类基本概念类、对象、实例、构造、封装、实例字段、方法、状态、继承、对象的行为、状态、标识、类之间的关系依赖、耦合、继承。
static静态字段和静态方法
静态字段也被称为类字段,在类第一次被加载的时候创建
静态方法不能访问实例字段,而可以访问静态字段。
final关键字
final修饰基本类型或者不可变类
final修饰可变类时,只是引用不可变,但是引用的对象可变。
构造函数
构造函数通过new来调用,不可以直接调用。
重载
重载解析
返回类型不是数字签名的一部分
默认有无参数构造器,但是定义了构造器之后,默认的无参数构造器失效
初始化顺序
先初始化静态字段、代码块
静态字段、代码块按照定义的顺序初始化
然后初始化字段、初始化块
字段、初始化块按照定义的顺序初始化
最后初始化构造函数
先初始化调用的构造函数。
然后从上往下依次初始化。
代码习惯
工厂方法
不要返回可变对象
aClassName
不要用对象调用静态方法,而应该用类
每个对象都可以有个main,用来单元测试。
方法不需要访问对 ...
C语言INT_MIN的写法
关于为什么中将INT_MAX定义为-INT_MAX-1
limits.h头文件中int定义12#define INT_MAX 2147483647#define INT_MIN (-INT_MAX - 1)
原因
在C语言中,-2147483648会被理解为-和2147483648,是由一个符号和一个数值组合而成,而2147483648超过了int的最大表示范围。
C语言标准规定,强制类型转换时先改变大小再改变有符号类型,例如假设有short类型的变量n,把n转换为unsigned类型时,会先被转换为int,再转换为unsigned,而非先转换为unsigned short再转为unsigned,即等价于(unsigned)(int)short而非(unsigned)(unsigned short)short
所以-2147483648会被转为更大的有符号类型long long(或long,视你电脑该数据类型大小而进行自动转换),所以最终返回的是一个long long(或 long)类型。
相关代码12345678910111213#include<stdio.h> ...
双系统的安装记录
双系统(Ubuntu)的安装、踩坑与解决
——以华硕笔记本为例
前置
记住你的本地密码,大概率时微软账号密码,不是你的pin(很重要!!不记得的话可能安全模式进入不了系统)你可以唤醒电脑的时候选择密码那一项来确认你的本地密码。详见参考资料4的知乎讨论。
一个空U盘作为启动U盘
相关图片可以翻到最后参考资料,插图太麻烦了orz
下载Ubuntu简单介绍作为初学者还是建议使用Ubuntu,理由如下
历史悠久,若只是日常桌面应用,ubuntu用户数量更大,中文社区更友好,文档也多,入门最佳。
系统成熟,应用广泛,软件数量丰富等。
桌面交互方便,使用更加简单。
但是他有一定的缺点
稳定性不足
开放性不够
……
作为进阶,或折腾服务器,可以尝试Fedora,centos,Debian,deepin等
下载官网链接https://ubuntu.com/download/desktop
制作启动U盘下载rufus我当时(小米笔记本)并没有用到类似的软件,直接把Ubuntu iso镜像文件里的文件拷贝进U盘了,不过保险起见还是下载吧。
官网链接https://rufus.ie/
准备 ...
求哈密尔顿回路
求哈密尔顿回路
顺便完成离散数学的实验二作业
问题描述北京大学的小A 准备趁五一假期从北京出发,拜访以下几个大学的好友后返回北京:西安电子科技大学的B,兰州大学的C,武汉大学的D,浙江大学的E,深圳大学的F,同济大学的G,郑州大学的H,哈尔滨工程大学的I。综合考虑之后小A 同学选择飞机作为城市间的通行工具,但希望这趟旅行的总旅费最低请给小A 设计一个最佳城市旅游方案,并给出旅费预算是多少。(请自行查询城市之间飞机票价)
问题分析问题建模图论问题。简言之,就是有一个含V个端点,E条边的带权有向图,求从(0, 0)点经过每个端点后回到(0, 0)点所经过的边的总权重最小值。
这是经典的TSP(Traverling Salesman Problem)问题。
暴力求解算法描述利用C++的next_permutation()库函数,枚举出n-1的全排列,然后依次计算总权重,得出最小值及方案。
复杂度分析对于初始点P1,有V-1种选择,对于第二个点P2,有V-2种选择,易得遍历所有的可能,复杂度为O(V-1)!。
状压dp算法描述
参考自《挑战程序设计竞赛》p192
递推关系推导假 ...
《心理学与生活》学习笔记
《心理学与生活》学习笔记
第1章 生活中的心理学心理学为何独具特色定义
心理学的定义:关于个体的行为及心智过程的科学研究。
心理学的目标
心理学家从事基础研究的目的是描述、解释、预测、控制行为。
用不同的分析水平来研究个体行为,宽泛 or 细微,但是都要做到客观,不要把主观观点带入观察中。
解释分为内部解释,外部解释,综合解释。
科学预测的措辞必须足够精确,以使他们能够被检验。
控制是核心的,最强有力的目标。
解释与预测紧密相连:对造成特定行为方式潜在原因的精确解释,常常能让研究者对未来的行为做出精确的预测。
现代心理学的发展心理学的历史根基
柏拉图和亚里士多德提出的基本问题:心智如何运作,自由意志的本质是什么,意识的本质以及精神错乱的起源是什么,公民个体与其城邦过国家的关系是什么?
心理学的形式早已存在于古印度的瑜伽传统中。西方心理学将它的起源追溯到这些柏拉图等哲学家的著作中。
经验主义。根源可追溯到亚里士多德。约翰·洛克在17世纪详细阐明了这个观点:人们的心智生来是白板,心智通过世界上的经验来获取信息。
先天论。根源可追溯到柏拉图。伊曼努尔·康德在18世纪充分发展了这个观 ...
bs4库学习笔记
学习自bs4官方文档https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/
123456789# 安装bs4库pip install beautifulsoup4from bs4 import BeautifulSoup#解析网页,创建BeautifulSoup对象#第一个参数为网页代码#第二个参数为解析器soup = BeautifulSoup(html_doc, 'html.parser')
BeautifulSoup处理后,对象可分为四种类型:Tag, NavigableString, BeautifulSoup, Comment
Tag类型
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152# 获得a标签(其余同理)tag = soup.a# 获得标签名字# 若改变该名字,soup中所有该标签名字都将改变tag.name# 获取标签属性# 属性可以被修改tag[ ...
python-处理excel电子表格
学习自《python编程快速上手——让繁琐的工作自动化》
其中一些方法和属性以改为新版的表达
挖坑待填(书中库太老……代码都不可用,有空更新)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859import openpyxl# 读取excel文档wb = openpyxl.load_workbook('example.xlsx')# 读取工作表wb.sheetnames# 选择工作表sheet = wb[sheetname]# 工作表名字sheet.title# 获取工作簿的活动表wb.active# 获取单元格及其值sheet['A1']sheet['A1'].valuesheet.cell(row = 1, column = 2)# 获取单元格坐标值c = sheet['A1']c.rowc.columnc.coordinates# ...
python—-调试
学习自《python编程快速上手——让繁琐的工作自动化》
基本操作1234567891011121314151617181920212223242526272829303132333435363738394041424344import traceback# 异常# 抛出异常raise Exception(error message)# 处理异常try: passexcept: pass# 取得反向追踪字符串, 可以将其写入errorInfo文件中traceback.format_exc()# 断言# statement是一个表达式# string为表达式为False时应返回的字符串assert statement, string# 日志# logging.basicConfig()的level属性显示你想查看的日志级别import logginglogging.basicConfig(level = logging.DEBUG, format = '%(asctime)s - %(levelname)s- %(message)s')logging ...
python-组织文件
学习自《python编程快速上手——让繁琐的工作自动化》
shutil基本函数12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import shutil# 将路径source处的文件复制到路径destination处的文件夹,若destination是文件名,则重命名shutil.copy(source, destination)# 将路径source处的文件夹复制到路径destination处的文件夹shutil.copytree(source, destination)# 将路径source处的文件夹移动到路径destination,返回新位置的绝对路径的字符串# 若destination是文件夹,则移入其中,并使用原来名字# 若destination是文件,则移入其所在目录并重命名为新文件名# 若destination不存在,则将路径最后一项视为新文件名shutil.move(source, destination)# 删除path处的文件os. ...
python-读写文件
学习自《python编程快速上手——让繁琐的工作自动化》
os基本操作12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import os# 返回文件路径字符串,包含正确路径分隔符os.path.join('usr', 'bin', 'spam')# 返回当前工作目录os.getcwd()# 改变当前工作路径os.chdir()# 创建新文件夹os.makedirs()# 返回参数的绝对路径os.path.abspath(path)#若参数为相对路径返回False,否则返回Trueos.path.isabs(path)# 返回参数start到path的相对路径,若无start,则返回当前到path的相对路径os.paath.relpath(path, start)# 返回目录名称os.path.dirname(path)# 返回基本名称os.path.basename(path)# ...