新知
mysql启动和停止的两种方式:1.Win+R,输入services.msc;2.用cmd以管理员身份运行,启动指令:net start mysql80,停止指令:net stop mysql80。
创建完表后要加一个分号再回车,才能运行成功。
最后一个字段的后面不需要加逗号
质数也叫素数,如果一个数只能被1和本身整除,那这个数就是质数,否则叫合数。
between之后跟最小值,and后跟最大值。
升序排列asc可以省略。
数据库相关概念:
数据库(DataBase,简称DB):存储数据的仓库,数据是有组织的进行存储
数据库管理系统(DataBase Management System,简称DBMS):操纵和管理数据库的大型软件
SQL(Structured Query language,简称SQL):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
MySQL的数据类型:MySQL中有很多数据类型,其中主要分为三类:数值类型,字符串类型,日期时间类型
数值类型:
整数类型:
TINYINT 一个字节 相当于java中的byte
SMALLINT(短整型) 两个字节 相当于java中的short
INTEGER(整形) 四个字节 相当于java中的int
BIGINT 八个字节 相当于java中的long
其中特有的是:MEDIUMINT 三个字节
浮点数类型:
FLOAT(单精度浮点型) 四个字节 与java中相同
DOUBLE(双精度浮点型) 八个字节 与java中相同
定点数类型:
DECIMAL(M,D) 字节数等于M+2 M参数表示精度,是数据的总长度,小数点不占位置,D参数表示标度,指小数点后的长度
日期和时间类型:
YEAR类型表示年份 一个字节 范围是1901~2155 格式:YYYY
DATE类型表示日期 三个字节 范围是1000-01-01~9999-12-31 格式:YYYY-MM-DD
TIME类型表示时间 三个字节 范围是’-838:59:59‘~’838:59:59‘ 格式:HH:MM:SS
DATETIME和TIMESTAMP类型表示时间和日期
DATETIME 八个字节 范围是:1000-01-01 00:00:00~ 9999-12-31 23:59:59 格式:YYYY-MM-DD HH:MM:SS
TIMESTAMP 四个字节 范围是:1970-01-01 00:00:00~2038 格式:YYYYMMDDHHMMSS
每个时间类型都有一个有效值范围和一个”零“值,当输入不合法的值时,MySQL使用”零“值插入。
字符串类型包括CHAR,VARCHAR,BLOB,TEXT,ENUM,SET
CHAR类型的长度是固定的,在创建表时就指定了。其长度可以是0~255的任意值。
VARCHAR类型的长度是可变的,在创建表时指定了最大长度。定义时,其最大值可以取0~65535之间的任意值。指定了VARCHAR类 型的最大值以后,其长度可以在0到最大长度之间,VARCHAR类型实际占用的空间是字符串的实际长度加1,因为VARCHAR类型的字 符串的结束标识符占用了一个字节
TEXT类型是一种特殊的字符串类型,只能保存字符数据。TEXT类型包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,各种TEXT类型的区别在于允许的长度和存储空间不同
ENUM类型又称枚举类型。在创建表时,ENUM类型的取值范围就以列表的形式指定了
属性名 enum(‘值1’,‘值2’,...,‘值 n’)
属性名参数指字段的名称,“值 n”参数表示列表中的第n 个值,这些值末尾的空格将会被系统直接删除。ENUM类型的值只能取列表中的一个元素。其取值列表中最多能有65535个值。列表中的每个值都有一个顺序排列的编号,MySQL中存入的是这个编号,而不是列表中的值。
xml是可扩展的标记性语言
复习
多行注释的开头(“/*”)会找距离它最近的(“*/”)作为结尾。
多行注释和单行注释最好不要嵌套
关键字的字母全部小写
空类型(null)不能直接打印,若要打印,需要用字符串形式
在计算机中,任意的数据都是以二进制的形式存储的。
二进制以0b开头
八进制以0开头
十六进制以0x开头
光学三原色:红、绿、蓝 取值范围:0~255
标识符:就是给类、方法、变量等起的名字。
在代码中,如果在计算的时候有小数参与,结果有可能是不精确的。
若只有整数参与运算,那结果只能是整数。
取余%的应用场景:1.判断一个数能否被另一个数整除,2.判断一个数是否为偶数
+运算符操作的三种情况:1.数字相加,2.字符串相加,3.字符相加
隐式转换:byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。
扩展的赋值运算符隐含了强制类型转换
短路逻辑运算符具有短路效果,当左边的表达式能确定最终的效果,右边就不再参与运行。
三元运算符的作用:可以进行判断,根据判断的结果得到不同的内容。
整个三元运算符的结果必须被使用。
ctrl + alt + L 自动格式化代码,idea中的快捷键可能与其他软件的快捷键冲突。
运算符的优先级中,小括号的优先级最高。
流程控制语句:通过一些语句,控制程序的执行流程。
如果对一个布尔类型的变量进行判断,尽量不用==号,可以直接把变量写在小括号内。
if的第三种格式中else可以省略不写。
switch的表达式的取值可以是byte、short、int、char类型,JDK5之后可以是枚举,JDK7之后可以是字符串。
case后面的值只能是字面量,不能是变量。
case给出的值不能重复。
switch的新特性:JDK12之后,简化switch流程控制语句,用->进行简化,可以不用再写break。
if的第三种格式和switch的各自使用场景:if的第三种格式一般用于对范围的判断;switch把有限个数据一一列举出来,选择其一。
for循环和while循环的区别不是初始化语句的位置不同。
可以用while循环来验证回文数。
数组中也存在隐式转换,int类型的数据可以存储在double中,进行了隐式转换。
数组地址值的格式含义:例,[D@776ec8df。
[:表示当前是一个数组
D:表示当前数组里面的元素都是double类型的
@:表示一个间隔符号。(固定格式)
776ec8df:才是数组真正的地址值(十六进制表现形式)。
但是一般将[D@776ec8df这个整体叫做地址值。
一个循环尽量只做一件事情。
数组默认初始化值规律:
字符类型:默认初始化值'/u0000' 表示一个空格
方法是程序中最小的执行单元。
System.out.println("abc");//先打印abc,再换行
System.out.print("abc");//只打印abc,不换行
System.out.println();//不打印任何数据,只做换行处理