类的成员之代码块(或初始化块)
1. 代码块的作用:用来初始化类、对象* 2. 代码块如果有修饰的话,只能使用static.* 3. 分类:静态代码块 vs 非静态代码块** 4. 静态代码块* >内部可以有输出语句* >随着类的加载而执行,而且只执行一次* >作用:初始化类的信息* >如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行* >静态代码块的执行要优先于非静态代码块的执行* ...
final关键字的介绍及使用
* final:最终的** 1. final可以用来修饰的结构:类、方法、变量** 2. final 用来修饰一个类:此类不能被其他类所继承。* 比如:String类、System类、StringBuffer类** 3. final 用来修饰方法:表明此方法不可以被重写* 比如:Object类中getClass();** 4. final 用来修饰变量:此时的"变量"就称为是一个常量* 4.1 fi...
抽象类的应用:模板方法的设计模式
public class TemplateTest { public static void main(String[] args) { Template t = new SubTemplate(); t.spendTime(); }}abstract class Template{ //计算code的执行花费的时间 public void spendTime(){ long start = System.currentTimeMillis(); code(); //易变的.
01、数据库的基本概念及软件安装
01、数据库的基本概念及软件安装数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQLMySQL数据库软件1. 安装2. 卸载 1. 去mysql的安装目录找到my.ini文件 * 复制 datadir="C:/Pro...
03、DDL:操作数据库、表
1. 操作数据库:CRUD 1. C(Create):创建 * 创建数据库: * create database 数据库名称; * 创建数据库,判断不存在,再创建: * create database if not exists 数据库名称; * 创建数据库,并指定字符集 * create database 数据库名称 character set 字符集名; ...
04、DML:增删改表中数据
04、DML:增删改表中数据添加数据:语法:insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);注意:列名和值要一一对应。如果表名后,不定义列名,则默认给所有列添加值insert into 表名 values(值1,值2,…值n);除了数字类型,其他类型需要使用引号(单双都可以)引起来删除数据:语法:delete from 表名 [where 条件]注意:如果不加条件,则删除表中所有记录。如果要删除所有记录
05、DQL:查询表中的记录
* select * from 表名;1. 语法: select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定2. 基础查询 1. 多个字段的查询 select 字段名1,字段名2... from 表名...
interface关键字的介绍及使用
一、接口的定义与使用格式:(1)接口体中的抽象方法和常量JDK8版本之前,接口体中只有抽象方法,访问权限一定都是public(允许省略public、abstract修饰符)。所有的static常量的访问权限一定都是public(允许省略public、final和static修饰符,接口中不会有变量)(2)接口体中的default实例方法从JDK8版本开始,允许使用default关键字,在接口体中定义称作default的实例方法(不可以定义default的static方法),de...
1、JavaSwing 布局管理器——FlowLayout(流式布局)
概述官方JavaDocsApi: https://docs.oracle.com/javase/8/docs/api/java/awt/FlowLayout.htmlFlowLayout,流式布局管理器。按水平方向依次排列放置组件,排满一行,换下一行继续排列。排列方向(左到右 或 右到左)取决于容器的componentOrientation属性(该属性属于Component),它可能的值如下:ComponentOrientation.LEFT_TO_RIGHT(默认) Component.
2、JavaSwing 布局管理器——GridLayout(网格布局)
概述官方JavaDocsApi: https://docs.oracle.com/javase/8/docs/api/java/awt/GridLayout.htmlGridLayout,网格布局管理器。它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格。以行数和总数优先: 通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略。列数通过指定的行数和布局中的组件..
3、JavaSwing 布局管理器——BoxLayout(箱式布局)
概述官方JavaDocsApi:https://docs.oracle.com/javase/8/docs/api/javax/swing/BoxLayout.htmlhttps://docs.oracle.com/javase/8/docs/api/javax/swing/Box.htmlBoxLayout,箱式布局管理器。它把若干组件按水平或垂直方向依次排列放置。Swing 提供了一个实现了 BoxLayout 的容器组件Box。使用 Box 提供的静态方法,可快速创建水平/垂.
4、JavaSwing 布局管理器——CardLayout(卡片布局)
概述官方JavaDocsApi: https://docs.oracle.com/javase/8/docs/api/java/awt/CardLayout.htmlCardLayout,卡片布局管理器。它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,容器则充当卡片的堆栈,默认显示第一张卡片。CardLayout 构造方法 // 创建一个间距大小为 0 的卡片布局 CardLayout() // 创建一个指定水平/垂直间距大小的卡片布...
5、JavaSwing 布局管理器——BorderLayout(边界布局)
概述官方JavaDocsApi: https://docs.oracle.com/javase/8/docs/api/java/awt/BorderLayout.htmlBorderLayout,边界布局管理器。它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。BorderLayout 构造方法: // 构造一个组件之间没有间距的新边框布局 BorderLayout() // 构造一个具有指定组件间距的边框布局 .
经典排序算法介绍及源码(c++实现)
算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 时间复杂度:对排序数据的总
SetConsoleTextAttribute函数改变文字和背景颜色
C语言不总是“黑底白字”,它也可以是彩色的,可以调用Windows.h头文件下的SetConsoleTextAttribute函数改变文字和背景颜色。调用形式为:SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );hConsoleOutput表示控制台缓冲区句柄,可以通过GetStdHandle(STD_OUTPUT_HANDLE)来获得;wAttributes表示文字颜色和背景颜色。这里不去追究HANDLE的
在屏幕的任意位置输出字符
因为用到了 Windo光标定位需要使用 windows.h 头文件中的SetConsoleCursorPosition函数,它的使用方式为:SetConsoleCursorPosition(HANDLE hConsoleOutput, COORD dwCursorPosition);hConsoleOutput表示控制台缓冲区句柄,可通过GetStdHandle(STD_OUTPUT_HANDLE)来获得;dwCursorPosition是光标位置,也就是第几行第几列,它是 COORD 类型的结
“const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
"const char *" 类型的值不能用于初始化 "char *" 类型的实体的三种解决方法意思很明确const char* 和char *类型不匹配解决的方法有三种:第一种:在visual studio中,在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。第二种:使用强制类型转换://有问题代码char *str2 = "hello world";//正确的代码char *str2 = (char *)"hello w
今日推荐
周排行