自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 实现哥德巴赫猜想的三种方法

验证哥德巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和,要求输入一个整数,输出这个数被被分解成哪两个质数的和。如:1414 = 3 + 1114 = 7 + 7第一种:循环判断实现public static void main(String[] args) { gdbh(14);}//3.验证哥德巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和,// 要求输入一个整数,输出这个数被被分解成哪两个质数的和。public static void gdbh(int num)

2020-10-14 00:37:54 840

原创 数组排序之选择排序和Arrays类提供的方法

选择排序选择排序:外层循环控制轮数,内层循环控制次数,经过一大轮的比较之后,先会记录数组中的最值的下标,再将最值的下标和数组的第一个元素进行交换,所以经过第一大轮之后会得到一个最值,再进行第二轮比较,第二轮比较时就不会比较第一轮选出的元素,依次循环,直到排好顺序//定义一个方法对数组进行排序。选择排序public static int[] sort(int[] arr) { for(int j = 0; j < arr.length - 1 ; j++) { int mi

2020-10-13 23:39:16 331

原创 冒泡排序的优化

冒泡排序冒泡排序的实现冒泡排序:将数组的第一个元素与第二个进行比较,是否需要交换位置,再将第二个元素与第三个元素进行比较,是否需要交换元素…依次进行下去,一直比较到数组最后一位元素,就可以选出一个最值,这也叫一轮比较,第二轮比较再将第一个元素和第二个比较…循环下去,实现排序//定义一个方法,用于对数组进行排序public static int[] sort(int[] arr) { //冒泡排序 for (int i = 0; i < arr.length - 1 ; i++)

2020-10-13 23:21:05 123

原创 单列集合Collection

单列集合集合框架1、概念2、集合框架Collection接口1、常用方法迭代器1、迭代器原理2、foreach循环3、迭代器使用常见问题泛型基本使用1、为什么要有泛型?2、泛型的语法:3、泛型注意的地方集合框架1、概念概念:集合一种容器,可以存储对象。集合和数组区别:数组的长度固定,集合长度不固定数组可以存储基本数据类型和引用数据类型 int[] / Student[],集合是能存储引用数据类型数组中每个元素都是相同的数据类型,集合可以存储不同的数据类型2、集合框架

2020-10-07 09:55:42 124

原创 Hashtable和HashMap的区别及演示

Hashtable和HashMap的区别HashTable常用方法与HashMap一致HashMap与Hashtable区别:1、HashMap是线程不安全的,HashTable是线程安全的2、HashMap中key可以为null,value也可以为null。HashTable不可以3、Hashtable数组的初始容量是12,而HashMap是16在实际开发中一般都是用HashMap。ConCurrentHashMap是线程安全的public class HashTable

2020-10-06 19:49:54 248

原创 使用Map集合充当数据承载Bean存储数据

