JAVA

JAVA学习笔记

基础语法

基本与C/C++一致,可速通

面向对象

什么是对象

所谓对象可以通俗理解为一件东西和他所具有的属性叫做一个对象

例如·:人(东西):性别、年龄、爱好……(属性)

​ 书(东西):名字、类型、页数……(属性)

像上面这些都是对象,类似与C/C++里面的结构体

比如说我现在像统计班级学生信息做一个表格,我就应该先创建一个学生对象,而不是开一堆数组,像这样:

1
2
3
4
5
6
public class Student {
String name; // 姓名
int age; // 年龄
Boolean sex; // 性别
double score; // 成绩
}
阅读全文

mathmodel

数学建模学习笔记

层次分析法

评价两方面:1.评价指标 2.指标权重

核心:比较

超大杯 = 1.5大杯 超大杯 = 2.0中杯

x/y 超大杯 大杯 中杯
超大杯 1 1.5 2
大杯 1/1.5 1 1.5
中杯 1/2 1/1.5 1

注意:这是估计出来的数据需要用求解检验

阅读全文

pygame

PyGame 学习笔记

初始化&退出

创建窗口

1
2
3
4
5
6
7
8
9
10
11
12
# 导入pygame模块
import pygame as pg
# 创建窗口
window = pg.display.set_mode((800,600))
# 设置窗口标题
pg.display.set_caption("游戏窗口")
# 填充窗口颜色
window.fill((255,0,0))
# 更新窗口显示
pg.display.update()
# 等待1000000000毫秒
pg.time.wait(1000000000)

绘图

绘制一条线

1
2
3
# 绘制一条线
pg.draw.line(window,(255,255,255),(0,0),(800,600))
pg.draw.aaline(window,(255,255,255),(100,100),(800,600))

绘制多条线

1
2
3
# 绘制多条线
points = [(50,50),(50,180),(200,100)]
pg.draw.lines(window,(255,255,255),True,points)

绘制多边形

1
2
3
# 绘制多边形
points = [(50,50),(50,180),(200,100)]
pg.draw.polygon(window,'green',points)

绘制圆

1
2
# 绘制圆
pg.draw.circle(window,'red',(100,100),50)

绘制矩形

1
2
# 绘制矩形
pg.draw.rect(window,'blue',(100,100,50,50))
阅读全文

cppSTL

C++ STL编程 学习笔记

STL是C++的标准模板库、可以快速实现代码逻辑。

大体上包括:容器、算法封装、迭代器、仿函数、适配器、分配器

vector

类似于数据结构的顺序表

定义vector

1
2
3
4
5
int main() {
vector<int> v = {1,2,3};
cout << v[0] << endl;
return 0;
}
1
2
输出:
3

操作方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main() {
vector<int> v = {1,2,3};

cout<< v.capacity() << endl; // 查看vector容量

v.push_back(4); // 在尾部添加数据
cout<< v.capacity() << endl;

cout<< "begin -> " <<*v.begin() << endl; // 指向容器开始位置,需要解引用
cout<< "end -> " <<*(v.end()-1) << endl; // 末尾位置,左闭右开
cout<< "front -> " <<v.front() << endl; // 容器开头元素
cout<< "back -> " <<v.back() << endl; // 末尾元素
return 0;
}
1
2
3
4
5
6
7
输出:
3
6
begin -> 1
end -> 4
front -> 1
back -> 4

打印函数

1
2
3
4
5
6
7
8
9
10
11
12
13
void printVector (vector<int>& v) {
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
cout << *it << " ";
}
}
......

int main() {
vector<int> v = {1,2,3};
printVector(v);
return 0;

}
1
2
输出:
1 2 3

迭代器

1
2
3
4
5
6
7
8
int main() {
vector<int> v1 = {1,2,3};

vector<int> v2(v1.begin(),v1.end());
printVector(v2);
return 0;

}
1
2
输出:
1 2 3
阅读全文

C

C语言教学笔记 —-以微项目的形式学习C

本文主要是以一种新形式来学习C语言,可以让新手更深刻的记住语法以及相关用途

认识编程语言

编程语言是一种与计算机交流的语言,让计算机实现需求

就像和英国人得用英语,和计算机交流就得使用计算机语言

计算机语言的介绍与选择

目前我们有三大主流编程语言,分别是:C++、Java、Python

这三个语言是通用性比较强,功能比较齐全,其他的语言也各有优点但是没有这三门语言通用像PHP、go、rust等等

那么不管我们将来学习哪门语言,都需要学习对应的基础语法,而他们的基础语法逻辑基本相同,所以我们先通过学习C语言,打好基础,了解语言的构成与锻炼代码能力

编译器安装

什么是编译器

所谓编译器就是把人类语言按照计算机语法转换为二进制

