- 博客(69)
- 收藏
- 关注
原创 牛客笔试输入问题
1.输入两行数据,每行的数据用逗号分开如:1,3,5 2,4,6import java.util.Scanner;public static void main(String[] args){ Scanner sc = new Scanner(System.in); // 存储两行数据 String[] str1 = new String[2]; ...
2019-10-14 22:08:37
827
原创 剑指offer: 树的遍历 (java)
【二叉树基本概念】二叉树基本概念: 1) 节点的度。节点所拥有子树的个数称为该节点的度。 2) 叶节点。度为0的节点。 3) 分支节点。度不为0的节点。 4) 节点的层数。规定树的根节点层数为1,其余节点的层数为其双亲节点的层数+1。 5) 树的深度。树中所有节点的最大层数为树的深度。 6) 树的度。树中各节点度的最大值为该树的度。 7) 满二叉树。在一棵二叉树...
2019-08-17 20:13:06
173
原创 剑指offer: 自上而下分析问题自下而上解决问题系列(java)
题目:一个字符串s由ABC组成,长度为n,s经过修改变为s`,长度为k,s`是"ABCABCABC..."的子字符串。求s变为s`的最小改动次数。输入:s:字符串n:s的长度k:s`的长度k输出:s变为s`最小的改动次数例子:输入:s="ABBB" n=4 k=2输出:2解法:设f(n)为长为n的s满足"ABCABCABC..."的最长子串。当:s[n...
2019-08-12 15:03:43
583
原创 剑指offer 面试题21:调整数组顺序使奇数位于偶数前(java)
题目描述: 输入一个整数数组,实现一个函数调整该数组中的数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。解析: 1、维护两个指针p1,p2。首先,第一个指针p1指向第一个元素,第二个指针p2指向最后一个元素。 2.、第一个指针p1向后移动,直到它指向偶数;第二个指针p2向前移动,直到它指向奇数。使用(where) ...
2019-07-24 17:22:56
183
原创 剑指offer 面试题20:表示数值的字符串(java)
题目描述: 实现一个函数来判断字符串是否表示数值(包括整数和小数)例如:"5e2"、"+10"、"5.2"、"-1E-6" 都表示数值,但"1a3.6"、"2e4.3"、"5e"、"1.2.3"、"+-5"、"11-"都不表示数值。解析: 表示数值的字符串遵循模式A . B [e/E] C 或者. B [e/E] C 。其中A为数值的整数部分,B为数值的小...
2019-07-24 15:00:20
133
原创 (java)数据库(五)事务
【事务概述】 1.什么是事务? 逻辑上的一组操作,组成这组操作的各个单元要么全部成功,要么全部失败。 2.mysql事务 默认的事务:一条sql语句就是一个事务,默认就开启事务并提交事务。 手动事务:(1) 显示的开启一个事务 -- start transaction...
2019-02-07 16:17:21
436
原创 (java)网络编程(一)
【网络通信协议】 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通讯时,需要遵循一定的规则。在计算机网络中,这些连接和通讯的规则被称为网络通信协议。它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据的交换。目前应用最广泛的是TCP/IP、UDP协议。【IP地址和端口号】 IP地址:要想...
2018-12-05 21:53:08
260
原创 (java)数据库(四)DBUtils工具、DBCP连接池
【DBUtils工具概述】 为了简化JDBC开发,使用apache commons 组件一个成员:DBUtils。 DBUtils 是java编程中的数据库操作实用工具,小巧简单实用。 Dbutils三个核心功能介绍: (1) QueryRunner 中提供对sql语句操作的API ...
2018-11-26 21:55:37
216
原创 (java)数据库(三)自定义JDBC工具
【JDBCutils】工具类 自己写JDBCUtils类 定义静态方法 1.获取数据库连接对象 2. 关闭资源方法import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import jav...
2018-11-24 14:56:26
210
原创 (java)数据库(二)JDBC
【JDBC】 (java Data Base Connectivity, java数据库连接)是一种用于执行SQL语句的java API,可以为多种关系数据库提供统一访问,是由java语言编写的类和接口组成。也是java访问数据库标准规范。【JDBC 原理】 java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。JDBC是接口,驱动是接口的实现类...
2018-11-21 21:34:23
196
原创 (java)数据库(一)MySQL
【数据库】 数据库是存储数据的仓库,本质是一个文件系统,将数据按照特定的格式存储起来,使用户可以对数据库中的数据进行增加、删除、修改和查询。【数据库管理系统】 数据库管理系统(DataBase Management System,DBMS)是指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全和完整性...
2018-11-21 16:49:28
392
原创 (java)多线程(二)线程安全问题
【线程安全】 线程安全 -- 如果有多个线程同时运行,程序每次运行的结果和单线程运行的结果一样,且其他变量的值也和预期的一样。 线程安全产生都是全局变量、静态变量引起的。若每个线程对对全局变量、静态变量只有读操作,而无写操作,一般来说这个全局变量是线程安全的;若有多个线程同时执行写操作,一般需考虑线程同步,否则就有可能影响线程安全。 线程同步机制能够解决上述线程安全问题 ...
2018-11-18 15:38:17
132
原创 (java)多线程(一)创建多线程
【创建多线程的方式】 (1)继承Thread类 (2)实现Runnable接口实现类 (3)匿名内部类实现 (4)实现Callable接口实现类,有返回值 【1. 继承Thread类 -- 创建多线程】/* * 定义子类,继承Thread,重写方法run() * 获取线...
2018-11-16 22:00:29
126
原创 (java)IO流对象(六)集合Properties类、序列化流、反序列化流、打印流
【Properties特点】/* * 集合对象Properties类特点: * 1. 继承Hashtable,实现Map接口 * 2. 该集合无泛型,键值都是字符串 * 3. 键值可以存储到集合中,也可以存储到持久化的设备如硬盘、U盘、光盘上。键值的来源也可是持久化的设备 * 4. 可以和IO对象结合使用,有和流技术相结合的方法 */【Pro...
2018-11-15 19:04:30
206
原创 (java)IO流对象(五)缓冲流
/* * 获取方法的内容一般都有返回值 * int类型 若没有了,返回的都是负数 * 引用类型 若没有了,返回的是null * boolean 若没有了,返回的都是false */ 【字节缓冲流】import java.io.BufferedInputStream;import java.io.BufferedOutput...
2018-11-14 21:33:43
178
原创 (Java)IO流对象(四)转换流
【转换流】OutputStreamWriter | --- FileWriterInputStreamReader | --- FileReader 【OutputStreamWriter转换流】字符转字节 | -- FileWriter (不能设定编码表,为系统默认的)import jav...
2018-11-14 15:40:05
328
原创 (Java)基本类型
【基本类型】---- 4类8种四类 八种 字节数 数据表示范围 整型 byte 1 -128~127 short 2 -32768~32767 int 4 -2147483648~2147483648 long 8 -2^63~2^63-1 ...
2018-11-14 15:34:07
137
原创 (Java)IO流对象(三)字符流
【字符流】 Writer() 所有字符输出流的超类 | --- OutputStreamWriter 转换流 字符转字节 | --- FileWriter | --- BufferedWriter ...
2018-11-13 19:51:39
140
原创 (Java)IO流对象(二)字节流
【字节流】 OutputStream() 所有字节输出流的超类 | --- FileOutputStream | --- BufferedOutputStream 字节输出流缓冲流 InputStream() 所...
2018-11-13 15:27:40
214
原创 (Java)IO流对象(一)File类
【File分隔符】--File静态变量import java.io.File;/* * java.io.File * 将操作系统中的,文件(file),目录(directory)(文件夹),路径(path),封装成File对象 * 提供方法,操作系统中的内容 File是与系统无关的类 */public class FileDemo1 { publ...
2018-11-12 14:55:04
196
原创 (Java)异常
【Throwable】---- java语言中所有错误和异常的超类 a. Exception异常:编译期异常,进行编译java程序时出现的问题。将异常处理掉,可以继续进行 (1)RuntimeException:运行期异常,java程序运行过程中出现的问题 b. Error错误:必须修改程序...
2018-11-09 17:55:43
111
原创 (Java)集合框架(六)斗地主
1. 问题:按照斗地主的规则,完成洗牌发牌的动作。2♠ A♠ K♠ K♦ Q♦ J♥ J♣ 10♠ 10♦ 8♠ 8♦ 6♥ 6♠ 6♣ 5♥ 5♦ 4♥ 2♥ 2♦ A♥ A♦ K♣ Q♠ Q♣ J♠ J♦ 10♥ 10♣ 9♥ 9♠ 9♦ 6♦ 5♣ 3♥ 小王 2♣ A♣ K♥ Q♥ 9♣ 8♥ 8♣ 7♥ 7♠ 7♣ 7♦ 5♠ 4♠ 4♦ 3♣ 3♦ 3♠ 大王 4♣ 具...
2018-11-08 21:51:56
146
原创 (Java)集合框架(五)集合的嵌套
ArrayList嵌套ArrayListMap嵌套ArrayListMap集合嵌套【Map集合的嵌套例子】import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/* * Map集合的嵌套 Map中存储的还是Map * 要求:对以...
2018-11-08 20:13:01
168
原创 (Java)常用API(四)大数据运算
【BigInteger】import java.math.BigInteger;/* * 超级大的整数运算 * 超过long的取值范围整数,需要封装成BigInteger类型对象 * 它们的四则运算都是通过方法来实现的 * */public class BigIntegerDemo1 { public static void main(String[] args...
2018-11-08 16:58:30
574
原创 (Java)常用API(四) ---- 基本类型包装类
【基本类型包装类】 字节型 短整型 整型 长整型 字符型 布尔型 浮点型 浮点型 基本类型 byte short int long char boolean float double 包装类 Byte Short Integer Long Character...
2018-11-08 16:57:48
173
原创 (Java)集合框架(四)Collections、Arrays工具类
java.util.Collections Collections是集合工具类,用来对集合进行操作。import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsDemo1 { public static void main(Strin...
2018-11-08 16:57:20
116
原创 (Java)集合框架(三)Map集合
【Map接口】(1)Collection中的集合是单列集合,Map中的集合是双列集合(2)Map集合中,元素是成对出现的。每个元素由键--值两部分组成,通过键可以找到所对应的值。(3)Map集合中不能包含重复的键,值可以重复。(4)Map中常用的集合为HashMap、LinkedHashMap。 【常用集合】(1)HashMap<K, V> :存储数据采用-...
2018-11-08 16:56:52
119
原创 (Java)集合框架(二)List接口方法、List三种迭代方式
【List接口 】继承 Collection接口 【ArrayList】实现 List接口import java.util.ArrayList;import java.util.Iterator;import java.util.List;/* * List接口派系 ,继承Collection接口 * 下面有很多实现类 ArrayList LinkedL...
2018-11-08 16:56:17
182
原创 (Java)集合框架(一)Collection接口方法、Iterator迭代器、增强for循环
【Collection接口】import java.util.ArrayList;import java.util.Collection;/* * Collection接口中的方法 是集合中所有实现类必须拥有的方法 * 程序演示,使用Collection接口的实现类 ArrayList * ArrayList implements List ...
2018-11-08 16:55:50
135
原创 (Java)常用API(三)Date
【Date类】import java.util.Date;/* * Java 时间和日期类 * java.util.Date * * 毫秒概念:1000毫秒 = 1秒 * 毫秒的0点: * System.currentTimeMills() 返回long型参数 * 获取当前日期的毫秒值 * 时间原点:公元1970年1月...
2018-11-02 21:45:30
168
原创 (Java)常用API(二)正则表达式
【正则表达式 Regular Expression】 概念:一个字符串,使用单个字符串来描述、定义匹配规则,匹配一系列符合某个句法规则的字符串。 作用:常被用来检索、替换那些符合某个规则的文本【正则表达式匹配规则】字符 含义 举例 x 代表的是字符x 匹配规则为"a",那么需要匹配的字符串内容就是"a" \\ 代表的...
2018-11-02 15:29:29
185
原创 (Java) ---- Eclipse快捷键、文档注释和制作、生成和导入jar包
【Eclipse快捷键】(1)ctrl+T 查看类的继承树。(2)Ctrl+点击类名或者方法名,来查看源代码。JDK (JRE(JVM,运行时所需要的核心类库),开发工具(javac...)) 【Java中文档的注释和制作】/** + 回车(Enter) 写好注释,然后找到该类所在的项目工程,右击鼠标 -> Export -> java->javado...
2018-11-02 10:44:17
203
原创 (Java)常用API(一)String类
【object类】(1)equals方法:比较两个对象的内存地址是否相等。equalis源码:public boolean equals(Object obj) { return (this == obj); }重写equalis源码:// 比较Person类型不同对象之间的age是否相等 public boolean equals(Object...
2018-11-02 10:42:40
123
原创 (java) 面向对象 ---- 构造方法
【构造方法】构造方法(constructor):在new 的同时对成员变量进行赋值,(给对象的属性初始化赋值)构造方法的定义: 权限 方法名(参数列表 ){ }注意:(1)构造方法名必须和类的名字相同,不能写返回值类型(void不能写)(2)构造方法在new的时候自动执行,只执行一次,仅此而已(3)每个类必须有构造方法,构造方...
2018-10-30 20:05:54
245
原创 (java)面向对象 ---- final、static、匿名对象、内部类、权限修饰符、代码块
(1)关键字final 1)final 修饰类 :最终类 不能被继承 但是使用方式没有变化,可以创建对象,调用方法。 2)final修饰方法 :父类中被final修饰的方法,在子类中不能被重写,但可以继承使用。 3)final修饰局部变量 : final int i =...
2018-10-30 20:02:07
175
原创 (java)面向对象 ---- 多态
(1)面向对象共有三个特征:封装、继承、多态 多态存在的三个必要条件:继承、重写、父类引用指向子类对象 现实中的事物经常会出现多种形态。如学生是人的一种,一个具体的学生张三,既是学生又是人,即出现了两种形态。java作为面向对象的语言,同样可以描述一件事物的多种形态,如一个Student类继承了Person类,一个Studen对象既是Student又...
2018-10-28 16:08:43
184
原创 (java)面向对象 ---- 成员变量与局部变量的区别
1. 成员变量与局部变量的区别:(1) 定义位置的区别 成员变量,定义在类中,方法外 局部变量,定义在方法内,语句内(2)作用域不同 成员变量,作用范围是整个类 局部变量,作用范围是方法内,语句内(3)默认值不同 成员变量,有自己的默认值 局部变量,没有默认值,...
2018-10-28 16:08:13
150
原创 (java) 面向对象 ---- 继承、重写与重载、抽象类、接口
面向对象共有三个特征:封装、继承、多态一、【java继承 extends】1. Java不支持类的多继承,但支持多重继承。(支持接口的多继承)2. 子类拥有父类非private的属性和方法。3. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。4. 子类可以用自己的方式来实现父类的方法 ---- 重写。5. 提高了代码的耦合性(继承的缺点,耦合度高说明代...
2018-10-28 16:07:19
223
原创 (java)---- 数组
1. 数组:能顺序存储相同类型的多个数据,还有能利用索引访问其元素的功能。2. 创建一个数组需要的步骤: (1) 声明数组的类型和名字 (2) 创建数组(需要指定数组的长度) (3) 初始化数组元素 简化写法: double[] a = new double[N]; 数组长度为a.length。 ...
2018-10-25 11:44:56
207
原创 (java )求最小公倍数和最大公约数
1. 问题:求两个非负整数p 和 q的最大公约数和最小公倍数。2. 问题分析: a. 最小公倍数可以由两个数的乘积除以两个数的最大公约数得到。 b. 最大公约数利用p和q之间求余,将q赋给p,再将余数 r 赋给q,并判断q是否为0的思想得到。做如下图所示:3. java程序 // 【递归方法】计算两个非负整数 p 和 q 的最大公约数 public ...
2018-10-24 21:54:59
9933
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人