自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 博客系统(java | mysql)

Mainpackage boke;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * @Author Li_ZW * @Date: 2020/06/13 * @Time: 17:49 * @Description */public class Main { private static List<String> featureList = new Arra

2020-06-13 20:00:12 264

原创 MySQL_JDBC编程

数据库编程的必备条件编程语言,如Java,C、C++、Python等数据库,如Oracle,MySQL,SQL Server等数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的,要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。Java的数据库编程:JDBCJDBC,即Java Database Connectiv

2020-06-10 17:20:27 291

原创 MySQL表的增删改查(2)

数据库约束约束类型:NOT NULL - 指示某列不能存储 NULL 值。UNIQUE - 保证某列的每行必须有唯一的值。DEFAULT - 规定没有给列赋值时的默认值。PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行

2020-06-08 22:23:25 196

原创 MySQL表的增删改查(1)

CRUD增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)新增(Create)-- 创建学生表DROP TABLE IF EXISTS student;CREATE TABLE student ( id INT, sn INT comment '学号', name VARCHAR(20) comment '姓名', qq_mail VARCHAR(20) comment 'QQ邮箱');-- 插入两条记录,value_list 数

2020-06-07 21:57:00 188

原创 MySQL数据库基础

数据库的操作显示当前数据库:SHOW DATABASES;创建数据库:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification]...]create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name--大写表示关键字--[]表示可选项--CHARACT

2020-06-06 19:22:34 177

原创 Map和Set

搜索搜索,查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),所以模型会有两种:纯 key 模型,即我们 Set 要解决的事情,只需要判断关键字在不在集合中即可,没有关联的 value;Key-Value 模型,即我们 Map 要解决的事情,需要根据指定 Key 找到关联的 Value。Map使用Map.Entry<K, V> 即 Map 中定义的 K 类型的 key 和 V 类型的 v

2020-05-30 15:22:02 152

原创 搜索树

