
java
文章平均质量分 59
荆棘鸟的天空
莫问收获,但问耕耘,千里之行始于足下。
展开
-
JAVA 的日期时间类总结2:JDk8新增日期类
java日期时间类API总结原创 2022-10-11 11:33:26 · 1868 阅读 · 1 评论 -
程序员一站式快乐网站
程序员一式站开源中国掘金chinaunix开发者头条博客园51CTOGitHubGitee原创 2021-04-12 19:16:13 · 405 阅读 · 0 评论 -
Java对JAR包进行反编译——idea
反编译只需要一个插件,一句命令行,外加一个jar包插件 java Bytecode Decompiler命令行:java -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.5\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true wingsoft.ja原创 2021-08-05 10:12:40 · 4103 阅读 · 0 评论 -
在Java中实现首字母大小写需求 -方法实现
背景:Java 关于String中有两个方法分别是 字符串转换成大写:string.toUpperCase() 字符串转换成小写:string.toLowerCase()这两个都是把一个字符串全部转换成统一格式(全大写 or 全小写);那么当项目中需要某个字符串首字母大写或者首字母小写的时候呢?这时候就要封装两个方法来实现这个需求: // 首字母变大写 public static String firstLetterToUpperCase(String str){ S原创 2021-06-21 12:45:24 · 1309 阅读 · 0 评论 -
集合框架(集合概述)
为什么出现集合类?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合是存储对象最常用的一种方式。数组和集合都是容器。有哪些不同?数组也可以存储对象,但长度是固定 ;而集合的长度是可变的。数组中可以存储基本数据类型,而集合只能存储对象(想要存储基本类型就是存储基本类型的包装类);数组只能存储相同数据类型。比如int[ ] 数组,就全存放的int类型数值; 集合中可以存储不同数据类型的数据集合类的特点集合只用来存储对象,集合长度是可变的,集合可以存储不同原创 2021-05-17 21:49:02 · 220 阅读 · 0 评论 -
ArrayList默认初始容量和扩容源码
版本:JDK 8ArrayList默认初始容量 源码The size of the ArrayList (the number of elements it contains).数组列表的大小(包含元素的数量)。Constructs an empty list with an initial capacity of ten.构造一个初始容量为10的空列表。总结 :ArrayList内部封装了一个默认长度为10的数组。当超出长度时,集合内部会自动生成一个新的数组。将原数组中的元素复制到新数原创 2021-05-17 20:49:28 · 1097 阅读 · 1 评论 -
Shiro的概述
一, 什么是shiroApache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与Web 集成、缓存等。二,为什么要学shiro 1,既然shiro将安全认证相关的功能抽取出来组成一个框架,使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。 2,shiro使用广泛,shiro可以运行在web应用,原创 2021-04-29 12:19:39 · 2341 阅读 · 0 评论 -
解决java项目时乱码问题
处理项目中的乱码问题:中文乱码1、项目中 类文件中出现乱码settings中搜索 encoding 将编码格式都改为相对应的格式 ;2、数据库中出现乱码数据库查询的时候,中文数据直接以乱码形式展示;1、数据库和表 在设计的时候遗留的问题,需要修改数据库的 库编码格式 和表的表编码格式;2、插入的数据问题,运行的sql语句,数据编码有问题;将正确编码的内容,复制到查询中,进行执行;3.在Java程序中从数据库获取的数据,是乱码形式的:设置java和数据库连接的编码格式 jdbc:原创 2021-04-21 16:38:37 · 3028 阅读 · 0 评论 -
2018年第九届蓝桥杯大赛省赛 Java 大学C组 题解
A:哪天返回小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。答案:11代码如下:public static void main(String[] args) { int a=1; in原创 2020-09-11 17:43:25 · 16011 阅读 · 0 评论 -
this、super、static与final关键字了解
thisthis:当前,代表的是当前对象;因为不确定当前使用的对象是哪一个对象,使用this来代表全部的当前对象;只能存在于方法体中,可以使用this当作对象使用,调用属性或者方法,可以使用this();调用自己的构造方法supersuper 关键字super(超类),被继承的类叫做超类,继承的类叫做子类;super是用在子类中,目的是访问直接父类中被屏蔽的成员,注意是直接父类(就是类之上最近的超类)。不能代表当前对象,代表的是父类对象可以调用父类的非私有内容,可以super();调原创 2021-04-11 13:21:39 · 220 阅读 · 0 评论 -
什么是java面向对象思想?
1:面向对象简称OO (Object Oriented) ,也称之为面向对象思想[是一种编程思维,也是一种思考问题的方式],其基本思想是使用面向对象中的三大特征[继承、封装、 多态]进行程序设计如何建立面向对象的思维呢?1、先整体,再局部2、先抽象,再具体3、能做什么,再怎么做面向过程:注重的是这个执行动作,强调的是执行的动作;面向对象:使复杂的事情简单化,强调的是具体事务;实例:将大象装进冰箱。1.打开冰箱2.存储大象3.关上冰箱冰箱就是一个对象,具有存储功能;到电脑城买原创 2021-04-11 13:09:33 · 887 阅读 · 1 评论 -
java网络编程基础认识(实现通信)
java网络编程基础在学习Java网络编程之前,我们先来了解什么是计算机网络。一、网络通信协议二、IP地址三、端口四、URL五、 URL及其应用六、InetAddress及其应用七、使用TCP协议的Socket八、UDP通信总结、在学习Java网络编程之前,我们先来了解什么是计算机网络。计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。那什么是互联网呢?互联网是网络的网络(internet) ,即把很多计算机网络..原创 2021-03-28 11:02:03 · 289 阅读 · 0 评论 -
JAVA程序的三种基本结构
顺序流程结构 一个程序的执行 从上到下,从左到右; 遇到 = 从右向左;(从右向左赋值)循环流程结构 重复做某件事情,需要的东西 1、用来计数的,2、判断是否满足条件(true/false) 3、计数内容的变化 4、做的事情1、for: for(1;2;3){4} for(int i = 1 ; i <= 10 ; i ++ ){ System.out.println("跑了第" + i + "圈"); }2、while: 一般用于定义死循环,一直执行的内容; 用原创 2021-01-13 10:58:20 · 2892 阅读 · 0 评论 -
javaSE基础认识
注释 标识 关键字java中的注释:1.注释并不会被执行2.可以增加代码可读性3.在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流java中的注释有三种:单行注释多行注释文档注释标识符 关键字标识符:java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符;标识符注意事项:所有标识符都应该以字母(A-Z 或者a-z),美元符($)或者下划线(_)开头不能使用关键字作为变量名或方法名标识符是大小写敏感的合法标识符举例:原创 2021-01-13 10:10:53 · 281 阅读 · 2 评论 -
JAVA 简单的认识
java三大版本java 2 标准版(J2SE): 桌面程序,控制台开发java 2 移动版(J2ME): 手机等java 2 企业版(J2EE): E企业级开发(web端,服务器开发)java特性和优势简单性面向对象可移植性高性能分布式动态性(反射机制)多线程安全性健壮性JDK、JRE、jvmjdk:java Development Kitjre: java Runtime Environmentjvm: JAVA Virtual Machinejdk是JAVA程序开原创 2020-12-21 19:59:39 · 221 阅读 · 1 评论 -
2020年 第十一届蓝桥杯参赛历程总结
意料之中的结果比赛结果:蓝桥杯省赛二等奖这个结果确实有些差强人意,不过也是因为自己没有好好备战,疫情期间在家自制力比较差,只是外部原因。重要的还是自己的内部原因,那就分析一波;备战历程蓝桥杯是去年十一月份报的名,那时候我还是一名大一新生,通过班级选拔之后,开始学习java基础,java基础学着挺简单的,当然刚开始学的很浅,一周后测试最终留下17个人,而我应该算最后一名吧,上学这么多年第一次测试得了零分。不过我还是想试试,现在的零分无非就是从零开始,不过对我刺激不是很大,咸鱼当久了难免脸皮厚…开始的原创 2020-11-17 13:16:35 · 9353 阅读 · 1 评论 -
2018-省赛-Java语言大学C组-字母矩阵
标题:字母阵列仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。SLANQIAOZOEXCCGBMOAYWKHIBCCIPLJQSLANQIAORSFWFNYAXIFZVWALCOAIQNAL我们约定: 序列可以水平,垂直,或者是斜向;并且走向不限(实际上就是有一共8种方向)。上图中一共有4个满足要求的串。下面有一个更大的(100x100)的字母方阵。你能算出其中隐藏了多少个“LANQIAO”吗?FOAIQNALWIKEGNICJWAOSXDHTHZ原创 2020-10-07 10:39:45 · 1929 阅读 · 0 评论 -
题目 1466: [蓝桥杯][基础练习VIP]字符串对比 题解
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:1:两个字符串长度不等。比如 Beijing 和 Hebei2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个原创 2020-09-18 15:45:21 · 535 阅读 · 0 评论 -
2019 第十届蓝桥杯省赛 Java 大学 C 组 题解
试题 A: 求和本题总分:5 分【问题描述】小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 2019 中,所有这样的数的和是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。题解:答案1905111public static void main(String[] a原创 2020-09-10 17:11:54 · 3019 阅读 · 0 评论 -
打印输出任意一个字符串的所有排列
编写一个递归的方法:import java.util.Scanner;public static void main(String[] args) { Scanner sr=new Scanner(System.in); String ace=sr.nextLine(); char[] s=ace.toCharArray(); pai(s,0,s.length); } public static void pai(char[] ace,int q,int p) { if(原创 2020-09-09 10:29:48 · 267 阅读 · 0 评论 -
题目 1048: 自定义函数之字符串拷贝 题解
题目描述:有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。输入:数字n 一行字符串 数字m输出:从m开始的子串样例输入6abcdef3样例输出cdef思路:用截取字符串String.substring()方法代码演示:public static void main(String[] args) { Scanner sr=new Scanner(System.in); int n = sr.nextInt();//字符串原创 2020-09-03 12:05:56 · 316 阅读 · 0 评论 -
JAVA 的日期时间类总结
java中的日期时间类前言一.日期时间类的包二.Data类三.SimpleDateFormat类四. Calendar类 -日历类五.新增时间类总结前言好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼。提示:以下是本篇文章正文内容,下面案例可供参考一.日期时间类的包代码如下(示例):java.util.Date;java.time.format.DateTimeFormatter;java.util.Calendarjava.text.SimpleDateFormat;impo原创 2020-08-26 09:46:14 · 2473 阅读 · 2 评论 -
System类总结与常用方法介绍
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档System类前言一、System 类的定义?二、字段三、常用方法arraycopy()- 拷贝数组currentTimeMillis() - 返回毫秒数nanoTime()- 返回微秒数getProperties()getProperty()前言在java中,输入输出是我们经常使用的操作,这个就是System类,System.in 和标准输出System.out.println();等等。那么这个类又有什么功能呢?本文介绍原创 2020-08-24 12:54:30 · 1324 阅读 · 0 评论 -
JAVA IO流 总结笔记
流的概述:什么是流?流是一组有序的数据序列,将数据从一个地方带到另一个地方。流的特点:流是一维的,流是单向的,对应的操作就是单向读取和单向写入。java IO 流可以概括为“两个对应,一个桥梁”:两个对应指字节流和字符流的对应,输入流和输出流的对应;一个桥梁是指字节流到字符流的桥梁;分别由以下4个抽象类来表示流:InputStreamOutputStreamReaderWriterjava中的字节流根据流向的不同,可以分为输入流和输出流;字节输入流的父类是 InputStream原创 2020-08-22 18:00:40 · 567 阅读 · 0 评论 -
java IO流之辅助流式部分 File类
什么是流?流是一组有序的数据序列,将数据从一个地方带到另一个地方。流是一维的,流是单向的,对应的操作就是单向读取和单向写入。根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。java IO 流可以概括为“两个对应,一个桥梁”:两个对应指字节流和字符流的对应,输入流和输出流的对应;一个桥梁是指字节流到字符流的桥梁;分别由以下4个抽象类来表示流:InputStream 、 OutputStream 、Reader 、 Writer;**java中IO主要包含3个部原创 2020-08-21 17:51:57 · 206 阅读 · 0 评论 -
九大排序算法的分析与总结
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。内排序有可以分为以下几类:(1)插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)选择排序:简单选择排序、堆排序。 (3)交换排序:冒泡排序、快速排序。 (4)归并排序 (5)基数排序下面我们来分析介绍下每种排序;插入排序1. 直接插入排序直接插入排序(从后向前找到合适位置后插入) 1、基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已原创 2020-08-11 19:52:36 · 487 阅读 · 0 评论 -
龟兔赛跑 java解答
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。 然而有些比赛相当漫长,全程观看会耗费大量时间,而原创 2020-08-08 14:05:17 · 811 阅读 · 0 评论 -
芯片测试 题解
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯原创 2020-08-06 21:03:11 · 773 阅读 · 0 评论 -
分解质因数 求区间[a,b]中所有整数的质因数分解
问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=225=56=237=78=2229=3310=25提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a<=b<=10000思路分析:1.输入a 和b确定区间,for循环来遍历;2.写一个方原创 2020-08-06 19:15:37 · 2228 阅读 · 0 评论 -
猴子吃桃-循环题解
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?思路分析:假设有n个桃子,猴子第一天吃掉了n/2-1个;第二天吃掉上一天的n/2-1个,依次类推;到第十天就剩下一个桃子;所以用逆推累加很容易就能得出结果;public static void main(String[] args) { int a=1原创 2020-08-06 18:14:31 · 2422 阅读 · 0 评论 -
冒泡排序(对数组进行升序)
冒泡排序是一个常用的排序方式:相邻两个元素进行比较,如果满足条件就进行位置置换;原理: 每次比较相邻两数 小的交换到前面,每轮结束后最大的数交换到最后;代码如下:public static void main(String[] args) { int[] arr= {6,109,3,43,8,1}; System.out.println("原数组:"); printArray(arr); System.out.println("排序后:"); bubbleSort(a原创 2020-08-02 23:01:55 · 5020 阅读 · 0 评论 -
选择排序(数组)
选择排序原理: 内循环结束一次,最值(最大或最小)出现头角标位置上。以一个角标上的元素为主和其他元素进行比较,满足条件就进行换位。再改角标上的元素进行下次的比较;详细代码如下:public static void main(String[] args) { int[] arr= {2,5,6,1,9}; System.out.println("原数组:"); printArray(arr); System.out.println("从小到大排序:"); minSort(a原创 2020-08-02 22:30:04 · 344 阅读 · 0 评论 -
for循环嵌套打印图形练习
public static void main(String[] args) { System.out.println("直角三角形:"); f(); System.out.println("倒直角三角形:"); f1(); System.out.println("等腰三角形:"); f3(); System.out.println("倒等腰三角形:"); f2(); } public static void f() { //打印一个直角三角形原创 2020-07-31 09:07:53 · 2635 阅读 · 0 评论 -
java位运算符的基础总结
位运算符运算符运算范例<<左移3 << 2 --> 3x2x2=12>>右移3 >> 2 = 1 --> 3/2=1>>>无符号右移3 >>> 1 --> 3/2=1&与运算6 & 3 = 2|或运算6 | 3 = 7^异或运算6 ^ 3 = 5~反码-6 = -7小贴士:原创 2020-07-28 18:18:49 · 292 阅读 · 0 评论 -
进制转换的相互转换习题
进制转换的计算并不复杂,小的数值可以通过笔算和口算得出结果,那很大的数呢,就需要用计算机来帮助我们解决问题了!小贴士:二进制逢二进一,是由0和1组成;八进制逢八进一,是由 0 1 2 3 4 5 6 7 组成;十六进制 逢十六进一,是由 0 1 2 3 4 5 6 7 8 9 A B C D E F 组成;(从10开始就是两位数了,为了方便进制的转换和使用,就用abcdef来分别对应10 11 12 13 14 15);1. 编写函数把一个十进制数输出其对应的八进制数;样例输入9274样原创 2020-07-27 11:02:46 · 1808 阅读 · 0 评论 -
2020 第十一届蓝桥杯java C组 省赛真题
第一题试题 A: 指数计算本题总分:5 分【问题描述】7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民走过了 99 年。请计算:7 ^ 2020 mod 1921,其中 A mod B 表示 A 除以 B 的余数。【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。第二题试题 B: 解密本题总分:5 分【问题描述】小明设计了一种文章加密的方法:对于每个字母 c,.原创 2020-07-15 10:15:01 · 3669 阅读 · 2 评论 -
2020 第十一届蓝桥杯 JAVA C组 省赛真题(题解)
试题 A: 指数计算本题总分:5 分【问题描述】7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民走过了 99 年。请计算:7 ^ 2020 mod 1921,其中 A mod B 表示 A 除以 B 的余数。【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。题目分析:题意是计算7的2020次幂 除以 1921取余;数值非常大,第一时间想到的是可以用java中的大整数来解决(原创 2020-07-15 07:19:48 · 5197 阅读 · 5 评论 -
水仙花数的计算算法
水仙花数水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之 和等于它本身。水仙花数也是一种 具有特殊性质的数。什么是水仙花数水仙花数最先是由英国数学家哈代(G.H.Hardy) 发现的。他发现一些三位数满足如下奇特的现象:153=1³+5³+3³370=3³+7³+0³371=3³+7³+1³407=4³+0³+7³简单地说,这些三位正整数在数值上等于其各位数字的立方之和(即3次幂之和)。哈代称为“水仙花数”。四位的水仙花数有如下3个:(四位数,n在此时是4)1634原创 2020-06-27 11:26:08 · 23762 阅读 · 1 评论 -
计算实现亲密数(java)
亲密数亲密数是具有特殊性质的整数。亲密数展示了两个整数之间通过因子的密切联系什么是亲密数?如果整数a的因子和等于整数b,整数b的因子和等于整数a,因子包括1但不包括本身,且a不等于b,则称a、b为亲密数。例如,220和284便是一对亲密数,满足如下规则。220的各个因子之和为: 1+2+4+5+10+11+20+22+44+55+110=284;284的各个因子之和为:1+2+4+71+142=220。另外,1184和1 210是一对亲密数,因为其满足如下规则:1 184的各个因子原创 2020-06-27 10:23:24 · 3319 阅读 · 3 评论 -
字符串反转(把一个字符串按相反的顺序输出)的三种简单方法
第一种方式-思路:通过使用 String.toCharArray()转换成char数组,倒叙循环遍历该数组即可public static void fz() { //思路:通过控制台输入一个字符串, //使用 String.toCharArray();这个方法转换成char数组,倒叙循环遍历该数组即可; Scanner sr=new Scanner(System.in); String str=sr.nextLine(); //把字符串转换成char[.原创 2020-06-24 09:37:21 · 12434 阅读 · 0 评论