java基础
文章平均质量分 86
哒哒达
我又不上班叫我起床干嘛
展开
-
(JDBC四)JDBC实例(b)
第四步:为每一个接口创建相应的实现类,在实现类中实现对表的操作 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; imp...原创 2018-11-25 11:45:02 · 808 阅读 · 0 评论 -
(JDBC四)JDBC实例(a)
概述:例子为对教师信息进行增删改查。在举实例之前,需要再叙述一个规则,DAO--DataBase Access Object:数据库访问对象,用来对数据库中的表进行增删改查操作。使用时分为5步:(1)建表(2)建实体类(成员变量与表字段一一对应,并且符合JAVABEAN规范)(3)为每一个实体类创建接口(4)为每一个接口创建相应的实现类,在实现类中实现对表的操作(5)测试工程内结构如图:...原创 2018-11-25 11:42:49 · 282 阅读 · 0 评论 -
(JDBC三)封装连接
一、生成连接方法:在通过控制台对数据库表进行操作时,每个增删改查动作都需要重新连接数据库,重新创建PrepareStatement对象如果有结果集的话还需要重新创建结果集,而这些代码是很冗长的,并且如果改变了数据库的用户名及密码时我们需要在每个用到了用户名及密码的位置都进行修改,那么既然如此我们就可以将这些重复进行的代码提取出来形成数据库单元类,让这个类进行数据库的连接及创建PrepareStat...原创 2018-11-24 16:11:37 · 279 阅读 · 1 评论 -
(JDBC二)JDBC功能举例
注:在返回结果集时,我们需要用到Statement类,然而在使用该对类容易发生sql注入,那么什么是sql注入呢?所谓sql注入,就是用户通过拼接sql语句,然后改变sql结构从而可以达到登录或者其他操作。为了避免sql注入情况,我们可以使用Statement类的子类PrepareStatement类,该类与Statement类的区别就是PrepareStatement在需要参数的时候是通过”?“...原创 2018-11-18 19:47:30 · 206 阅读 · 0 评论 -
(JDBC一)JDBC概述及示例
JDBC(Java Database Connectivity):java连接数据库的工具 1.1 什么是JDBC? JDBC是java提供的一组API,用来提供连接数据库中需要用到的类和接口,也是一组规范,为不同数据库封装相同接口的一组规范,让程序更方便的连接数据库,JDBC负责提供接口,数据库厂商使用自己数据库的特点来实现接口。 1.2 目的 为了给程序员提...原创 2018-11-18 16:54:45 · 158 阅读 · 0 评论 -
(三)网络编程:聊天室(2)
第五步:既然是聊天室,那么仅仅只能一个用户自己和自己聊天,显然该该程序是有瑕疵的。那么我们就需要支持多用户同时在线聊天。这一步中,我们就需要用到多线程的概念。为什么要用到多线程?线程可以通俗的理解为每有一个新运动员便多建造一条跑道,以便所有运动员可以经历同样的从头到尾的全部过程。那如果放到程序中便是每有一个新的客户端登录,便重新经历一遍从连接成功到发送消息的过程,同时,为了能够让服务端循环的接受客...原创 2018-11-14 12:31:30 · 367 阅读 · 0 评论 -
(二)网络编程:聊天室(1)
概述:通过网络编程来实现聊天室功能第一步:建立服务端与客户端并建立连接 服务端: import java.io.IOException; import java.net.ServerSocket; public class Server { ServerSocket server; ...原创 2018-11-10 16:05:37 · 457 阅读 · 0 评论 -
(一)网络编程
概述:所谓网络编程,即通过网络实现数据的传送与接收。也就实现了人与人通过机器与机器之间的通信实现了通信。编程:下面将列出网络编程常用的方法,而其实常用方法用的的很少,其中,客户端拥有创建输入输出流的方法,为数据传输的实现提供里必要的帮助InetAddress类常用方法: ①InetAddress getLocalHost():获取本地主机名 ②InetA...原创 2018-10-28 15:38:07 · 94 阅读 · 0 评论 -
(线程四)线程池
线程池:顾名思义,充满线程的池子,通过调用Executors类方法来实现创建线程池以及进行任务的任务。例一:通过Executors类静态方法ExecutorService newFixedThreadPool(int nThread)(混合线程)来创建线程池。再调用execute方法将任务添加至线程池后便可以运行。import java.ut...原创 2018-09-30 11:05:46 · 92 阅读 · 0 评论 -
(线程三)线程同步问题示例
例一:线程同步问题示例(试衣)public class ThreadDemo06 { public static void main(String[] args) { Market market=new Market();...原创 2018-09-29 14:07:19 · 206 阅读 · 0 评论 -
(线程二)interrupt、setPriority、join方法示例
例一:interrupt方法public class ThreadDemo01 { public static void main(String[] args) { Thread t1=new Thread() { ...原创 2018-09-29 09:35:33 · 208 阅读 · 0 评论 -
(线程一)线程概念及创建线程
概念定义:线程是进程中的一个任务,也叫顺序执行流,同时执行一个进程中的多个任务(也就是执行多个顺序执行流)就是多线程 程序:是操作系统中实现功能的代码块,也叫软件 进程:正在运行中的程序 多进程:多个程序同时运行 并发:cpu在执行程序时,会将时间划分为一个一个时间片段,这些时间片段在同一时间只能有一个线程在执行,多个线程之间,时间片段是走走停停断断续续的,但是宏...原创 2018-09-26 14:49:14 · 187 阅读 · 0 评论 -
(IO流类示例四)ObjectOutputStream、ObjectInputStream、BufferedReader、PrintWriter
ObjectOutputStream(对象输入流)ObjectInputStream(对象输出流):高级流,用于将对象写入到文件中,或者从文件中读取一个对象。如果对象要能够使用上述流进行文件中的输入输出,所写入对象需要实现序列化接口,而实现序列化接口不需要实现任何方法,因为Serializeable中没有任何抽象方法,实现该接口只是为了表明该类的对象可被序列化和反序列化,并且在该类中要添加seri...原创 2018-09-24 10:40:29 · 843 阅读 · 0 评论 -
(IO流类示例三)BufferedOutputStream、BufferedInputStream、DataOutputStream、DataInputStream
BufferedOutputStream(输入流)、BufferedInputStream(输出流):缓冲字节输入输出流(高级流),高级流都需要低级流的支持,在其内部维护了一个默认大小为8k的缓冲区,当我们在进行文件复制读取内容时,会将读取到的内容先写入缓冲区中,当缓冲区满了,会一次性将数据写到硬盘上,如果我我们设置的字节数组大小大于缓冲区默认大小,则缓冲区失效,直接从硬盘上进行读取,如果我们设置...原创 2018-09-16 19:24:05 · 2043 阅读 · 0 评论 -
(IO流类示例二)OutputStream、InputStream
1.IO:Input/Output 输入:读操作,将磁盘上的内容读取到程序中 输出:写操作,将程序中的内容写到磁盘上,在流进行读写文件的时候,便于文件开通了一条管道,所以在使用完流之后要将流关闭(也就是将管道关闭)2.IO的分类: 1)按流向分: 输入流和输出流 2)按单位分: 字节流和字符流 3)按功能分: 高级...原创 2018-09-08 19:55:30 · 141 阅读 · 0 评论 -
(IO流类示例一)File类
io流:java.io.File主要是对磁盘上的文件或目录进行读取操作。但是File这个类只能够读取文件的信息(文件名、文件大小、文件是否存在等),不能对文件的内容进行操作。理解输入输出:所谓输入输出,是指将数据写入流内存中后,针对从内存中对数据的操作,定义输入与输出,当要读数据时,需要将数据读入流内存中,再从流中输出到控制台或者输出到文件中,此时称为input,而输出同理,是将数据写入流内存...原创 2018-09-02 20:29:27 · 279 阅读 · 0 评论 -
java杂识
1.任何对象与null比较均返回false2.==比较地址,equals比较内容3.instanceof方法为当前对象是否是当前类的一个实例4.string比较不能用==,只能使用equals5.内存分为堆、栈、方法池6.引用=引用时为地址赋值,即两个引用存储同一地址信息,指向同一常量7.在String中引用常量时先在常量池内进行查找,如果有该常量则直接使用即地址指向该常量,如果没有则...原创 2018-09-01 16:41:30 · 192 阅读 · 0 评论 -
日期类
一、Date类: 构造器: Data():获取系统当前时间 方法: long getTime():获取距离纪元的毫秒数(纪元:1970年1月1日0时0分0秒) 二、SimpleDateFormat类: 构造器: SimpleDateFormat(String pattern) 匹配字符:y,M,d,H,h,m...原创 2018-09-01 09:10:44 · 115 阅读 · 0 评论 -
(集合六)Map接口(HashMap)示例
Map接口方法: ①void clear():从此映射中移除所有映射关系 ②boolean containKey(Object Key):判断此映射是否包含指定键的映射关系,若有返回true ③boolean containValue(Object value):判断此映射是否包含指定键的映...原创 2018-08-31 15:38:48 · 472 阅读 · 0 评论 -
(集合五)Set接口、Queue接口、Deque接口、Stack栈结构示例
Set接口:与List接口方法相似,当添加元素为重复元素时,那么此元素将不会被添加进集合,Set集合无序,可添加null。例一: package com.hyxy;import java.util.HashSet;import ...原创 2018-08-21 10:23:09 · 171 阅读 · 0 评论 -
(集合四)Comparable接口示例
Comparable接口: 如果想要对某个集合元素之间实现比较,非自定义类可以通过工具类Collections中的sort()方法来实现自然排序(从小到大),自定义类必须通过实现Comparable<>接口且必须重写方法int compareTo(T t)自定义排序规则来实现排序,之后再调用Collections中的sort方法(sort()方...原创 2018-08-20 16:03:00 · 391 阅读 · 0 评论 -
(集合三)泛型示例
泛型机制:本质为参数化类型,在类、接口和方法的定义过程中,所操作的数据类型通过传入的参数进行指定。在jdk1.5添加的新特性。 ①创建集合对象时可以直接指定放入集合中的元素类型 ②java编译器可以根据此类型进行检查,可减少代码在运行时出现错误的可能性 例一: //自定义一个集合...原创 2018-08-16 18:17:39 · 157 阅读 · 0 评论 -
(集合二)Collection、List、集合数组转换、Iterator迭代器示例
Collection接口方法: ①boolean add(E e):向集合末尾添加指定元素 ②boolean addAll(Collection<? extends E> c)addAll(int index,Collection<? extends E>c)向集合内(指定位置index)添加...原创 2018-08-14 19:00:14 · 3347 阅读 · 0 评论 -
(集合一)集合
一、集合与数组 相同点:都可存储一系列数据,即都为数据的容器,存储Object类型时存储对象都为引用类型 不同点:1) 数组可存储基本数据类型,集合不可以 2)数组长度为定值,数组内数据数量未知时不宜使用;集合长度可变,较数组更为灵活,适用性更广。 注:同一数组可存储不同数据类型的数组,例:Object[] arr={"S...原创 2018-08-12 14:32:22 · 268 阅读 · 0 评论 -
正则表达式(校验规则)
正则表达式 说明 [abc] a、b、c中任意一个字符 [^abc] 除了abc的任意一个字符 [a-z] a-z中任意一个字符 [a-zA-Z0-9] a-zA-Z0-9中任意一个字符 ...原创 2018-08-02 20:55:48 · 11622 阅读 · 0 评论 -
(心得三)java俄罗斯方块小游戏编写心得
在”java俄罗斯方块小游戏编写心得02”中,我们已经做到了方块的各种功能的实现,那么接下来我们需要一个destroyLine()方法来对方块进行消除。我们需要想一个问题,当一个方块下落后,最多消除的行数也就只是方块可以达到的最大的行数。所以我们首先需要从方块行数最低的那个开始向下扫描,扫描每一个最基本小方块所处的行是否已经满了,如果没满,那么继续向下扫描,如果满了,那么该行消除,该行的上...原创 2020-05-10 10:25:23 · 2225 阅读 · 2 评论 -
(心得二)java俄罗斯方块小游戏编写心得
在“java俄罗斯方块小游戏编写心得01”中已经将游戏界面完成,那么接下来就是要让方块动起来。 我们之前在写Cell类时,曾经给每个最基本小方块定义了三个方法,即左移、右移、下落,而七种方块皆是由四个最基本小方块组成,所以我们可以在Tetromino类中定义一个七种方块自动下落方法,然后在方法中对七种方块的四个最基本小方块分别调最基本小方块的下落方法,这样就可以使七种小方块动起来...原创 2018-07-23 14:07:28 · 1693 阅读 · 3 评论 -
(心得一)java俄罗斯方块小游戏编写心得
首先,对游戏进行分析,俄罗斯方块由七种方块及游戏界面组成,再进行细分,七种方块可拆分成四个最基本小方块,而游戏界面可分为窗体上嵌入一块游戏面板。所以,首先对游戏的最基本元素最基本小方块进行构造,编写一个Cell类对Cell类进行分析,最基本小方块所具有的属性为行row,列col,图片Image;所具有的行为为左移,右移,下落(七种方块的左移、右移、下落实质上为最基本小方块的左移、右移、...原创 2018-05-27 10:53:18 · 9287 阅读 · 3 评论