import java.util.Scanner;class Demo06 { public static void main(String[] args) { //让用户输入它的开始成绩,如果分数在80-100等级为优 //分数在70-80等级为良,如果分数在60-70等级为中,否则等级为差。 Scanner sc= new Scanner(System.in); double num=sc.nextInt(); System.out.println(请输入您的成绩:); if(num>=80 && num<=100){ System.out.println(优); }else if(num>70 && num<80){ System.out.println(良); }else if(num>60 && num<70){ System.out.println(中); }else if(num>=0 && num<60){ System.out.println(差); } else{ System.out.println(你的输入有误请重新输入); }
}}
import java.util.Scanner;class Demo08 { public static void main(String[] args) { //让用户输入一个1-7之间的整数,1-5输出工作日,6-7输出休息日 Scanner sc= new Scanner(System.in); System.out.println(请输入1-7之间的整数:); int num= sc.nextInt(); String a=工作日; String b=休息日;
/*switch(num){ if擅长判断范围 switch只能判断值 case 1:System.out.println(a); break; case 2:System.out.println(a); break; case 3:System.out.println(a); break; case 4:System.out.println(a); break; case 5:System.out.println(a); break; case 6:System.out.println(b); break; case 7:System.out.println(b); break; }*/ switch(num){ // 不能判断double值 case 1: case 2: case 3: case 4: case 5:System.out.println(a); break; case 6: case 7:System.out.println(b); break; default:System.out.println(您输入的有误请重新输入); // default放在哪都行 break; }
class Demo09 { public static void main(String[] args) { /*int a=1; while (a<=10) //循环的条件 也叫循环的结束条件 { System.out.println(a); a++;//++a; a=a+1; }*/ /* int a=10; // 逆序打印 1-10 while(a>=1){ System.out.println(a); a=a-1; }*/ //打印1-10之间的偶数 /* int a=1; while(a<=10){ if(a%2==0){ System.out.println(a); } a++; } */ //求1-10的和 int sum=0; int a=1; while(a<=10){ sum=sum+a;//0+1+2+3.... //sum+=a 等于 a++; }System.out.println(sum); }}
var a = 123;
var代表变量,a代表变量名,=赋值符,123代表number类型赋值
通过typeof可以进行变量类型查询
vara=hello world console.log(typeofa) 输出结果:> string
var a = hello \world\ console.log(a) 输出结果: > hello world
输出结果:> hello world
number类型
变量值为数字的类型
var ac = 123 console.log (123) 输出结果:> 123
变量值为字符串类型,也就是文字,字母等类型的。
var ab = hello world console.log(ab) 输出结果:> hello world
boolean布尔类型
true为真,flase为假。flase=0 true代表不等于0的数字,日常用于条件测试当中。
var ab = true console.log(ab) 输出结果:> true
undefined类型
1.声明了却没有赋值的变量
2.使用了一个根本不存在的变量
3.使用了并不存在的对象属性
任何值都可以使用undefined进行清空
var ab console.log(ab) 输出结果:> undefined
null类型
代表什么都没有,不存在的值,空对像引用,用于清空对象
var ac = null console.
C++等价与偏序关系的矩阵处理 Set模板的使用说明:sevencheng798-C++ Set用法总结整理
草稿本:
编写一段代码,接收键盘的输入,输入集合X。 例如 : 1,2,…,10 两种情况:偏序关系R分别为 (1)“小于等于”<=;(2)“大于等于”>= 2 建立关系R的关系矩阵,并在屏幕打印输出对应关系的哈塞图。 3.利用关系矩阵求解 4. 当集合X={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}时,R为定义在X的偏序关系{(a, b)| a小于等于b},打印输出{2,3,4}的上界,下界,最小上界和最大下界。 等价关系的划分 代码如下:
#include <iostream> #include <set> #include <string> #include <vector> #include <sstream> using namespace std; void getSetElm(set<int> &S,vector<int> &v){ //将集合元素数组化,无需提前设置数组大小 int c=0; v.resize(S.size()); for(set<int>::iterator it=S.begin();it!=S.end();++it){ //将集合元素有序装入数组方便顺序访问 v[c]=*it; c++; //计数器 } return ; } int findEle(vector<int> v,int n){ //根据元素寻找对应下标 int k=v.size(); for(int i=0;i<k;i++){ if(v[i]==n) return i; } return -1; } void outputRelationMatrix(vector< vector<int> > M,set<int> S){ //输出关系矩阵 int k=S.
const 可以修饰哪些东西? const 可以修饰全局 (global) 或命名空间 (namespace) 或类外部的常量.
const 也可以修饰文件、函数或作用域中(block scope)被声明为 static 的对象.
const 还可以修饰类内部的静态 (static) 和非静态 (non-static) 成员变量.
const 与指针结合时,const 既可以修饰指针本身,也可以修饰指针所指对象.
当 const 在 * 左边时,表示指针指向的对象是常量. 当 const 在 * 右边时,表示指针本身是常量(即指针始终指向这个对象). 当 const 在 * 两边时,表示指针本身和指针指向的对象都是常量. 例如:
char greeting[] = Hello; char* p = greeting; // non-const pointer, non-const data (指针本身和指针所指对象都不是常量) const char* p = greeting; // non-const pointer, const data(指针所指对象是常量,指针不是常量) char* const p = greeting; // const pointer, non-const data(指针是常量,而指针所指对象不是) const char* const p = greeting; // const pointer, const data(指针本身和指针所指对象都是常量) PS:有时 const 不一定写在对象类型之前,而是在对象类型和 *之间,这也能用来表示指针所指对象是常量.
课程:《Python程序设计》
班级:2134
姓名:王尊阳
学号:20213401
实验教师:王志强
实验日期:2022年4月17日
必修/选修:公选课
在CSDN上发表博客的链接如下:
https://blog.csdn.net/m0_69089961/article/details/124260638?spm=1001.2014.3001.5501
1. 关系型数据库介绍 1.1 数据结构模型 数据结构模型主要有:
层次模型 网状结构 关系模型 关系模型:二维关系:row(行),column(列)
数据库管理系统:DBMS关系:Relational,RDBMS
1.2 RDBMS专业名词 常见的关系型数据库管理系统:
MySQL:MySQL,MariaDB,Percona-Server PostgreSQL:简称为pgsql Oracle MSSQL SQL:Structure Query Language,结构化查询语言
存放方式:结构化数据 数据库里存放的数据二维关系云里存放的数据
半结构化数据 文本文件里面放的都是文字或者数字
非结构化数据 文件,视频等
约束:constraint,向数据表提供的数据要遵守的限制
主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL)。 一个表只能存在一个 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL) 一个表可以存在多个 外键约束:一个表中的某字段可填入数据取决于另一个表的主键已有的数据 检查性约束 索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储
1.3 关系型数据库的常见组件 关系型数据库的常见组件有:
数据库:database 表:table,由行(row)和列(column)组成 索引:index 视图:view 用户:user 权限:privilege 存储过程:procedure 存储函数:function 触发器:trigger 事件调度器:event scheduler 1.4 SQL语句 SQL语句有三种类型:
DDL:Data Defination Language,数据定义语言 DML:Data Manipulation Language,数据操纵语言 DCL:Data Control Language,数据控制语言 SQL语句类型对应操作 DDL CREATE:创建DROP:删除ALTER:修改 DML INSERT:向表中插入数据DELETE:删除表中数据UPDATE:更新表中数据SELECT:查询表中数据 DCL GRANT:授权REVOKE:移除授权 2.
2.优势 基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众 多成熟的使用案例使得 MYCAT 一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能 看到更远。业界优秀的开源项目和创新思路被广泛融入到 MYCAT 的基因中,使得 MYCAT 在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。 MYCAT 背后有一支强大的技术团队,其参与者都是 5 年以上软件工程师、架构师、DBA 等,优秀的技术团队保证了 MYCAT 的产品质量。 MYCAT 并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在 其商业产品中,使得开源项目成了一个摆设。
server.xml:
<?xml version=1.0 encoding=UTF-8?> <!DOCTYPE mycat:server SYSTEM server.dtd> <mycat:server xmlns:mycat=http://io.mycat/> <system> <property name=nonePasswordLogin>0</property> <property name=useHandshakeV10>1</property> <property name=useSqlStat>0</property> <property name=useGlobleTableCheck>0</property> <property name=sequnceHandlerType>2</property> <property name=subqueryRelationshipCheck>false</property> <property name=processorBufferPoolType>0</property> <property name=handleDistributedTransactions>0</property> <property name=useOffHeapForMerge>1</property> <property name=memoryPageSize>64k</property> <property name=spillsFileBufferSize>1k</property> <property name=useStreamOutput>0</property> <property name=systemReserveMemorySize>384m</property> <property name=useZKSwitch>false</property> </system> <!
1.sizeof的作用 我个人的理解:sizeof是用来获取非托管类型所占内存大小的操作符。
微软官方对sizeof的定义:
sizeof 运算符返回给定类型的变量所占用的字节数。 sizeof 运算符的参数必须是一个sizeof的名称,或是一个限定为非托管类型的类型参数。
《微软官方文档》https://docs.microsoft.com/zh-CN/dotnet/csharp/language-reference/operators/sizeof
2.sizeof和Mashal.sizeof 首先要说的是sizeof和Marshal.SizeOf是有差异的。
C# 中的sizeof和Marshal.SizeOf都可以用来获取非托管类型的大小,但是功能上有差别,结果也略有差异。
sizeof在正常环境下只能用于预定义的非托管类型,如int、long等等。在unsafe环境下,sizeof可以被用于值类型,但是值类型中不可以有引用类型,否则C#编译器会报错。
Marshal.SizeOf则是获得该类型被Marshal(转换,通常翻译为列集,指数据从一种类型转换到另外一种类型)到对应的非托管类型的大小。和sizeof不同,Marshal.SizeOf允许用在含有引用类型的值类型上。
参考资料:《Marshal.SizeOf和sizeof的区别》
先看输出结果:
public struct Struct1 { public int Id; } public struct Struct2 { public int Id; public string Name; } // sizeof()测试 系统内置的基本类型sizeof是固定常量值,编译器自动替换,不是通过计算得到的 不需要用unsafe 自定义的需要unsafe下计算 private void SizeofTest() { Console.WriteLine(sizeof(bool)); // 1 Console.WriteLine(sizeof(byte)); // 1 Console.WriteLine(sizeof(sbyte)); // 1 Console.WriteLine(sizeof(short)); // 2 Console.WriteLine(sizeof(ushort)); // 2 Console.WriteLine(sizeof(int)); // 4 Console.WriteLine(sizeof(uint)); // 4 Console.