搜索树概念:二叉搜索树又称二叉排序树,它或者是一棵空树**,或者是具有以下性质的二叉树:1. 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值2. 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值3. 它的左右子树也分别为二叉搜索树查找 插入 删除public class BinarySearchTree { public static class Node { int key; Node left; Node right; public Node(int

2020-05-29 16:36:38 213

原创 Java中几种基于比较的排序

排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时的上下文中,如果提到排序,通常指的是排升序(非降序)。通常意义上的排序,都是指的原地排序(in place sort)。稳定性,两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。直接插入排序原理:整个区间被分为有序区间和无序区间,每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入。实现: public static void insertSort

2020-05-26 16:38:51 172

原创 优先级队列——堆

优先级队列数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue)。PriorityQueue接口:static void TestPriorityQueue(){ // 创建一个空的优先级队列,底层默认容量是11 PriorityQueue<Integer> q1 = new PriorityQueue<>(); // 创建一个空的优先级队列,底层的容量为initialCapacit

2020-05-23 16:31:51 330

原创 学习二叉树的建立及其使用

基础概念节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的度为6树的度:一棵树中,最大的节点的度称为树的度; 如上图:树的度为6叶子节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I…等节点为叶节点双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 如上图:A是B的父节点孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点; 如上图:B是A的孩子节点根结点:一棵树中,没有双亲结点的结点;如上图:A节点的层次:从根开始定义起,根为第1

2020-05-20 21:48:38 344

原创 栈和队列(练习)

括号匹配问题 public static boolean isValid(String s) { Stack<Character> stack = new Stack<>(); for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); if (ch == '(' || ch == '[' || ch == '{') {

2020-05-17 17:17:40 378

原创 栈和队列

栈一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。用一个顺序表实现栈:public class MyStack { public int[] elem; //数组 public int top; //表示当前可以存放数据元素的下标

2020-05-16 21:21:44 145

原创 Java中的数据结构——List

List(线性表) public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("hello"); list.add(1,"abc"); System.out.println(list); List<String> list1 = new ArrayList<

2020-05-12 21:27:43 331

原创 Java中的字符串简介

认识String创建字符串 // 方式一 String str = "Hello world"; System.out.println(str); // 方式二 String str2 = new String("Hello world"); System.out.println(str2); // 方式三 char[] array = {'a', 'b', 'c'};

2020-05-09 16:02:25 154

原创 图书管理系统(Java)

我们运用方法、继承、接口、多态以及包等相关知识,编写一个图书管理系统。首先,我们建立一个TestMain主方法,进行登录操作:public class TestMain { public static User login() { Scanner scanner = new Scanner(System.in); System.out.println(...

2020-05-05 20:19:22 884 1

原创 Java面向对象简介

包包 (package) 是组织类的一种方式,使用包的主要目的是保证类的唯一性。import java.util.Date;//使用 import 语句导入包.public class Test { public static void main(String[] args) { Date date = new Date(); //使用 java....

2020-05-01 17:11:18 320

原创 链表练习(Java)

学习完链表之后,需要进行大量练习,从而熟能生巧。首先,我们建立一个基础链表,后续练习都建立在此基础上:class Node { public int data; public Node next; public Node(int data) { this.data = data; this.next = null; }}pub...

2020-04-29 19:30:29 245

原创 Java中的链表简介

链表链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。链表的结构非常多样,以下情况组合起来就有8种链表结构:单向(带头/不带头)(循环/非循环),双向(带头/不带头)(循环/非循环),其中无头单向非循环链表和无头双向链表需要重点掌握。无头单向非循环链表结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等。c...

2020-04-28 17:56:40 316

原创 Java中的顺序表简介

线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存...

2020-04-27 21:52:58 260

原创 Java中的算法效率简介

算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。时间复杂度一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。实际中我们计算时间复杂度时,我们使用大O的渐进表示法。大O符号(Big...

2020-04-22 17:26:33 867

原创 Java中的类和对象简介

基本概念C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向过程:注重的是过程,在整个过程中所涉及的行为,就是功能。面向对象:注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。类和类的实例化类就是一类对象的统称。对象就是这一类具体化的一...

2020-04-21 19:29:24 233

原创 Java中的数组简介

数组基本用法public static void main(String[] args) { // 动态初始化 // 数据类型[] 数组名称 = new 数据类型 [] { 初始化数据 }; int[] arr = new int[]{1, 2, 3}; // 静态初始化 // 数据类型[] 数组名称 = { 初始...

2020-04-20 15:54:47 133

原创 Java中的方法简介

方法的基本用法基本语法://方法定义public static 方法返回值 方法名称 ([参数类型 形参 ...]) { 方法体代码; [return 返回值];}//方法调用返回值变量 = 方法名称(实参...);//代码示例:实现一个方法实现两个整数相加class Test { public static void main(String[] arg...

2020-04-14 18:01:56 274

原创 Java中的运算符简介

算术运算符// + - * / %//int/int结果还是intint a = 1;int b = 2;System.out.println(a / b);//结果为0,要想得到小数需要double类型//0不能作为除数,会出现编译错误// %表示取余,不仅仅可以对int求模,也能对double求模System.out.println(11.5 % 2.0);...

2020-04-10 22:00:57 226

原创 Java中的数据类型简介

整形变量//基本语法格式int 变量名 = 初始值;//代码示例int num = 10; //定义一个整型变量System.out.println(num);注意事项:int表示变量的类型是一个整形变量名是变量的标识,后续都是通过这个名字来使用变量Java中=表示赋值(和数学不一样),意思是给变量设置一个初始值初始化操作是可选的,但是建议创建变量的时候都显示初始化不要...

2020-04-09 17:48:06 308

原创 精通学习C语言——结构体

结构体的声明//结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。//结构体的声明,语法如下:struct tag{ member-list;}variable-list;//例如描述一个学生:typedef struct Stu{ char name[20]; int age; char sex[5]; char ...

2020-04-05 21:04:00 178

原创 C语言基础练习(6)

使用指针进行字符串逆序void reverse(char* str){ int len = strlen(str); char* left = str; char* right = str + len - 1; char tmp = 0; while(left < right) { tmp = *left; ...

2020-04-03 20:36:30 411

原创 精通学习C语言——指针

指针、间接访问和左值int a;int *d = &a;指针变量可以作为左值,并不是因为它们是指针,而是因为它们是变量。对指针变量进行间接访问表示我们应该访问指针所指向的位置。间接访问指定了一个特定的内存位置,这样我们可以把间接访问表达式的结果作为左值使用。指针、间接访问和变量*&a = 25;这个表达式的意思是把值25赋值给变量a,首先&操作符产生变量a的...

2020-04-02 21:18:37 293 1

原创 C语言基础练习(5)

创建一个数组,init函数初始化0,print函数打印数组,reverse函数完成逆置。#include <stdio.h>void Init(int arr[],int sz){ int i = 0; for(i = 0; i < sz; i++) { arr[i] = i; }}void Print(int ar...

2020-04-01 20:44:26 173

原创 C语言基础练习(4)

递归递归打印一个数的每一位void Print(int a){ if(a > 9) { Print(a/10); } printf("%d ",a%10);}递归求一个数的阶乘int factorial(int n){ if(n <= 1) return 1; else ...

2020-03-31 20:30:36 249

原创 精通学习C语言——操作符(2)

表达式求值表达式求值的顺序一部分是由操作符的优先级和结合性决定,同样,有些表达式的操作数在求值的过程中可能需要转换为其他类型。C的整形算术运算总是至少以缺省整形类型的精度来进行的,为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整形,这种转换称为整形提升。整形提升的意义:表达式的整形运算要在CPU的相应运算器件内执行,CPU内整形运算器(ALU)的操作数的字节长度一般就是...

2020-03-30 17:05:35 179

原创 精通学习C语言——操作符(1)

算术操作符 + - * / %除了*%*操作符之外,其他的几个操作符可以作用于整数和浮点数。对于*/*操作符如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法。*%*操作符的两个操作数必须为整数,返回的是整除之后的余数。移位操作符 << 左移操作符 >> 右移操作符*左移操作符*移位规则左边抛弃、右边补0...

2020-03-29 19:49:54 187

原创 有趣的C语言(3)——基础版扫雷

game.h#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.h>#define EASY_COUNT 10#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2...

2020-03-28 20:13:32 244

原创 有趣的C语言(2)——三子棋

今天,运用所学知识,编写一个简单版本三子棋游戏程序。首先我们需要建立一个game.h头文件,以及game.c和test.c两个源文件,进行代码的编写。game.h#ifndef __GAME_H__#define __GAME_H__#include <stdio.h>#include <time.h>#include <stdlib.h>...

2020-03-27 16:29:21 209

原创 精通学习C语言——数组

一维数组1.1 数组的创建和初始化数组是一组相同类型元素的集合。//数组的创建方式type_t arr_name [const_n];//type_t 是指数组的元素类型//const_n 是一个常量表达式,用来指定数组的大小//数组的创建int arr1[10];//需要注意的是[]中要给一个常量才可以,不能使用变量//数组的初始化int arr1[10] = {1...

2020-03-26 15:40:28 208 1

原创 C语言基础练习(3)

用函数实现有序数列的二分查找int dic(int arr[],int k,int sz){ int left=0; int right=sz-1; int mid=0; while(left<=right) { mid=(left+right)/2; if(arr[mid]<k) { ...

2020-03-25 16:32:07 170

原创 精通学习C语言——函数(2)

ADT和黑盒C语言可以用于设计和实现抽象数据类型(ADT,abstract data type),因为它可以限制函数和数据定义的作用域。这个技巧也被称为黑盒(black box)设计。抽象数据类型的基本想法是很简单的——模块具有功能说明和接口说明,前者说明模块设计所执行的任务,后者定义模块的使用。但是,模块的用户并不需要知道模块实现的任何细节,而且除了那些定义好的接口之外,用户不能以任何方式访...

2020-03-24 17:47:02 209

原创 精通学习C语言——函数(1)

函数是什么⊙∀⊙?C语言的函数和其他语言的函数相似之处甚多,C中函数分为库函数和自定义函数,下面分别进行简单介绍。库函数C语言中的库函数,很大程度上解决了我们在编写程序中的繁琐步骤,例如经常会遇到的基本功能,开发过程中每个程序员都可能用到的,为了支持可移植性和提高效率,所以就有了库函数的产生,方便程序员进行开放。这里有一个库函数学习网址可以推荐:www.cplusplus.com 。C语言...

2020-03-23 17:04:49 269

原创 C语言基础练习(2)

编写一个程序,打印1-100中含有数字9的个数int main(){ int i = 0; int count = 0; for(i = 1; i <= 100; i++) { if(i % 10 == 9)//打印个位含9的个数 { count++; } if(i...

2020-03-22 17:45:56 192

原创 C语言基础练习(1)

编写一个程序,可以比较三个数字的大小int main(){ int a,b,c = 0; printf("请输入三个数: "); scanf("%d%d%d",&a,&b,&c); if(a < b) { int m = a; a = b; b = m; } ...

2020-03-21 16:27:16 330 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除