![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
命z
2018.1.23
展开
-
抽象类——java
在了解抽象类之前,先了解一下抽象方法。抽象方法是一种特殊的方法:只有声明,没有具体的实现(没有函数体)。抽象方法声明格式为:abstract void fun();//没有大括弧“{ }”抽象类注意点:1、抽象方法或抽象类必须要用abstract修饰。2、只有抽象类才能含有抽象方法。3、抽象类中因无具体实现的方法,所以无法创建对象。4、也可以定义成员变量。5、如果抽象类除了抽象方法外什么都没有,则...原创 2018-05-04 18:21:05 · 203 阅读 · 1 评论 -
蓝桥杯--匹配对战
import java.util.Scanner;//对局匹配/* 问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。 现在小明知道这个网站总共有N名用户,以及他们的积分分别是A...原创 2019-03-02 14:19:43 · 207 阅读 · 0 评论 -
蓝桥杯--过河卒
package com.luogu.test;/*题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0, 0)(0,0)、B点(n, m)(n, m为不超过2020的整数),同样马的位置坐标是需要给出的。现在要求你计...原创 2019-03-02 16:26:20 · 533 阅读 · 0 评论 -
蓝桥杯 --- 铺地毯
题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有nn张地毯,编号从11到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入输出格...原创 2019-03-02 19:50:40 · 360 阅读 · 0 评论 -
P1009阶乘之和 ---- 蓝桥杯
package com.luogu.test;/* * 计算 s = 1! + 2! + ... + n! * * 100分 */import java.math.BigInteger;import java.util.Scanner;public class P1009FactorialAdd { public static void main(String[] ar...原创 2019-03-02 22:41:33 · 488 阅读 · 0 评论 -
java解决组合问题
问题1:假设袋子里有编号为1,2,...,m这m个球。现在每次从袋子中取一个球几下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。分析:每一次取都有m种可能的情况,因此一共有种情况。这里我们取m = 3, n = 4,则有种不同的情况。代码:import java.util.Stack;public class Test { static int cnt...转载 2019-03-20 19:41:10 · 793 阅读 · 0 评论 -
java中的四大输入:System.in,Scanner,InputStreamReader,BufferesReader的用法与区别【改】
Java中获取键盘输入值的方法以前写算法都是C/C++写的,现在用Java写,虽然算法是独立于语言的,但是Java从键盘获取输入确实有些不一样。在C/C++中我们可以用scanf和cin来获取用户从键盘上的输入,但是在Java中并没有这种方法,不过代替的是BufferedReader、InputStreamReader、Scanner和System.in四种方法。1.System.in...转载 2019-03-17 16:53:36 · 780 阅读 · 0 评论 -
jdk,jre,jvm的区别和联系,JVM体系结构与运行原理
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,ja...翻译 2019-04-21 12:17:11 · 227 阅读 · 0 评论 -
Java的内存机制和内存地址解析
问题一:String str1 = "abc";String str2 = "abc";System.out.println(str1==str2); //true问题二:String str1 =new String ("abc");String str2 =new String ("abc");System.out.println(str1==str2); // false...翻译 2019-04-22 15:48:09 · 539 阅读 · 0 评论 -
hashcode()和equals()的作用、区别、联系
介绍一、 hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? 重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么ha...翻译 2019-04-27 16:17:38 · 241 阅读 · 0 评论 -
final的理解运用
1.修饰类 当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。 在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。2.修饰方法 下面这段话摘自《Java编程思想》第四版第143页...翻译 2019-04-27 16:41:53 · 167 阅读 · 0 评论 -
Java中Math.round()
首先:它的返回值类型是long。如果Math.round(11.5f),那它的返回值类型就是int,这一点可以参考API。其次Returns the closest long to the argument, with ties rounding to positive infinity它返回的是一个最接近参数的long 值例如:Math.round(11.6) = 1...转载 2019-04-27 16:51:47 · 907 阅读 · 0 评论 -
String为什么不是基本数据类?
String类并不是基本数据类。 String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。java 中String 是个对象,是引用类型。基础类型与引用类型的区别是:基础类型只表示简单的字符或数...翻译 2019-04-27 16:58:26 · 3819 阅读 · 1 评论 -
String str = "hello" 与 String str = new String("hello") 的区别
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,...转载 2019-04-27 17:07:52 · 1988 阅读 · 2 评论 -
jaxen-1.1-beta-6.jar的用处
使用XPath以简化dom4j查找节点时必须导入jaxen-1.1-beta-6.jar,否则会出现异常:NoClassDefFoundError: org/jaxen/JaxenExceptiondom4j是如今用来解析xml文档的最多的一种解析方式,XPath 是一门在 XML 文档中查找信息的语言,它简化了dom4j查找节点的过程。详细例子:Dom4j 中集成了对XPath的支持。在...转载 2019-05-02 18:17:45 · 5307 阅读 · 0 评论 -
将 字符串 反转的 6种Java 方法
方法一:递归法(分治思想)public static String reverse1(String s) { int length = s.length(); if (length <= 1){ return s; } String left = s.substring(0, length / 2); String right = s.substrin...翻译 2019-05-05 18:56:33 · 360 阅读 · 1 评论 -
秒懂:抽象类、抽象方法、接口
抽象类可以没有抽象方法,有抽象方法的类必须是抽象类。抽象类不能再实例化,即不能直接构造一个该类的对象。修饰符:abstractabstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。==================...翻译 2019-05-05 19:18:55 · 774 阅读 · 0 评论 -
Java的IO流
流的分类:IO流指的是输入输出流,用来处理设备上的数据,这里的设备指硬盘、内存、键盘录入、网络传输等。1) 根据数据的流向来分:输出流:是用来写数据的,是由程序(内存)--->外界设备。输入流:是用来读数据的,是由外界设备--->程序(内存)。2) 根据流数据的格式来分:字节流:处理声音或者图片等二进制的数据的流,比如 InputStream;...翻译 2019-05-06 17:29:12 · 142 阅读 · 0 评论 -
大数乘法的应用---小计算器
问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余 3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36) 4. 输出指令:'EQUAL',以当...原创 2019-02-19 16:39:13 · 258 阅读 · 0 评论 -
并查集----合根植物
问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。 如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n...原创 2019-02-24 14:57:43 · 111 阅读 · 0 评论 -
增强for循环----java
增强for循环: 作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。) 适用范围: 如果是‘实现了Iterable接口的对象’或者是‘数组对象’都可以使用增强for循环。增强for循环的格式: for(数据类型 变量名 : 遍历目标)(数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素)注意:1. 增强for循环底层也是使用了迭代器获...原创 2018-05-11 21:08:17 · 254 阅读 · 0 评论 -
Map的介绍及使用-----java
Map接口的实现方式有四种:HashMap,LinkedHashMap,Hashtable,TreeMap。 HashMap: 1、Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 2、HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap...原创 2018-05-12 11:21:07 · 199 阅读 · 0 评论 -
java【Set的用法及三个实现类】
Set接口类继承了Conllection接口类,是一种集合类。Set的实现类有三个。 HashSet:HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。1、Set中是不能出现重复数据的。2、Set中可以出现空数据。3、Set中的数据是无序的。例: Set<...原创 2018-05-13 12:18:08 · 9854 阅读 · 0 评论 -
java中in.nextLine()方法为什么没有执行就直接跳过了?原来如此~
有时候发现我想输入的in.nextLine()并没有给我输入的机会。为啥?问题解释: 首先,你需要知道in.nextLine();不能放在in.nextInt();代码段后面。 其实,他不是跳过你了,而是他已经有内容了,内容就是‘\n’。因为nextInt();接收一个整型字符,不会读取\n,nextline();读入一行...原创 2018-06-20 21:55:55 · 4834 阅读 · 0 评论 -
java中outer:的用法
关键字break和continue都是结束循环的作用,但是它只能结束它外面的第一层循环,如果代码里面是一层一层又一层的循环,你想直接结束最外层循环又该怎么做呢?此时,就需要outer了。看如下代码:outer:for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if(j==0) { ...原创 2018-05-31 18:06:15 · 11103 阅读 · 2 评论 -
split函数的用法——java
Java中的 split 函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回;如:String str="1234@abc"; String[] a = str.split("@"); System.out.println("处理结果: "+a[0]+","+a[1]); //输出的是: 处理结果: 1234,abc 对于分割的字符(串),通常是常见,普通的,...转载 2018-06-01 13:46:26 · 70526 阅读 · 1 评论 -
Statement详细用法及解释----java
1、创建 Statement 对象: 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示:Connection con = DriverManager.getConnection(url, "sunny","");Statement stmt = con.cr...翻译 2018-06-17 10:50:57 · 46609 阅读 · 1 评论 -
JDBC的初步认识与使用
1、什么是JDBC:原创 2018-06-17 18:20:18 · 226 阅读 · 0 评论 -
java后端未来学习之路
最近找到了一篇文章,感觉是自己可以借鉴的,具体内容如下: 首先,我个人比较推崇的学习方法是:先学java前端,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解!其中J2SE是关键,如果学好了java se 部分,基础扎实了,后面进阶学习也比较轻松!补充说明一下:我觉得学习java比较合适的方法是先把所有...转载 2018-11-10 14:52:06 · 763 阅读 · 0 评论 -
基础(二)--- 比赛安排
【问题描述】设有2n2n (n≤6)(n≤6)个球队进行单循环比赛,计划在2n−12n−1天内完成,每个队每天进行一场比赛。设计一个比赛的安排,使在2n−12n−1天内每个队都与不同的对手比赛。【输入】输入共一行,输入nn的数值。【输出】输出共2n−12n−1行,第ii行输出第ii天的比赛安排。格式为:<ii>A-B C-D ……。其中ii是天数,A,B分别为比...原创 2019-01-18 22:51:47 · 267 阅读 · 0 评论 -
基础 --- 三角形(全排列式)
【问题描述】将1,2,···,9共9个数排成下列形态的三角形。其中:a~i分别表示1,2,······,9中的一个数字,并要求同时满足下列条件:(1)a<f<i;(2)b<d, g<h, c<e(3)a+b+d+f=f+g+h+i=i+e+c+a=P程序要求:根据输入的边长之和P输出所有满足上述条件的三角形的个数以及其中的一种方案。...原创 2019-01-24 20:06:05 · 2041 阅读 · 0 评论 -
java--全排列的生成算法
全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。任何n个字符集的排列都可以与1~n的n个数字的排列一一对应, 因此在此就以n个数字的排列为例说明排列的生成法。 n个字符的全体排列之间存在一个确定的线性顺序关系。所有的排列中除最后一个排列外,都有一个后继;除第一个排列外,都有一个前驱。每个排列的后继都可以从它的前驱经过最少的变化而得到,全排列的生...转载 2019-01-19 18:12:01 · 2022 阅读 · 0 评论 -
提高组----砝码称重
【问题描述】设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重≤1000≤1000)【输入格式】a1a1 a2a2 a3a3 a4a4 a5a5 a6a6(表示1g砝码有a1a1个,2g砝码有a2a2个,…,20g砝码有a6a6个)【输出格式】Total=NN(NN表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)【样例输入...原创 2019-01-20 13:43:16 · 489 阅读 · 0 评论 -
提高组-----棋盘
【问题描述】设有一个n×mn×m方格的棋盘(1≤m,n≤1001≤m,n≤100)。求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。例如:当n=2n=2,m=3m=3时正方形的个数有8个;即* 边长为1的正方形有6个;* 边长为2的正方形有2个。长方形的个数有10个;即* 2×12×1的长方形有4个;* 1×21×2的长方形有3个;* 3×13×...原创 2019-01-20 13:45:34 · 277 阅读 · 0 评论 -
基础--乘法运算
【问题描述】编制一个乘法运算的程序。从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。【输入】输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。【输出】输出4行或7行,符合乘法的竖式运算格式。【输入样例1】89 13【输出样例1】 89* 13---- 267 89 ----1157 【输入输出...原创 2019-01-15 21:06:05 · 879 阅读 · 0 评论 -
基础(二)----字符串编辑
【问题描述】从键盘输入一个字符串(长度<=40个字符),并以字符 ’.’ 结束。编辑功能有:1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如...原创 2019-01-15 21:09:26 · 945 阅读 · 0 评论 -
BigInteger用法
1.java中可以使用BigInteger操作大整数,也可以转换进制。如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作。这些大数都会以字符串的形式传入。 2.BigInteger类常用方法BigInteger abs() 返回大整数的绝对值BigInteger add(BigInteger v...翻译 2019-02-18 16:43:05 · 47716 阅读 · 4 评论 -
el及${对象}
JSTL的发布包有两个版本:Standard-1.0 Taglib、Standard-1.1 Taglib,它们在使用时是不同的。Sun发布的标准JSTL1.1标签库有以下几个标签:核心标签库:包含Web应用的常见工作,比如:循环、表达式赋值、基本输入输出等。国际化标签库:用来格式化显示数据的工作,比如:对不同区域的日期格式化等。...转载 2019-07-13 17:06:14 · 725 阅读 · 0 评论