- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 数据结构之Collextion接口、Map接口
Collection接口的常用方法 方法 说明 boolean add(E e) 将元素 e 放入集合中 void clear() 删除集合中的所有元素 boolean isEmpty() 判断集合是否没有任何元素,俗称空集合 boolean remove(Object e) 如果元素 e 出现在集合中,删除其中一个 int size() 返回集合中的元素个数 Object[] toArray() 返回一个装有所有集合中元素的数组 Map接口的常用方法 方法.
2021-04-06 23:14:31
236
原创 数据库约束
数据库约束 NULL 约束 创建表时,可以指定某列不为空: -- 重新设置学生表结构 DROP TABLE IF EXISTS student; CREATE TABLE student ( id INT NOT NULL, sn INT, name VARCHAR(20), qq_mail VARCHAR(20) ); UNIQUE:唯一约束 指定 sn 列为唯一的、不重复的: -- 重新设置学生表结构 DROP TABLE IF EXISTS student; CREATE TABLE stu
2021-03-03 21:07:48
292
1
原创 表的创建和删除
表的操作 需要操作数据库中的表时,需要先使用该数据库: use db_test; 1、查看表结构 desc 表名; 2、创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ); 使用comment增加字段说明 示例: create table stu_test ( id int, name varchar(20) comment '姓名', password varchar(50)
2021-03-02 18:22:27
324
原创 关于数据库的一些操作和常见数据类型
数据库的分类 数据库大体可以分为 关系型数据库 和 非关系型数据库 关系型数据库(RDBMS): 是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如: Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。 MySQL:属于甲骨文,不适合做复杂的业务。开源免费。 SQL Server:微软的产品,安
2021-03-02 08:28:00
291
原创 StringBuffer和StringBuilder
StringBuffer和StringBuilder StringBuffer和StringBuilder 的大部分功能是相似的。 重点介绍一下StringBuffer StringBuffer StringBuffer类的继承结构 public final class StringBuffer extendsAbstractStringBuilder implements java.io.Serializable,CharSequence StringBuffer类是"CharSequence"接口的子类
2021-02-27 19:08:15
122
原创 字符串拆分、截取、转大小写
字符串的拆分 1、public String[] split(String regex) //将字符串全部拆分 2、public String[] split(String regex,int limit) //将字符串部分拆分,该数组长度就是limit极限 String str = "hello world hello china"; String[] ret = str.split(" "); //按照空格拆分 for (String s: ret) {
2021-02-26 17:54:59
656
原创 字符串的比较、查找、替换
字符串的比较 1、public boolean equals(Object anObject) //区分大小写的比较 2、public boolean equalsIgnoreCase(String anotherString) //不区分大小写的比较 3、public nt compareTo(String anotherString) //比较两个字符串大小 String str1 = "abcde"; String str2 = "Abcde"; System.out.println(str1.eq
2021-02-26 13:58:52
361
原创 字符、字节、字符串之间的相互转换
字符与字符串 字符转字符串 String有两个char类型的构造函数 1、public String(char value[])//将字符数组中的所有内容变为字符串 char[] arr = {'a','b','c'}; String str = new String(arr); System.out.println(str); //结果为 abc 2、public String(char value[],int offset, int count) //将部分字符数组中的内容变为字符串 offse
2021-02-25 13:49:52
3247
原创 如何创建字符串、字符串在内存上的存储、字符串之间比较、字符串的不可变性
创建字符串 常见的构造String的方式 方式1 String str = "Hello World!"; 方式2 String str2 = new String("Hello World"); 方式3 char[] arr = {'a','b','c'}; String str3 = new String(arr); 在官方文档上 (https://docs.oracle.com/javase/8/docs/api/index.html) 我们可以看到 String 还支持很多其他的构造方式,
2021-02-23 14:27:36
244
原创 异常
异常 异常指的就是程序在 运行时 出现错误时通知调用者的一种机制. 编译时错误:例如写代码出现拼写错误飘红, System.out.println 拼写错了, 写成了 system.out.println. 运行时异常:程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误. 防御式编程 LBYL: Look Before You Leap. 在操作之前就做充分的检查. EAFP: It’s Easier to Ask Forgiveness than Permission. “事后
2021-02-23 13:30:02
429
1
原创 接口
接口 接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法, 和字段. 而接口中包含的方法都是抽象方法, 字段只能包含静态常量. 语法规则 interface IShape { void draw(); } class Cycle implements IShape { @Override public void draw() { System.out.println("○"); } } public class Test { public static void main(String[]
2021-02-20 12:48:46
124
原创 抽象类
抽象类 没有实际工作的方法可以定义为抽象方法,包含抽象方法的类定义为抽象类。 规则 class Shape { public void draw() { // 啥都不用干 } } class Cycle extends Shape { @Override public void draw() { System.out.println("○"); } } class Rect extends Shape { @Override public void draw() { System
2021-02-18 08:15:49
136
原创 继承
继承 Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。 类和类之间的继承关系可以用UML符号表示,其中父类又叫超类或基类,子类又叫派生类。父类是子类的一般化,子类是父类的特化(具体化)。 JAVA不支持多继承,单继承使
2021-02-10 02:36:18
253
3
原创 包
包 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 包的命名规则 如何在IDEA中创建包 包的访问权限控制 常见的系统包 导入常见系统包 继承 规则 protected 关键字 final 关键字 多态 向上转型 动态绑定 向下转型 super 关键字 抽象类 规则 作用 接口 ...
2021-02-10 02:10:17
235
原创 顺序表和链表的区别、链表的OJ题
顺序表和链表的区别 顺序表的优缺点 优点 空间连续 支持随机访问 缺点 顺序表中间/头部的插入删除,时间复杂度为O(N) 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。 链表的优缺点 优点 任意位置插入删除时间复杂度为O(1) 没有增容问题,插入一个开辟一个空间。 缺点 以节点为单位存储,不支持随机访问 区别 顺序
2021-02-06 23:45:46
252
原创 链表
链表 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 实际中链表的结构非常多样,以下情况组合起来就有8种链表结构: 单向、双向 带头、不带头 循环、非循环 无头单向非循环链表 结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。 实现无头单向非循环链表 class Node{ public int data; public Node next; public Node(int d
2021-02-06 01:08:02
196
原创 顺序表
线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。 顺序表 定义 用一段物理地址连续的存储单元依次存储数据元素的线性结构。 一般采用数组存储,在数组中进行数据的增删查改 静态顺序表 使用定长数组存储。 适用于知道存多少数据的场景 动态顺序表 使用动态开辟
2021-02-05 10:53:05
112
原创 时间复杂度 空间复杂度
算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被 称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额 外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的 迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复 杂度。 时间复杂度 时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时
2021-02-03 10:47:23
294
原创 类和对象
什么是面向对象 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。 面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。 举个例子 面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来 面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰
2021-02-02 11:39:51
125
原创 递归的练习
递归 问题一:递归求 1 + 2 + 3 + … + 10 public static void main(String[] args) { int a = 10; System.out.println(sum(a)); } public static int sum(int a){ if (a == 1){ return 1; } return a+sum(a-1); } 问题二:写一个递归方法,输入一个非负整数,返回组成它的数字之和. 例如,输入 1
2021-01-24 11:09:52
158
原创 方法、方法的重载、方法的递归
方法 方法的定义 public static 返回类型 方法名称(参数类型 形参,参数类型 形参, ...){ 方法体代码; return 返回值: } 注意事项: 1、方法定义时, 参数可以没有. 每个参数要指定类型 2、方法定义时, 返回值也可以没有, 如果没有返回值, 则返回值类型应写成 void 3、方法定义时的参数称为 “形参”, 方法调用时的参数称为 “实参”. 4、方法的定义必须在类之中, 代码书写在调用位置的上方或者下方均可. 5、Java 中没有 “函数声明” 这样的概念 方法的调用
2021-01-22 20:38:34
97
原创 Java中程序的逻辑控制语句
1、顺序结构 2、分支结构 1)if语句 单分支 双分支 多分支 2)switch语句 3、循环结构 1)while循环 2)break 3)continue 4)for 循环 4、输入输出 1)输出到控制台 2)从键盘输入
2021-01-22 19:49:52
113
原创 运算符
运算符 一、算数运算符 1、基本运算符 1)加法(+) int a = 10; int b = 10; System.out.println(a+b); //结果为 20 int a = 10; double b = 1.2; System.out.println(a+b);//自动将 int 类型的a提为 double 类型然后在运算(范围小的提升为范围大的) //结果为 11.2 2)减法(-) int a = 15; in
2021-01-05 14:25:41
581
原创 强制类型转换
强制类型转换 Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验. int 和 long/double 相互赋值
2021-01-04 00:23:36
153
原创 String类型
String (字符串类型) 基本语法格式 String 变量名 = "初始值"; 代码示例 String str = "name"; System.out.println(str);//打印str并换行 System.out.print("打印且不换行"); System.out.printf("%s\n","格式化打印"); 注意事项 Java 使用 双引号 + 若干字符 的方式表示字符串字面值. String 不是基本类型, 而是引用类型 字符串中的一些特定的不太方便直接表示的字符需要
2021-01-03 13:52:04
294
原创 java的八种基本数据类型
java的八种基本数据类型 一、Int (整型) 1、基本概念 int 变量名 = 初始值; 4个字节 包装类:Integer 2、代码示例 int a = 10;//定义变量a并对其初始化 int a;//定义变量a a = 10;//初始化 3、数据范围:-2^31 ~ 2^31-1 System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); 4、溢出现象 (超出
2021-01-03 11:39:47
193
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