一、算术运算符:
(1)a++; 先赋值后运算
(2)++a; 先运算后赋值
二、逻辑运算符
(1)&&;两真则真,一假则假
(2)||;两假则假,一真则真
(3) &:与运算,可以理解为乘法运算。0 & 1 = 0
(4) | :或运算,可以理解加法运算。 0 | 1 = 1
三、运算符
(1) >>> ,逻辑右移位运算.正数时候高位不0,负数时候高位补0
(2) >>, 数学右移位运算. 正数时候高位补0,负数时候高位补1
(3) << , 数学左移位运算. n*8=n<<3
四、死循环
for(;;){};
while(true){};
do{}while(true);
五、访问权限控制:
(1)public:公共的,任何类
(2)protected:本类,子类,同包类
(3)默认:本类,同包类(同一个包中的类)
(4)private:私有的,本类。可以修饰成员变量和成员方法
六、抽象类:
(1)abstract修饰。abstract和final不可以同时修饰一个类
(2)没有方法体
(3)有构造方法
(4)如果子类没有对接口中的所有抽象方法进行覆写,那么这个子类就是一个抽象类
(5)abstract不能修饰变量
(6)抽象类不能被实例化
(7)抽象类需要被继承(子类覆写所有的抽象方法变不完整为完整)
(8)如果一个类是抽象类,此时类不一定有抽象方法
(9)如果一个类有抽象方法,此类一定是抽象类
(10)如果子类继承抽象类之后没有对抽象类中的所有抽象方法进行覆写,此子类是抽象类
(11)一般java中一个类继承抽象类,那么会对抽象类中的所有方法进行覆写
接口和抽象类共同点:都不能被实例化,但可以继承
七、接口:
(1)interface定义,implement来实现
(2)无构造器
(3)只能含常量、抽象方法
(4)extends在前,implements在后
(5)访问修饰符必须是public
(6)接口不能被实例化
(7)一个类可以实现多个接口,用逗号分隔。先继承后实现
(8)接口被实现时,实现类必须覆写接口中的抽象方法
(9)接口为变量提供默认的修饰符:public static final
(10)接口为方法提供默认的修饰符:public abstract
八、匿名内部类:
(1)定义:创建一个类的对象,并且只被创建一次,此类不必命名
(2)匿名内部类访问外部变量,改变量必须是final
(3)内部类可以调用外部类的所有成员(包括私有的)
九、this:
(1)只能写在方法中
(2)调用构造方法
(3)this关键字只能出现在非static修饰的代码中
(4)this表示当前对象
(5)this.属性,区分成员变量和局部变量
(6)this.(),调用本类的基本方法
(7)this(),调用构造方法,只能用在构造方法的第一行语句
this和super相同点
(1)this()和super()都只能在构造方法的第一行
(2)写了this(),就不会隐式调用super()
十、supper:
(1)super表示父类对象
(2)super.属性,表示父类对象中的成员变量
(3)super.方法,父类对象中定义的方法
(4)super(),调用父类构造方法
(5)super(),写在构造方法的第一行。如果不写默认调用super(),如果写了super(),则调用父类发无参数构造
十一、构造方法:
(1)主要作用:给成员变量赋初始值,
(2)与类同名,没有返回值,也不能写void
(3)在创建对象时被调用
(4)若不写构造方法,默认提供一个无参数的构造器
(5)任何类必须包含构造方法
(6)构造器无继承无覆写
十二、覆写(OverRide):两同两小一大
(1)两个类是继承关系
(2)发生在父子类中,方法名称相同,参数列表相同,方法体不同
(3)遵循"运行期绑定"(在运行期的时候根据引用变量指向的实际对象类型调用方法),看对象的类型来调用方法
(4)覆写方法被调用时,看子类对象的类型
(5)子类方法的返回值类型(void时必须相等)小于等于父类
(6)子类抛出的异常小于等于父类
(7)子类方法的访问权限大于等于父类
十三、重载:OverLoad
(1)发生在一个类中
(2)方法名相同,参数列表不同(参数个数不同,参数类型不同),方法体不同
(3)遵循"编译器绑定"(在编译时根据参数变量的类型判断调用哪个方法)看引用类型的绑定方法
十四、向上造型
(1)父类的引用指向子类的对象
(2)能点什么,看引用类型
(3)能向上造型成为的类型有:父类 + 所实现的接口
(4)强转时若不符合以上两个条件,则发生ClassCastException类型转换异常
(5)强转之前通过instanceof判断引用指向的对象是否为改类型
十五、数据库
1. 登录数据库
mysql -uroot -p
2.创建数据库
create database username charset utf8
3. 修改数据库编码
alter database name charset gbk
4. 数据库存储引擎
(1)innodb,支持数据库高级功能,事务,外键
(2)myisam,数据存储基本功能,效率高
5. 修改表名
rename table oldtablename to newtablename
6. 修改表属性
alter table tablename engine=myisam charset=utf8
7. 添加表字段
alter table tablename add city String first;
first,添加第一个;after,指定加载某个字段之后
8. 修改表字段
alter table tablename change update_age update_name varchar(50);
9. 删除字段
alter table tablename drop age;
10. 删除表不可恢复
drop table tablename;
11. 删除库不可恢复
drop database XX;
drop database if exists XX;
12. 删除表中全部记录
delete from tablename;
truncate table tablename; 删除数据量大的表
13. 表约束
(1)添加主键
alter table tb1 add primary key(id)
(2)取消主键
alter table tb1 drop primary key;
(3)添加自增
alter table tb1 modify id int auto_increment
(4)取消自增
alter table daine modify id int
(5)修改字段添加外键约束
alter table tb1 add foreign key(stu_id) references tb2(id);
(6)取消外键约束
alter table tb2 drop foreign key 约束名字;
(7)有主键后才可以添加自增;
(8)先取消自增后才可以取消主键约束
(9)添加主键、添加自增、添加外键约束的顺序:
A: 外键引用 --> 主键 --> 自增
B: 主键 --> 外键引用 --> 自增
C: 主键 --> 自增 --> 外键引用
(10)删除主键、删除自增、删除外键引用的顺序:
A: 外键引用 --> 自增 --> 主键
B: 自增 --> 外键引用 --> 主键
C: 自增 --> 主键 --> 外键引用
(11)使用any和all说明
all和any不能单独使用,需要配合单行比较操作符
>any ; 大于最小
>all ; 大于最大