自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_51768153的博客

人生走的每一步路都算数!

  • 博客(45)
  • 收藏
  • 关注

原创 JavaScript概述四(DOM文档对象模型)

会把网页里面的元素当成对象去操作,包含对象的属性,属性值,方便我们去操作网页。整个页面最终会形成一个对象:document ,页面里面的所有的元素(如标签最终都会转换成js里面的对象。1.1 获取页面的元素(通过选择器)1.1.1 按id属性查找document.getElementById("id属性值");此函数只能返回两种情况,要么是0个对象(即为null),要么是1个。返回的是一个具体的对象。

2023-04-24 22:36:28 555 1

原创 JavaScript概述三(循环结构+BOM浏览器对象模型+JSON对象)

JavaScript中的普通循环和Java中的普通循环基本类似,此处以for循环为例,while和do……while便不再赘述。

2023-04-23 02:02:31 537

原创 JavaScript概述二(Date+正则表达式+Math+函数+面向对象)

注意:getMonth()返回的是0-11,表示1-12月。正则表达式可以用来检验输入数据的合法性,一般情况下,输入合法才可以进行下一步操作,输入不合法会给出提示。

2023-04-22 20:16:28 697

原创 JavaScript概述一(JavaScript介绍+JS代码引入+变量+数据类型)

JavaScript是一种基于对象和事件驱动的弱类型的脚本语言,不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。基于对象:区别于Java中的面向对象,遵循对象.方法的规则,但是没有类的概念事件驱动:脚本语言代码需要由网页中的事件来触发执行脚本语言:JS作为寄生语言,写在HTML网页中JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

2023-04-18 00:40:07 323

原创 JDBC概述三(批处理+事务操作+数据库连接池)

批处理,简而言之就是一次性执行多条SQL语句,在一定程度上可以提升执行SQL语句的速率。批处理可以通过使用Java的Statement和PreparedStatement来完成,因为这两个语句提供了用于处理批处理的方法。1.void addBatch(String sql):将需要执行的SQL语句添加到批处理中。

2023-04-15 00:57:04 593

原创 JDBC概述二(JDBC编程+案例展示)

hostname表示主机名(如果数据库在本机上,hostname可以为localhost或者127.0.0.1,如果在其他机器上,hostname为所要连接机器的IP地址),port指的是连接数据库的端口号(MySQL端口号默认为3306)databasename指的是MySQL中相应数据库的名称。方法里面的三个参数分别表示连接数据库的url,登录数据库的用户名和密码。如果执行的SQL语句是查询语句,执行结果将会返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。

2023-03-04 15:51:53 574

原创 JDBC概述一(JDBC常用的API)

在实际开发中,项目中的数据通常是存储在数据库中的,要想使用其中的数据,就必须编写程序连接到数据库对数据进行相关操作。Java对数据库的操作提供了相应的支持,它提供了一套可以执行SQL语句的API,即JDBC。

2023-02-19 23:54:55 818

原创 枚举类(enum)

定义:在某些情况下,一个类的实例对象是有限且固定的,可将该类称为“枚举类”。例如:四季只有春夏秋冬4个季节,性别只有男女2个,故四季类和性别类均可称为“枚举类”。3. 枚举类中的属性只提供get方法获取属性,不提供set方法,保证外界不能更改属性。枚举是一个特殊的类,在添加有参构造器之后,列举枚举对象的时候,必须 给属性赋值。2. 枚举类中的属性必须是private私有的,让外界不能直接访问。枚举的好处:使用枚举,可以使程序更加健壮,避免创建对象的随意性。案例:创建Color枚举类并遍历Color枚举类。

2023-02-17 21:33:38 633

原创 MySQL概述五(约束+视图)

id int(2) , -- 列级约束,id设置为主键,id不能为null,并且不能重复。-- insert into stus (name,gender) values ('鲁班','男');-- insert into stus (name,gender) values ('鲁班','男');insert into major values (1,'计算机'),(2,'历史'),(3,'音乐'),(4,'艺术');insert into stus values (1,'亚瑟','男');

2023-02-07 17:37:07 177

原创 MySQL概述四(exists+关联查询)

左外连接: left outer join on 以左边的表为驱动表(参照物),右边的表为从表,左侧的表数据都会全部显示出来,如果从表中没有数据和驱动表匹配的话,此时会显示null。右外连接: right outer join on 以右边的表为驱动表,左边的表为从表,右侧的表数据都会全部显示出来,如果从表中没有数据和驱动表匹配的话,此时会显示null。-- select th.id '英雄ID',th.name '英雄名字' ,tm.classId '分类编号',tm.name '英雄的分类'

2023-02-07 17:06:36 2504

原创 MySQL概述三(聚合函数+日期时间函数+数学函数+limit子句+group by分组+子查询)

错误写法:select * from t_hero where classId = (select classId from t_hero where name='东皇太一');错误写法:select * from t_hero where level = (select max(level),min(level) from t_hero);错误写法:select classId ,avg(level) from t_hero where avg(level)>7 group by classId;

2023-01-31 21:55:06 411

原创 MySQL概述二(单表查询+常用关键字)

1.primary key: 主键约束。特点: 1.不能为空 2.主键必须是唯一的,不能重复。auto_increment: 主键自增长,会找到当前最大的值,在他的基础上加1。2.修改列名称alter table 表名 change 原列名称 新列名称 类型;注意:如果修改的字段(列) 是主键的话,会丢失主键自动增长3.修改列类型alter table 表名 modify 字段 字段类型。

2023-01-29 21:22:03 181

原创 MySQL概述一(数据库的相关介绍+使用数据库的相关指令)

为什么要使用数据库?可以使用IO流保存数据到文件中,但是操作起来非常繁琐。例如:1.检索或者更新修改2.数据的分析和共享3.数据急剧增长,大量数据保存的问题为了解决上述的问题,故使用了数据库。数据库的作用: 数据持久化面试题:Java中数据持久化的方式有哪些?1. 变量2. 数组,集合3. 文件 (数据持久化的一种方式), 格式很乱 ,查询效率低4. 数据库(本质上也是用文件存储数据的),优点: 格式统一,查询数据快。

2023-01-25 23:03:24 121

原创 网络编程二(TCP通信+ServerSocket+Socket)

而TCP通信是严格区分客户端和服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不能主动连接客户端。ServerSocket对象负责监听某台客户端计算机的端口号,在创建ServerSocket对象后,需要继续调用该对象的accept()方法,接收来自客户端的请求。当执行了accept()方法后,服务器端程序会发生阻塞,直到客户端发出连接请求,accept()方法才会返回一个Socket()对象用于和客户端实现通信,程序才能继续向下执行。反之,用于读取服务器端发送的数据。

2023-01-22 23:12:46 791

原创 网络编程一(IP地址+端口号+UDP协议+TCP协议)

网络通信协议:通过计算机网络可以使多台计算机实现连接,但是在同一个网络中的计算机在进行连接和通信时必须遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为“网络通信协议”,它对数据的传输格式、传输速率和传输步骤做了统一的规定,通信双方必须同时遵守才能完成数据交互。端口号是用2个字节(16位的二进制数)表示的,取值范围是0-65535,其中, 公认端口:0~1023之间的端口号用于被预先定义的服务通信占用(如:HTTP占用端口80,FTP占用端口21);实现网络编程的两个要素:1.IP地址和端口号。

2023-01-13 22:20:35 659

原创 多线程3(多线程通信+线程池)

为了更好的理解线程间的通信,可以模拟现实生活中常见的生产者消费者场景,假设有生产者和消费者2个线程,同时去操作同一种商品,其中生产者线程负责生产商品,消费者线程负责消费商品。void shutdownNow():立即终止线程池,并且尝试打断正在执行的任务,清空任务列表中尚未执行的任务,也不接收新任务。void shutdown():关闭线程池,不会立即终止线程池,而是等待所有任务列表中的任务执行完之后终止,不会接收新的任务。重复利用线程池中的线程,不需要每次创建,----降低资源消耗。

2023-01-02 01:42:21 269

原创 多线程2(同步代码块+同步方法+同步锁+死锁)

由于线程有延迟,当票号减为1时,假设窗口2线程出售1号票,对票号进行判断,进入while循环,在售票之前通过sleep()方法模拟售票时耗时操作,这时窗口1线程会进行售票,由于此时票号仍为1,因此窗口1线程也会进入循环,同理,4个线程都会进入循环,休眠结束后,4个线程都会进行售票,这样就将票号减了4次,结果出现了0,-1,-2等票号。所以,锁对象的创建代码不能放到run()方法中,否则每个线程运行到run()方法都会创建一个新对象,这样每个线程都会有一个不同的锁,线程之间便不能产生同步的效果。

2022-12-29 23:34:17 950

原创 多线程1(线程的创建+生命周期+线程调度+线程休眠、让步、插队+后台线程)

定义:在操作系统中,每个独立执行的程序都可以称之为一个进程,也就是“正在运行的程序”。

2022-12-28 23:27:28 205

原创 IO流3(转换流+打印流+数据流)

在JDK中,提供了2个类用于字节流和字符流的转换:InputStreamReader和OutputStreamWriter,InputStreamReader:将InputStream转为Reader,实现将字节输入流转换为字符输入流。OutputStreamWriter:将Writer转为OutputStream,实现将字符输出流转换为字节输出流。同时,转换流也属于高级流。

2022-12-26 22:41:41 95

原创 IO流2(随机流RandomAccessFile+对象流)

RandomAccessFile不属于流类,具有读写文件数据的功能,可以随机从文件的任何位置开始执行读写文件数据的操作。RandomAccessFile对象中包含了一个记录指针来标识当前读写处的位置。RandomAccessFile的构造方法:RandomAccessFile(File file,String mode):file指定被访问的文件,mode指定文件的访问模式(即文件的操作权限)

2022-12-25 21:58:56 262

原创 IO流1(字节流+字符流+输入流+输出流+节点流+处理流)

大多数应用程序都需要实现与设备间的数据传输,如键盘输入数据、显示器显示程序运行的结果等。在Java中,将这种通过不同输入输出设备之间的数据传输抽象表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。

2022-12-25 14:32:48 395

原创 文件File类

一(File类简介)一(File类简介)通过I/O流可以对文件的内容进行读写操作,但对文件本身进行的一些常规操作是无法通过I/O流来实现的,如文件的创建、删除、重命名等。针对文件的常规操作,JDK提供了一个FIle类,该类封装了一个路径(可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径),并提供了一系列方法开操作该路径所指向的文件或目录。1.File(String pathname):通过指定的pathname为路径,创建File对象。

2022-12-20 00:26:38 421

原创 集合概述三[Map接口[Hashtable实现类(Properties子类)+HashMap实现类(LinkedHashMap子类)+TreeMap实现类]]

Map接口是一种双列集合,每个元素都包含一个键对象Key和值对象Value,键和值之间存在一种对象关系,称为“映射”。Map中的映射关系是一对一的,一个键对象Key对应唯一 一个值对象Value,其中键对象Key和值对象Value可以是任意数据类型,并且键对象Key不允许重复,这样在访问Map集合中的元素时,只要指定了对象Key,就能找到对应的对象Value。

2022-12-19 00:01:26 341

原创 集合概述二(Set接口+HashSet集合+LinkedHashSet集合+TreeSet集合)

1.Set接口和List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格。与List接口不同的是,Set接口中的元素无序(不是按照元素插入顺序来排序)且以某种规则(自然排序或定制排序)保证存入的元素不重复(自定义类型的一定要重写Object类中的equals方法和hashCode方法)。2.Set接口主要有2个实现类:HashSet和TreeSet。

2022-12-01 16:01:33 407

原创 集合概述一【Collection接口+List接口(ArrayList实现类+LinkedList实现类+Vector实现类)】

在前面的章节有所提到,数组可以保存多个对象,但是在某些情况下无法确定具体保存多少个对象,此时数组不再适用,因为在创建数组时,必须制定数组长度。数组的特点:1.数组初始化时,长度就确定了!(如果要存放的内容超出长度,需要使用copyOf来扩容)2.数组声明的类型,就决定了每个元素初始化时的类型数组的缺点:1.数组初始化后,长度不可变,不便于扩展2.数组中提供的属性和方法太少,不便于进行添加 删除 插入等操作,且效率不高。

2022-11-27 22:58:53 355

原创 异常的介绍

Java中定义了大量的异常类,虽然这些异常类可以描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特定的异常情况,例如在设计divide()方法时不允许除数为0,为了解决这样的问题,Java允许用户自定义异常类,但自定义的异常类必须继承至Exception或其子类。接下来通过一个案例来学习自定义异常的创建。package 异常;}}}if(y==0){throw new DivideByMinusException("除数是0");}}try {

2022-11-25 14:21:03 1445

原创 日期与时间类(Date,SimpleDateFormat,Calendar)

在JDK的java.util包中,提供了Date类用于表示日期和时间,精确到毫秒。随着JDK版本的不断升级和发展,Date类中的大部分构造方法和普通方法都已经不推荐使用。在JDK8中,Date类只有2个构造方法可以使用,具体如下。1.Date():用来创建当前时间的Date对象。2.Date(long date):用来创建指定时间的Date对象,初始化时间为在1970年1月1日0时0分0秒的基础上去加毫秒值表示的时间。计算机的初始时间:记为1970年1月1日0时0分0秒。

2022-11-23 23:15:34 300

原创 Object类

Java提供了一个Object类,它是所有类的父类,每个类都直接或间接继承Object类,因此Object类又称为“超类”。当定义一个类时,如果没有使用extends关键字为这个类显式指定父类,该类则会默认继承Object类。

2022-11-23 14:31:13 181

原创 包装类的基本介绍

虽然Java是面向对象的编程语言,但他所包含的8种基本数据类型却不支持面向对象的编程机制。(没有属性和方法)。Java之所以提供这8种基本数据类型,是为了方便常规数据的处理。在Java中,很多类的方法需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象。除了Integer类和Character类外,其余6个包装类的名称都与其基本数据类型保持一致,只是首字母需要大写。

2022-11-22 16:54:58 223

原创 可变字符串(StringBuffer和StringBuilder)

StringBuilder类是JDK5中新加的类,和StringBuffer之间的区别在于:StringBuilder的方法是线程不安全的,即StringBuffer不能被同步访问,而StringBuilderr可以同步访问。StringBuilder类的常见操作和StringBuffer类似,可以参考上面的StringBuffer类。2.String类重写了Object类的equals()方法,而StringBuffer类和StringBuilder类都没有重写Object类的equals()方法。

2022-11-21 23:28:43 1306

原创 正则表达式

一(含义):正则表达式是指一个用来描述或者匹配一系列符合某种语法规则的字符串的单个字符串,其实就是一种规则。

2022-11-21 19:07:35 125

原创 字符串String介绍+常用方法操作

字符串定义:由一连串字符组成不可变的字符序列。字符串底层:final char value[],字符串底层是用char数组来存储。String类的初始化:在操作String类之前,需要对String类进行初始化。在java中可以通过以下两种方式对String类进行初始化。1.使用字符串常量直接初始化一个String对象,语法格式如:String 变量名=字符串;2.使用String的构造方法初始化字符串对象,语法格式如:String 变量名=new String(字符串);

2022-11-17 18:44:46 2233

原创 内部类(成员内部类+局部内部类+静态内部类+匿名内部类)

内部类的定义:在java中,允许在一个类的内部定义类,称为内部类,这个内部类所在的类称为外部类。内部类定义在外部内的内部,通常只服务于外部类,对于其他外部是不具备可见性的。内部类应用场景:1.当某个类只为一个类提供服务时,可以将这个类定义成内部类 2.可以解决接口或者抽象类不能实例化的问题成员内部类:在一个类中除了可以定义成员变量,成年方法,还可以定义类,这样的类称为成员内部类。在成员内部类中可以访问外部类的所有成员资源(包括私有成员),例如成员变量

2022-06-10 20:57:15 4003 6

原创 面向对象(五):抽象类+接口

抽象类的定义:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的,此时可以将该类写成抽象类,再使用子类继承该抽象类,在子类里面实现方法的具体实现。抽象类的应用:在实际开发中,对于某些需求具体的实现不确定的时候,可以将这些需求对应的功能实现定义成抽象方法,等待后期子类进行实现,从而提高程序的扩展性。当要求子类必须自己去实现某个方法时,可以将父类定义成抽象类,并且将这个方法写成抽象方法。想要子类必须有某个方法,并且必须得自己实现时,可以使用抽象类,定义抽象方法。抽象修

2022-06-09 14:01:05 618

原创 面向对象(四):[状态修饰词(static关键字、final关键字),封装]

一(状态修饰词static)static即为静态的意思。它可以修饰类的成员变量,成员方法,代码块,但不能修饰局部变量。静态变量:被static修饰的成员变量,该变量称为静态变量,可以被所有实例所共享。静态方法:被static修饰的方法,该方法称为静态方法。 Java中的程序入口就是一个静态方法。public static void main(String[] args){ 方法体}访问静态变量:类名.变量名packag...

2022-04-25 23:45:48 1376 3

原创 面向对象(三):访问权限修饰符、重写、多态

一(访问修饰符)在Java中,针对类,成员方法和属性提供了4种访问级别,访问级别由大到小分别为:public---protected---default---private。public:公共访问级别,如果一个类或者类的成员被public访问控制符修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一个包中。protected:子类访问级别,如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其他类访问,也能被不同包下该类的子类访问。de..

2022-04-23 21:45:28 3045 2

原创 面向对象(二):继承、this和super关键字的使用

一(继承)继承的含义:就是抽取子类的共性,子类继承父类,就具备了父类的非私有属性和行为实现继承的语法格式:通过extends关键字实现,格式: class 子类 extends 父类注意:类与类之间只能实现单继承,就例如:你只能有一个亲生父亲一样!!!继承的好处: 1.提高了代码的复用性(多个类里边,如果有相同的成员变量或方法,则可以将这些相同的放 到同一个类中,该类就是父类,子类再使用extends继承该父类即可) 2.提高了代码的维护性(如...

2022-04-23 14:45:50 487

原创 面向对象(一):类,对象,构造方法

前言:面向对象就是一种编程思想,只需要关注结果,不需要关注过程,需要大家在以后的学习和开发过程中慢慢领悟。例如:我们需要把一头大象装进冰箱,按照面向对象来理解,只需要3步即可完成:1.打开冰箱门2.将大象装进冰箱3.关闭冰箱门。至于大象是如何装进冰箱的,我们不需关注,这就是面向对象。一(类和对象的定义):类:我们把一类具有共同的属性,特征,行为的事物归于一类,是抽象的:---->类(类别,类型)。对象:是具体存在的,符合类的定义的一个事物.例如:王者荣耀里面有很多游戏主播,游戏主播

2022-04-16 20:50:05 3510

原创 Java中的方法(函数)篇一

一(方法的定义):生活中: 我们将解决一件事情的办法(流程)称为方法。Java中:我们将完成某项功能的流程,封装起来,形成方法 。在Java当中,我们可以将 重复性或常用的操作 提取出来,封装成方法:好处:1.提高代码的复用性,节省代码量2.便于后期维护(只需要修改方法中的流程代码)定义方法的格式(方法定义在类class中):访问修饰词(public公共的) 返回值类型 方法名(方法参数){ 方法体 }定义方法的五个要素: ...

2022-04-15 22:43:41 575

原创 数组基础篇

一(数组定义):相同数据类型元素的集合,是一种数据类型-----引用类型(除了基本类型以外的类型)。二(创建数组的3种方式):以整型为例2.1 int[ ] 数组名=new int[ 数组长度];eg:int [ ] arr=new int[10];创建一个长度为10的int数组,里面存储值默认是02.2 int[ ] 数组名={值1,值2,值3……值n};eg:int [ ] arr={1,2,3,4,5} 创建一个长度为5的int数组,里面存储值依次是123452.3 int .

2022-04-15 16:26:56 821

空空如也

空空如也

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

TA关注的人

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