使用Map集合充当数据承载Bean存储数据public class Demo9 { public static void main(String[] args) { /** * 一件商品 * 在Java中如何表示 Product类 属性:id、 price 、num、...... * Map集合 id--->001、price---&gt

2020-10-06 18:24:29 291 1

原创 Map集合之HashMap的常用方法

Map接口的实现类HashMap的常用方法public class Demo8{ public static void main(String[] args) { Map<String, String> map = new HashMap<>(); //向map集合中添加元素 put(K key,V value) map.put("CN","中国"); map.put("HK","香港");

2020-10-06 18:09:41 243

原创 JDBC之对Dao层的封装

将Dao层中增删改查的代码进行封装一、封装的目的和原因二、封装增删改查的分析三、DaoUtil工具类1、工具类的实现2、接口回调3、 接口实现4、DaoUtils工具类使用四、连接池1、出现数据库连接池的原因2、什么是数据源(DataSource)3、Druid连接池db.properties4、升级之后的JDBC工具类(加入连接池)DBUtils工具类1、DBUtils简介2、DbUtils核心API3、 DbUtils的使用步骤4、DBUtils使用一、封装的目的和原因简化Dao层对数据库的操作,

2020-10-06 16:51:27 478 1

原创 JDBC基础之六大步的简化

工具类的封装和使用JDBC工具类1、需要封装的原因2、代码实现单元测试ORM映射实体类的设计规范代码实现JDBC工具类1、需要封装的原因若需要频繁操作数据库就需要频繁使用六大步,可将里面重复的代码封装成工具类,减少代码重复可封装的步骤:1、注册数据库驱动(静态代码块)2、获取数据库连接 (方法:getConnection)3、释放资源 (方法:closeAll(Connection , Statement , ResultSet ))4、将配置信息放到properties配置文件中,减

2020-10-06 12:18:04 199

原创 JDBC基础之六大步

JDBC学习JDBC核心思想JDBC开发步骤1、 加载驱动2、获取数据库连接3、获取数据库操作对象Statement4、通过Statement对象执行SQL语句5、处理返回结果6、关闭资源JDBC开发案例ResultSet结果集使用statement对象操作数据库的问题引入PreparedStatement使用PreparedStatement完成的登录案例演示JDBC核心思想JDBC(Java Database Connectivity) Java 连接数据库的规范(标准),可以使用 Java 语言连

2020-10-06 11:16:15 175

原创 使用File类删除文件夹

删除一个文件夹(文件夹中还包含其他文件夹)使用File类和递归方法public static void main(String[] args) { //删除一个文件夹(文件夹中还包含其他文件夹) File file = new File("d:\\zz"); deleteAllFiles(file);}public static void deleteAllFiles(File file){ //通过file对象获取File数组 File[] listFile

2020-10-06 09:50:08 651

原创 多线程之用阻塞队列完成生产者消费者模型

使用阻塞队列模拟完成生产者和消费者问题使用线程池,匿名类和线程安全的集合Queuepublic static void main(String[] args) { //使用阻塞队列模拟完成生产者和消费者问题 ExecutorService es = Executors.newFixedThreadPool(2); //创建一个固定长度的队列,如果队列已满,则处于阻塞状态,直到有可用空间 BlockingQueue<Integer> bq = new Array

2020-10-06 00:01:54 106

原创 多线程之生产者消费者模型详解

用多线程完成生产者消费者模型,生产者生产一个产品就等待消费者消费使用多线程public static void main(String[] args) { //使用多线程完成生产者消费者模型 Shop shop = new Shop(); ProducerThread pt = new ProducerThread(shop); ConsumerThread ct = new ConsumerThread(shop); pt

2020-10-05 23:36:25 195

原创 多线程练习之分别打印各个范围质数

利用多线程求解某范围质数,每个线程负责 1000范围:线程1找1-1000;线程 2 找 1001-2000;线程 3 找 2001-3000。编程程序将每个线程找到的素数及时打印。线程池和匿名类public static void main(String[] args) { //.利用多线程求解某范围质数,每个线程负责 1000范围: // 线程1找1-1000;线程 2 找 1001-2000; // 线程 3 找 2001-3000。 // 编程程序将每个线程找到的

2020-10-05 22:23:56 510 1

原创 多线程练习之两个线程交替打印数字和字母

写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z打印顺序为12A34B56C……5152Z(2个数字 1个字母)。用线程的创建方式和线程池// An highlighted blockvar foo = 'bar';public class Test02 {

2020-10-04 12:51:14 815 1

原创 字符串练习题之单词首字母大写

String练习题(字符串练习题):将每个单词的首字母改为大写使用String的方法public static void main(String[] args) { String str = "this is a text"; //方式一:将每个单词的首字母改为大写 String[] str1 = str.split(" "); for (int i = 0; i < str1.length; i++) { String ch = str1[i].substring(0,

2020-09-21 13:41:02 915

原创 使用Calendar打印指定年份的日历

用户输入年份,打印该年的所有月份日历(使用Calendar实现)java基础使用while,for,Calendar类public static void main(String[] args) { //a、用户输入年,打印该年的日历(使用Calendar实现) Calendar c = Calendar.getInstance(); Scanner sc = new Scanner(System.in); System.out.println("请输入年"); int y =

2020-09-18 10:51:16 607

原创 Map练习题输出每个字符出现的次数

Map集合练习题给定一个字符串,请输出该字符串由哪些字符组成,每个字符出现几次?public static void main(String[] args) { //给定字符串判断字符串中每一个字符的个数 /** * 1、将字符串转换成字符数组 * 2、定义Map集合,String,Integer * 循环遍历每一个字符 * 判断这个map中是否包含这个key * 1、如果不存在这个key,那么就将当前这个字符作为key,value就是1

2020-09-18 10:16:53 317

原创 String练习题有效手机号简单判断

判断一个手机号码是否合法,必须是11位,第一位必须是1,第二位必须是34578,手机号必须是数字使用String的方法下面展示一些 内联代码片。String num = "13627283989";//判断手机号是否正确:方式二(正则表达式)public boolean rightNum2(String num){ //正则表达式里面不要随便打空格 //第一个表示1,第二位是34578,第三为[0-9]{9}表示后面9个都是0-9 String regex = "[1][34578][0-9

2020-09-15 17:36:19 610

原创 判断数字字符串中每个数字出现的次数

给定一个由数字组成的字符串如:“1239586838923173478943890234092”;统计出每个数字出现的次数。使用String常用类和for循环String str = "1239586838923173478943890234092";//将字符串转化为字符数组char[] ch = str.toCharArray();//外层循环将字符0-9与目标字符串比较//字符'0'在字符集中是48代替,且字符可以加加操作和比较操作for(int i = '0' ; i < '9'

2020-09-15 13:46:10 2205 1

空空如也

空空如也

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

TA关注的人

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