至于底层逻辑大家先不用太了解,感兴趣可以去搜索一下相关视频,我们只需要学习基本操作即可

编译器选择

目前C/C++的主流编译器主要有三个 VS code、Clion、VS 2022,当然了除此之外由于初学者并不需要复杂的功能以及插件,所以一个轻量级的编译器也是很好的选择,**dev-c++**就是一款功能全面,并且十分轻便的编译器,本文主要使用dev-c++来进行讲解

安装方法

Dev C++ 5.11 简体中文版下载地址:

这个是我直接在网上找到的,大家也可以直接在QQ群下载压缩包

除了图片中的界面之外其他的配置默认即可

阅读全文

database

数据库学习笔记

SQL

分类 说明
DDL 数据定义语言,用来定义数据库对象
DML 数据操作语言,用来对数据增删改
DQL 数据库查询语言,用来查询数据库数据
DCL 数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL

数据库操作

查询

查询所有数据库

1
SHOW DATABASES;

查询当前数据库

1
SELECT DATABASES();
创建
1
CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集][COLLAT 排序规则];
删除
1
DROP DATABASE[IF EXISTS]数据库名;
使用
1
USE 数据库名
阅读全文

algorithm

算法学习笔记

线性枚举

一种暴力算法,对元素进行依次处理

求最大值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int findMax(vector<int> v) {
int max = v[0];
for (int i = 1; i < v.size(); i++) {
if (v[i] > max) {
max = v[i];
}
}
return max;
}

int main() {
vector<int> v = {23,12,55,34,87,13,76};
cout <<"Max:"<< findMax(v) << endl;
return 0;
}
1
2
输出:
Max:87

真题

1550. 存在连续三个奇数的数组

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
bool threeConsecutiveOdds(vector<int>& arr) {
for(int i=1;i<arr.size()-1;i++){
if(arr[i-1]%2==1&&arr[i]%2==1&&arr[i+1]%2==1)
return true;

}
return false;
}
};

485. 最大连续 1 的个数

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int sum=0,max=-100;
for(int i=0;i<nums.size();){
while(i<nums.size()&&nums[i++]==1) sum++;
if(max<sum) max=sum;
sum=0;
}
return max;
}
};
阅读全文

python

python学习笔记

​ 雄关漫道真如铁,而今迈步从头越

​ ——毛泽东

基础语法

缩进

缩进就是每一行开头都要有一定的格式,python需要严格的缩进去控制代码

1
2
3
4
5
if True:
print ("True")
else:
print ("False")
# 这段代码中第一层判断语句顶格写,而执行的代码需要写在判断语句的内部,这里是四个空格

多行语句

如果语句太长会导致代码十分的不整齐并且混乱,我们可以通过 \ 来将同一行语句,变成多行

1
2
3
print(1312371237+ \
123342132+ \
1342433532)

注释

1
2
3
4
5
# 我是单行注释
'''
我是
多行注释
'''

引号

单引号表示一个词,双引号表示一个句子,六个双引号表示多个句子组成的段落

1
2
3
4
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""
阅读全文

FrontendNotes

前端学习笔记

HTML

[!NOTE]

软件:VS code

浏览器:谷歌浏览器

基础内容:

1
2
3
4
5
6
7
8
9
"<!DOCTYPE html>": 跨浏览器声明

”<html></html>“:html根元素,包裹整个网站

"<head></head>":头文件模块

“<meat></meat>":嵌套头文件内,声明

”<title></title>“:标题(在网页栏显示)与SEO分数有关

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<!-- 声明文档类型为HTML5,告知浏览器使用HTML5标准解析文档 -->
<html lang="en">
<!-- HTML根元素,整个页面的内容都包含在其中
lang="en" 属性指定页面主要语言为英语,有助于搜索引擎和辅助技术 -->
<head>
<!-- 头部区域,包含文档的元数据(不直接显示在页面上的信息) -->
<meta charset="UTF-8">
<!-- 元数据标签:指定文档使用UTF-8字符编码,支持几乎所有语言的字符显示 -->

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 元数据标签:设置视口属性,确保页面在移动设备上正确缩放
width=device-width: 视口宽度等于设备宽度
initial-scale=1.0: 初始缩放比例为1:1 -->

<title>Document</title>
<!-- 定义网页标题,显示在浏览器标签页上,也用于搜索引擎结果 -->
</head>
<body>
<!-- 主体区域,包含所有将在浏览器窗口中显示的内容
如文本、图像、链接、表格、表单等都应放在这里 -->

</body>
</html>
1
2
3
4
5
"<body></body>":网页显示主体

"<h1>~<h6>": 标题,1-6代表不同等级(大小)

"<p></p>":文本段落
阅读全文