- 博客(42)
- 收藏
- 关注
原创 this关键字
1.this修饰的变量用于指代成员变量方法的新参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量2.什么时候用this?解决局部变量隐藏成员变量3.this代表所在类的对象引用方法被那个对象调用,this就代表那个对象...
2022-01-21 11:29:33
196
原创 【java中成员变量和局部变量的区别】
区别成员变量局部变量类中位置不同类中方法外方法内或方法声明上内存中位置不同堆内存栈内存生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失初始化不同有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用...
2022-01-21 11:05:12
456
1
原创 java数据输入——scanner
1.导包import java.util.Scanner;导包的动作必须出现再类定义的上边2.创建对象Scanner sc = new Scanner(System.in);上面格式里面,只有sc是变量名,可以变,其余都不允许改变3.接收数据int i = sc.nextInt();上面格式里面,只有i是变量名,可以变,其他都不允许变import java.util.Scanner;public class text1 { public static void main(Stri.
2022-01-18 20:15:53
404
原创 短路逻辑运算符&&、||与逻辑运算符&、|的区别
逻辑与&,无论左边真假,右边都要执行短路与&&。如果左边为真,右边执行;如果左边为假,右边不执行逻辑或|。无论左边为真假,右边都要执行短路或||,如果左边为假,右边执行;如果左边为真,右边不执行...
2022-01-17 20:11:14
181
原创 自增自减运算符
++和–既可以放在变量的后边,也可以放在变量的前边单独使用的时候,++和–无论是放在变量的前边还是后边,结果都是一样int j=i++;int j=++i;参与操作时,变量的前边,先拿变量i做++或者–,再拿变量j参与操作;变量的后边,先拿变量j参与操作,后拿变量i做++或- -...
2022-01-17 19:56:31
168
原创 字符串的“+”操作
当“+”操作中出现字符串时,这个“+”时字符串连接符,而不是算术运算如: “heim”+343在“+”操作时,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续精选“+“操作时,从左到右逐个执行。如: 44+3+“erew”...
2022-01-17 19:38:13
227
原创 字符对应数值+计算
‘A’:65,A-Z是连续的‘a’:97, a-z是连续的’0‘:48,0-9是连续的算是表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。提升规则:byte类型,short类型和char类型将被提升至Int类型整个表法式的类型自动提升到表达式中最高等级操作数同样的类型等级顺序:byte,short,char →int → long → float→ double...
2022-01-17 19:29:08
257
原创 算术运算符
运算符:对常量或者变量进行操作的符号表达式:用运算符吧常量或者变量连接起来符合java语法式子就可以称为表达式,不同运算符连接的表法式体现的是不同类型的表达式如:int a=10;int b=20;int c=a+b;+:运算符a+b:表达式%:取余,得到的是余数整出相除只能得到整数,要得到小数,必须有浮点数参与...
2022-01-17 19:17:49
199
原创 Java的俩种类型转换
自动类型转换把一个表示数据范围小的数值或者变量付赋给另一个表示数值范围大的变量范例:double d=10;数值范围大小:byte < short< int < long < float < doublechar < int < long < float < double强制类型转换:把一个表示数据范围大的数值或者变量赋给另一个表示数据范围小的变量格式:目标数据类型 变量名 = (目标数据类型)值或者变量;范例:int k =(i.
2022-01-17 19:07:42
249
原创 标识符定义规则
标识符:就是给类,方法,变量等起名字的符号规则:由数字、字母、下划线(_)和美元符($)组成不能是关键字不能以数字开头区分大小写常见约定小驼峰命名法:方法、变量1.标识符是一个单词的时候,首字母小写范例:name2.标识符有多个单子组成的时候,第一个单词首字母小写,其他单词首字母大写范例2:firstName大驼峰:类1.标识符是一个单词的时候,首字母大写范例:Student2.标识符有多个单词组成的时候,每个单词的首字母大写范例:GoodStudent...
2022-01-17 18:55:24
3466
原创 变量注意事项
名字不能重复变量未赋值,不能使用long 类型的变量定义的时候,为了防止整数过大。后面加Lfloat类型的变量定义的时候,为了防止类型不兼容,后面加F否则出现以下结果:text1.java:15: 错误: 不兼容的类型: 从double转换到float可能会有损失float f=12.14;text1.java:12: 错误: 整数太大long l=10000000000000;public class text1 { public static void main(String[].
2022-01-17 18:45:39
207
原创 强制类型转化
强制类型转化定义:把一个int型转化为double型:int i=10;double x=(double)i;或,double x=double(i);
2022-01-05 11:38:47
202
原创 标识符定义
域标识符定义:为了解决全局的同名变量,在同名变量所在的作用域内,可以共同执行,可用“::”对被隐藏的同名全局变量进行访问。全局变量:在域外定义的同名函数局部变量:域内定义的同名函数代码: #include<iostream> using namespace std; int a; int main() { double a=3.2; ::a=3; cout<<"local a= "&.
2022-01-05 11:37:32
287
原创 函数重载判断依据
函数重载定义:两个函数(不带默认值)共用一个函数名,但形参个数或类型不同,编译器根据形参与实参的类型或个数的最佳匹配,自动确定调用函数。(1)传统c语言中:同一作用域内,函数名必须唯一,不允许出现同名的函数 (特别在类的成员函数中,成员函数的名称与类的函数名要区分开来)。(2)c++:用户可以函数重载,同一作用域内,函数参数的类型不同,或参数的个数不同,或者两者都不同 可以有俩个或俩个以上函数使用相同的函数名 但是,如果参数个数相同且参数类型相同,只是返回的类型不.
2022-01-05 11:36:01
1578
原创 【默认参数函数定义】
默认参数值函数定义:(1)一般,实参个数和形参个数相同,但在c++中形参个数与实参个数可以不同。在说明函数原型或定义时,定义为一个或多个形参指定默认值,以后在调用此函数时,若忽略其中某一个实参,c++主动以默认值作为相应参数的值。如: #include<iostream> using namespace std; void A(int x=10,int y=5){ //函数原型 cout<<x<<" "<.
2022-01-05 11:33:12
811
原创 【inline函数】
inline定义:(1)第一次被调用之前,必须完整定义,否则编译器不知道应该插入什么代码。(2)内联函数内部一般不能含有复杂的控制语句:for和switch等。(3)空间换时间,规模小(1~5句)且使用频繁,可以大大提高运行速度。(4)宏定义是简单的字符置换,用内联函数可以消除它的不确定性。#include<iostream> using namespace std;#define double(x) x*2inline int double_inline(int x);i.
2022-01-05 11:31:01
99
原创 【void说明】
Void定义:通常表示无值,但将void作为指针的类型时,它表示不确定的值。任何类型的指针值都可以赋给void类型的指针变量。(1)不能申明void 类型的变量,但可以申明void 类型的指针。(2)void型指针是通用型指针,是指它可以接受任何类型的指针的赋值,但对于已获值的void型指针,对他在进行处理(输入或传递指针值时),则必须再进行显式类型转化,否则就会出错。#include<iostream>using namespace std;int main(){ .
2022-01-05 11:29:19
483
原创 虚基类解决多继承同名二义性
之前提过关于公有多继承存在同名二义性问题,所以c++才会有虚基类来解决这类的问题。虚基类继承,使得基类的多个虚基继承派生类中的同名成员,存在于相同的地址,也就是同一个东西,所以当他们共同有一个派生类时,这个派生类所继承的不是俩个同名成员,其实只有一个,故不发生二义性问题构造调用顺序:先调用base(调用直接基类时,直接基类是由base继承过来),接着根据base3的继承申明,依次调用基类,从结果可知确实如此;析构顺序相反#include<iostream>using namespac.
2022-01-05 11:24:35
556
原创 多继承同名成员二义性
多继承中,最远派生类的多个直接继承都有最初基类的同名成员,则在公有继承调用构造函数时,会对这个同名成员有二义性。原因是:俩个成员都相同只是存放的地址不同(值可能会变化)编译器调用时,根据base3的继承声明,依次进行调用。其中每调用一次直接基类之前,都会调用一次base。析构顺序与构造顺序相反。若是虚基类,则构造顺序会有点不同,base调用一次,并且不会有同名二义性。#include<iostream>using namespace std;class base{ protect.
2022-01-05 11:15:13
363
原创 【深层拷贝解决指针悬挂】
浅层拷贝出现问题:拷贝函数的调用对象所指指针,与被调用对象指针所指一个空间,主函数结束,该空间被连续释放俩次,导致指针悬挂解决方法:深层拷贝1.在拷贝函数体内,new一个新的空间2.用运算符重载operator =()在拷贝函数体内,new一个新的空间#include<iostream>#include<cstring>using namespace std;class student{ public: student(char *a, float b).
2022-01-01 14:31:43
329
原创 用指针比较三个数字大小
#include<iostream>using namespace std;class A{ public: A(int a,int b,int c) { x=a; y=b; z=c; } ~A(){ } void compare() { if((this->x)>(this->y)&&(this->x)>(this->z)) { cout<<this->
2022-01-01 11:40:49
368
原创 对象引用作为函数参数
注意定义函数形参格式:类名& 对象名指针对象调用或访问成员函数或数据成员用’->’引用只需要’.’#include<iostream>using namespace std;class a{ public: a(int a) { x=a; } int get() { return x; } void set(int a) { x=a; } private: int x;};void sql(a&
2021-12-26 19:37:50
719
原创 对象指针做函数参数
要注意:定义函数中的参数列表是类名 指针变量名,形参是指针变量名;调用函数中的实参是&对象名;#include<iostream>using namespace std;class a{ public: a(int a) { n=a; } int get () { return n; } void set(int a) { n=a; } private: int n;};void sql(a *ob) {
2021-12-26 19:24:13
973
原创 多个参数构造函数指针访问对象数组(增减调用)
以下是增调用#include<iostream>using namespace std;class exam{ public: exam(int a,int b){ x=a; y=b; } void show() { cout<<x<<" "<<y<<endl; } private: int x; int y; };int main(){ exam a[4]={ exam(1,2),
2021-12-26 18:48:25
424
原创 对象指针访问
#include<iostream>using namespace std;class exam{ public: void set_exam(int a,int b) { m=a; n=b; } void show() { cout<<m<<" "<<n<<" "<<endl; } private: int m; int n;};int main(){ exam a[2
2021-12-26 17:09:38
132
原创 对象数组(带参数、不带参数各自应用)
#include<iostream>using namespace std;class exam{ public: exam(int a) { n=a; } exam() { n=123; } int get() { return n; } private: int n;}; int main(){ exam a[4]={11,22,33,44}; for(int i=0;i<4;i++) { cout<
2021-12-26 16:29:17
204
原创 【c++第三章例二带有默认参数的类成员函数】
第一种写法#include<iostream>using namespace std;class stock{ public: stock(string code,int q=1000,double d=8.98); ~stock(){ }; void print(); private: string stockcode; int quantity; double price;};stock::stock(string code,int q,double
2021-12-25 15:03:04
140
原创 SQL上机题目总和
USE S_T;--将course表的cpno的长度改为3--将student表中的sdept列的长度改为50 --给student表中的ssex列的增加默认约束,默认值为“男”--为course表增加一列teacher,char(8)--删除course表的teacher列--为每个表设一个主键--为S表增加一个唯一索引s_sno--为SPJ表加外键约束(若建表时已经建立外键,可以先删除某个已有外键,重新建立)--为SPJ表
2021-12-13 13:19:17
1017
原创 【期末冲刺SQL例题】
实验四2、建表use s_ Tcreate table student (Sno char ( 11)not null primary key,Sname char (8) not null,ssex char (2) not null,sage Tinyint not null,sdept char (10) not nullcheck (ccredit >=l and ccredit <=6)(学分取1-6的整数)check (Grade >=l and Grade <
2021-12-13 12:22:56
2378
原创 【无标题】
SQL SEVER SELECT 查询语法语法:SELECT 列名1,列名2… from 表(所查询所有列所在的表)USE spjGOSELECT *FROM spj GOSELECT SNO,QTY,jno,pno FROM spjGOSELECT *FROM SPJ 查询结果是按照原来表的构建结构和存储状态输出;如果你想改变原有的输出状态,SELECT SNO,QTY,JNO,PNO FROM SPJ 这样输出的顺序就是你输出列的顺序具体看上图...
2021-11-17 11:55:29
76
原创 【无标题】
摆脱鼠标,快速执行SQL SEVER语句刚开始用SQL SEVER 是不是用鼠标选中一块要执行的语句,然后再按执行?写完一大串代码,还要一个个选中,不觉得麻烦??用GO批处理语句,帮助你快速提升写代码。GO在SQL SEVER 中作为结束批处理的标志,在一个查询编辑窗口中,有几个GO就有几个批处理。如果没有GO命令,那么所有的SQL SEVER 语句将被处理为一个批处理。USE spjGOSELECT *FROM spj GOT-SQL程序中,局部变量的作用域从其圣母处至下一个GO命
2021-11-17 11:39:22
87
原创 # 关于位序i与数组下标i的区别
什么时候是位序i,什么时候是下标i?一般,在for循环条件语句内,i都表示为位序,这样方便人来计数,因为人都是从1开始计数;计算机不是,计算机是从0开始的,这也就是为什么,同一个元素,在位序中它是就是i,而在数组下标中,它却是i-1;譬如之前静态链表的插入与删除L.data[i-1]=e;此处是在第i个位置插入元素e的代码;同样,e=L.data[i-1];是将第i个位置上的元素赋值给e,好将删除元素值返回。...
2021-10-25 18:58:31
1607
原创 # 顺序链表
静态链表的删除#include<stdio.h>#define MaxSize 10typedef struct{ int data[MaxSize]; int length;}sqList;void InitList(&L){ for(int i=0; i<MaxSize; i++) L.length=0; L.int main(){ sqList(L); InitList(L); return 0;
2021-10-25 18:43:55
70
原创 # 静态链表如何插入数据?
静态链表如何插入数据?已知原有代码:#include<stdio.h>#define MaxSize 10typedef struct{ int data[MaxSize]; int length;}sqList;void InitList(sqList &L){ for(int i=0; i<MaxSize; i++) L. L.length =0;int main(){ sqList L; InitList(L); return 0;...
2021-10-23 19:42:37
352
原创 顺序表的基本操作——初始化表
为避免表中留有脏数据,首先要对表进行初始化,使之后创建表内数据时,不会受到影响。#include<stdio.h>#defineMaxSize 10 /*此处创建的是静态链表,此句默认了表的最大数据长度10,后面对此表的长度最大长度不能进行修改;若是动态链表则还可以通过创建指针进行修改*/tppedef struct{int data[MaxSize]; /*静态链表采用数组存储并调用,所以用*/ ...
2021-10-23 18:42:09
1969
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人