- 博客(52)
- 收藏
- 关注
原创 JavaSE 第十一章 JDBC
11 第十一章 JDBCJDBC 搭建import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class JDBCDemo { public JDBCDemo() { } //1、导入mysql数据库驱动包 lib ok //2、加载数据库驱动 //3、建立与数据
2021-01-22 19:01:53
259
原创 JavaSE 第九章 线程
9 第九章 线程9.1 进程与线程进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该进程的所有资源。“同时”执行是人的感觉,在线程之间实际上轮换执行。进程在执
2021-01-12 13:44:33
232
原创 JavaSE第八章 IO流
8 第八章IO流8.1 File类File 就是文件 ,在java中表示路径名。实例File类是不可变的; 也就是说,一旦创建,由File对象表示的抽象路径名永远不会改变。路径有相对路径和绝对路径。8.1.1 构造方法File(String path)将一个字符串描述的路径,封装成一个 File对象。File(String parent,String Child)将两个字符串(父级路径, 子级路径),拼接之后形成的路径封装成一个File对象。File(File parent, S
2021-01-12 09:39:13
500
原创 JavaSE 第七章集合 Collection
第七章集合Collection7.1 Iterable 接口首先是集合Collection的的爸爸,列表List的爷爷 Iterable接口。实现此接口的类队形可以成为for-each循环的目标,也就是增强for循环,它是java中的一种语法糖。List<Object> lists = new ArrayList<>();for(Object obj : lists){ }jdk1.8之前集合的遍历只有Iteractor这一个方法 ,实现该次接口的方法能够创
2020-12-07 17:26:35
193
原创 leetcode刷题详解 难度:简单 Java实现 编号190、颠倒二进制位 位运算详解
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-bits著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。编号190、颠倒二进制位颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 000000101001010000011110100.
2020-11-22 10:07:26
126
原创 JavaSE第六章 异常 Execption
6 第六章异常6.1 异常异常的定义运行时,程序不能正常执行, 即出现了异常.异常就是有异于常态,和正常情况不一样,有错误出现。在java中,阻止当前方法或作用域的情况,称之为异常。异常的分类Error:是程序中无法处理的错误,表示运行应用程序中出现了严重的错误。此类错误一般表示代码运行时JVM出现问题。通常有Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。比如说当jvm耗完可用内存时,将出现OutOfMemoryError
2020-11-20 18:38:55
129
原创 JavaSE第五章 java常用API
文章目录5 第五章JavaAPI5.1 基本数据类型包装类5.2 Object转成字符串toString()比较equals()返回哈希值hashCode()5.3 Arrays5.3.1 转成字符串toString()5.3.2 比较equals()5.3.3 排序 sort()(快速排序)对普通类型的排序对象数组的排序自定义排序用name对Student数组进行排序用id对Student数组进行排序5.3.4 查找 binarySearch()(二分)手撕二分查找5.4 String5.4.1 字符串的
2020-11-14 13:11:51
901
原创 leetcode刷题详解 难度:简单 Java实现 编号617. 合并二叉树 递归
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-binary-trees著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:注意: 合并必须.
2020-11-12 19:13:11
116
原创 算法思维之常用的位运算,让你的代码效率更高
##常用的位运算1. 判断一个数的奇偶性/** * 判断是不是奇数 * @param num * @return */ public boolean isOdd(int num){ if ((num & 1) == 0) return false; //是偶数 return true; //是奇数 }2. 乘以 2/** * x*2 * @param x * @return
2020-11-08 14:38:02
150
原创 JavaSE第四章 数组Array
文章目录4 第四章数组4.1 概念4.2 数组的创建4.2.1 声明方式4.2.2 数组对象的默认值4.2.3 动态创建数组4.2.4 静态创建数组4.2.5 数组的长度4.3 数组的访问4.4 数组的迭代4.4.1 fori普通循环4.4.2 foreach增强循环4.5 排序4.5.1 比较类排序交换排序冒泡排序(稳定)快速排序插入排序简单插入排序(稳定)希尔排序选择排序简单选择排序堆排序归并排序(稳定)二路归并排序多路归并排序4.5.2 非比较类排序计数排序桶排序基数排序4 第四章数组4.1 概念
2020-11-07 16:12:56
210
原创 算法思维之求整数的位数
求整数的位数方法一:枚举 + 字符串直接将整数转换成字符串,再求字符串的长度。方法二:枚举 + 数学可以用以10为底的对数函数来得到整数的位数一个包含k位的整数x,满足不等式 10k-1 < x < 10k (例如: 100< 9 <101 或 101< 88 <102 )。对该不等式取对数,得 k-1 < log10x < k 。所以 k = [log10x +1], 其中[ ] 表示对其中的值进行向下取整,例如[5.2]
2020-11-06 21:28:05
544
原创 leetcode刷题详解 难度:中等 Java实现 编号47. 全排列2 剪枝去除重复结果
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。编号47. 全排列2 剪枝给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3.
2020-11-04 18:53:44
184
原创 leetcode刷题详解 难度:中等 Java实现 编号46. 全排列1 可以重复
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。编号46. 全排列1给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题步骤详情在代码中的注释里 /** * * @p.
2020-11-04 18:03:01
117
原创 算法实验 01背包 暴力解法 java实现
01背包 暴力解法01背包问题正如其名,其本质就是真和假,0和1。每个物品只有要么被装进背包,要么没有装进背包这两种状态。其暴力解法也算是一种全排列问题。如上图所示,我们可以用一个数组used来表示这五个物品当前的状态。{0,0,0,0,0}该数组就表示这五个物品都没有被选中。{1,0,0,0,0}表示只有第一个物品被选中了。第一步 找到所有的可能性便是找到所有的可能性,其总数为 C0 5+ C1 5+ C2 5+ C3 5+ C4 5+ C5 5 = 25 = 32 。也就是找出其全排列。具
2020-11-04 17:38:58
667
原创 leetcode刷题详解 难度:简单 Java实现 编号1281. 整数的各位积和之差
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1281. 整数的各位积和之差给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例 1:输入:n = 234输出:15解释:各位数之积 = 2 * 3 * 4 = 24各位数之和.
2020-11-01 19:04:11
298
2
原创 leetcode刷题详解 难度:简单 Java实现 编号1108. IP 地址无效化
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/defanging-an-ip-address著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1108. IP 地址无效化给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。示例 1:输入:address = “1.1.1.1”输出:“1[.]1[.]1[.]1”示例 .
2020-10-30 17:59:53
144
原创 面试题实战之 jvm优化静态常量的常量池
1 jvm优化静态变量的常量池题目: 写出下面程序的执行结果public class Demo { final static int num=10; final int ns = 11; static { System.out.println("Demo静态块"); } public Demo() { System.out.println("Demo无参构造方法"); }}class Test { pu
2020-10-29 21:20:51
196
1
原创 JavaSE第三章 面向对象 接口 interface
3.6 接口3.6.1 定义官方解释是一系列方法特征的集合, 在jdk1.8之前可以理解为一个纯粹的抽象类, 只包含静态常量和方法的定义, 没有方法的实现.接口指明了一个类必须要做什么和不能做什么,相当于类的蓝图。一个接口就是描述一种能力比如“运动员”也可以作为一个接口,并且任何实现“运动员”接口的类都必须有能力实现奔跑这个动作.例如java中的接口Comparator, 这个接口代表“进行比较”的能力, 所以任何实现这个接口的类都具备了比较的能力, 可以用来进行排序操作.3.6
2020-10-29 18:46:33
131
1
原创 PTA 程序设计天梯赛 Java L1-017 到底有多二 (15分) 有注释
L1-017 到底有多二 (15分)一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:在一行中输出N犯二的程度,保留小数点后两位。输入样例:-13142223336
2020-10-28 19:14:48
167
原创 PTA 程序设计天梯赛 Java L1-013 计算阶乘和 (10分)
L1-013 计算阶乘和对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。输入格式:输入在一行中给出一个不超过10的正整数N。输出格式:在一行中输出S的值。输入样例:3输出样例:9实现代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { private static int num =
2020-10-26 16:08:58
297
原创 PTA 程序设计天梯赛 Java L1-015 跟奥巴马一起画方块 (15分)
L1-015 跟奥巴马一起画方块美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取
2020-10-26 16:07:12
231
原创 PTA 程序设计天梯赛 Java L1-011 A-B (20分)
L1-011 A-B本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It's a fun game!aeiou输出样例:I lv GPLT! It's fn gm
2020-10-26 16:06:12
1050
原创 PTA 程序设计天梯赛 Java L1-010 比较大小 (10分) && 顺便用了一下快速排序
L1-010 比较大小本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出样例:2->4->8实现代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { p
2020-10-25 14:53:53
178
原创 PTA 程序设计天梯赛 Java L1-009 N个数求和 (20分)
L1-009 N个数求和本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数
2020-10-25 11:07:04
375
原创 PTA 程序设计天梯赛 Java L1-008 求整数段和 (10分)
L1-008 求整数段和给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例: -3 -2 -1 0 1 2 3 4 5 6 7 8Sum = 30
2020-10-25 09:50:19
204
原创 PTA 程序设计天梯赛 Java L1-007 念数字 (10分)
L1-007 念数字输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。输入样例:-600输出样例:fu liu l
2020-10-25 09:41:02
421
原创 PTA 程序设计天梯赛 Java L1-006 连续因子 (20分)
L1-006 连续因子一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出
2020-10-25 09:33:06
588
原创 PTA 程序设计天梯赛 Java L1-005 考试座位号 (15分)
L1-005 考试座位号每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从
2020-10-25 09:27:06
286
原创 PTA 程序设计天梯赛 Java L1-004 计算摄氏温度 (5分)
L1-004 计算摄氏温度给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出一个华氏温度。输出格式:在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。输入样例:150输出样例:Celsius = 65实现代码import java.io.BufferedReader;import java.io.IOException;import java.io.
2020-10-25 09:22:55
394
原创 JavaSE第三章 面向对象 抽象类 abstract
3.5 抽象类3.5.1 概念如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。3.5.2 抽象方法:抽象方法是一种特殊的方法:它只有声明,而没有具体的实现抽象方法必须用abstract关键字进行修饰抽象类可以有成员属性和非抽象的成员方法。抽象类不能被实例化,但可以有
2020-10-25 09:12:26
162
原创 JavaSE第三章 面向对象 final关键字
3.4 final关键字用于修饰 类 , 属性 , 方法 , 参数 ./** * final 用于 类 属性 方法 */// 修饰类 则该类不可被继承public final class Door { //修饰属性 则该属性不可变 , //定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改。 public static final int PP = 10; //修饰方法 , 则该方法不可被重写 public final voi
2020-10-25 09:10:49
100
1
原创 JavaSE第三章 面向对象三大特征&看我这篇就够了
3.3 POP三大特征3.3.1 封装概念把类的信息隐藏到类的内部, 不允许外部程序直接访问, 而是通过该类的提供的内部方法对隐藏的信息进行访问与操作.好处隐藏了类的实现细节.只能通过规定的内部方法访问.方便修改.方便加入控制语句.应用(具体体现)public class Person extends Object{ //私有权限, 不允许外部直接访问 private String name; private int age; //创建内部公开方法
2020-10-25 09:05:37
181
1
原创 PTA 程序设计天梯赛 Java L1-003 个位数统计 (15分) && 顺便复习了一下KMP匹配模式串算法
L1-003 个位数统计 (15分)本题使用了KMP匹配模式串算法输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式:对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。输入样例:100311输出样例:0:21:33:1实现代码:import java.io.BufferedReader;import java.io.IOException;import j
2020-10-21 18:36:19
157
原创 PTA 程序设计天梯赛 Java L1-002 打印沙漏 (20分)
L1-002 打印沙漏 (20分)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打
2020-10-21 18:27:25
140
原创 PTA 程序设计天梯赛 Java L1-001 Hello World (5分)
L1-001 Hello World (5分)这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句“Hello World!”就可以了。输入样例:无输出样例:Hello World! 实现代码:public class Main { public static void main(String[] args) { System.out.println("Hello World!"); }}...
2020-10-21 18:21:20
703
原创 CSS transform 2D/3D 转换对元素进行移动、缩放、转动、拉长或拉伸。
transform 2D/3D转换, 对元素进行移动、缩放、转动、拉长或拉伸。2D:translate() 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标)和 top(y 坐标) 位置参数; 允许负值translate(50px,100px) 把元素从左侧移动 50 像素,从顶端移动 100 像素。rotate() 通过 rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。rotate(30deg) 把元素顺时针
2020-10-17 18:01:58
763
原创 JavaSE第三章 面向对象 POP 和 java类
文章目录第三章面向对象POP和OOPJava类what类的结构变量成员(属性)构造方法成员方法块内部类类的实例—对象创建对象对象的使用总结类中变量成员变量局部变量静态变量方法构造方法成员方法静态方法方法的重载第三章面向对象POP和OOP面向过程:procedure oriented programming 缩写 POP, 分析问题, 找出解决问题的步骤, 然后按步骤一步一步实现.POP适合处理简单的问题, 直接关注流程.面向对象:object oriented programming
2020-10-17 16:25:29
574
原创 CSS 样式过渡 transition
样式过渡transition/*transition : css属性 过渡时间 ;*/height: 200px;transition : height 2s; /* 会将高度从零开始,在2秒内慢慢变成200,从而形成动画效果 */.content .right-banner .rbanner:hover{ box-shadow: 0px 0px 40px #181818; background-color: rgba(255,255,255,0.7); transform: transl
2020-10-17 15:28:07
153
原创 CSS 实现毛玻璃的效果
毛玻璃特效.banner{ width: 750px; height: 666px; margin-top: 30px; border-radius: 15px; background: inherit; /* importment! 背景要用inherit继承父级背景, 要一直继承到你想要模糊的背景层*/}/* 毛玻璃的父级 必需,不能去掉 */.banner .banner-back{ background: inherit;/* importment! 背景要用inheri
2020-10-17 14:24:12
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人