Java
山淼
这个作者很懒,什么都没留下…
展开
-
java中如何输入char类型
java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.nextLine();但是并没有in.nextChar();有时候需要我们用Scanner接收char类型数据,而不是接收String。比如,当我们要用到switch()语句时,就不能用String类型了。switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。转载 2020-12-12 20:47:16 · 3228 阅读 · 0 评论 -
Java的位运算符详解实例
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{public static void main(String[] args){int a=129;i.转载 2020-12-12 20:39:40 · 182 阅读 · 0 评论 -
Java 正则表达式的用法和实例
一、概述用来描述或者匹配一系列符合某个语句规则的字符串二、单个符号英文句点.符号:匹配单个任意字符。表达式t.o可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。中括号[]:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。| 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。表达式:t(a|b|c转载 2020-12-12 00:06:56 · 240 阅读 · 0 评论 -
java Random.nextInt()方法
public int nextInt(int n)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。代码:package org.xiaowu.random.demo;import java.util.Random;import org.junit.Test;public class RandomDemo { @Test public void Demo(){ Random rnd =转载 2020-11-29 23:38:24 · 1199 阅读 · 0 评论 -
Java中StringTokenizer类的使用
StringTokenizer是字符串分隔解析类型,属于:java.util包。Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要将一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。StringTokenizer有两个常用的方法:说明:所有方法均为public1.hasMoreTokens()这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口原创 2020-11-13 12:42:15 · 522 阅读 · 0 评论 -
Java的优先队列PriorityQueue详解
一、优先队列概述优先队列PriorityQueue是Queue接口的实现,可以对其中元素进行排序,可以放基本数据类型的包装类(如:Integer,Long等)或自定义的类对于基本数据类型的包装器类,优先队列中元素默认排列顺序是升序排列但对于自己定义的类来说,需要自己定义比较器。二、常用方法peek()//返回队首元素poll()//返回队首元素,队首元素出队列add()//添加元素size()//返回队列元素个数isEmpty()//判断队列是否为空,为空返回true,不空返回false三转载 2020-10-24 10:59:46 · 657 阅读 · 1 评论 -
String,StringBuffer和StringBuilder概况及区别
概况String :字符串常量,字符串长度不可变。StringBuffer :字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 StringBuffer,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。主要操作是 append 和 insert 方法:append 方法始终将这些字符添加到缓冲区的末端;insert 方法则在指定的点添加字符。StringBuilder :字符串变原创 2020-10-24 10:48:23 · 87 阅读 · 0 评论 -
Java string和各种格式互转
其他类型转String:String s = String.valueOf( value); // 其中 value 为任意一种数字类型。 字符串型转换成各种数字类型:String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = F转载 2020-10-18 10:42:35 · 241 阅读 · 0 评论 -
java中math类方法之数学运算(pow,exp,三角函数,指数)
Math中定义了许多的方法,通过Math类就能直接调用,均为static类型。1、 调用形式: Math.方法名2、三角函数方法:static double sin(double a ) : 返回角的三角正弦static double cos(double a) : 返回角的三角余弦static double tan(double a) : 返回角的三角正切static double asin(double a) : 返回角的反正弦static double acos(do.转载 2020-10-15 22:55:01 · 1178 阅读 · 0 评论 -
Java之工具类Collections常用methods
排序操作Collections提供以下方法对List进行排序操作void reverse(List list):反转void shuffle(List list) 随机排序void sort(List list) 按自然排序的升序排序,存储元素需实现Comparable接口,重写compareTo方法void sort(List list, Comparator c) 定制排序,由Comparator控制排序逻辑void swap(List list, int i , int转载 2020-10-06 11:33:27 · 137 阅读 · 0 评论 -
Java之List、ArrayList、LinkedList常用Methods
ArrayList和LinkedList的区别有以下几点: 1. ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构; 2. 对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;3. 对于添加和删除操作add和remove,一般大家都会说LinkedList要比ArrayList快,因为ArrayList要移动数据。但是实际情况并非这样,对于添加或删除,LinkedList和ArrayL原创 2020-10-06 11:19:07 · 177 阅读 · 0 评论 -
Java之Set、HashSet、TreeSet常用Methods
一、Set用于存储无序(存和取的顺序不同)非重复元素。如何做到元素不重复通过hashCode方法和equals方法来保证元素的唯一性二、HashSetHashSet是通过HasMap来实现的,HashMap的输入参数有Key、Value两个组成,在实现HashSet的时候,保持HashMap的Value为常量,相当于在HashMap中只对Key对象进行处理。常用方法boolean add(E e) 将指定的元素添加到此集合(如果尚未存在)。void clear() 从此集合中删除所有元素。原创 2020-10-06 10:38:44 · 235 阅读 · 0 评论 -
java之TreeMap :自然排序和定制排序
import java.util.Comparator;import java.util.TreeMap; public class Test { public static void main(String[] args) { System.out.println("使用自然排序:(键类实现了compareTo接口)"); TreeMap<Id, String> treeMap=new TreeMap<Id,String>();转载 2020-10-06 10:15:10 · 522 阅读 · 0 评论 -
Java之TreeMap常用methods
TreeMap用于存储与HashMap类非常相似的键值对。区别在于TreeMap提供了一种以排序顺序存储键/值对的有效方法。它是基于红黑树的NavigableMap实现。public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable一、常用methodsvoid clear(): .原创 2020-10-06 09:40:03 · 1109 阅读 · 0 评论 -
Java集合框架中的接口和类
Java集合框架中的接口Java集合框架中的类原创 2020-10-05 12:15:33 · 496 阅读 · 0 评论 -
Java之Object类—所有类的超类
Object类是java中所有类的最终祖先,即java中每个类都是由它扩展而来。Object作为父类,并不需要显式声明:class Employee extends Object。 因为编辑器会默认加上。Object这个父类存在的意义,大概是给所有的类添加几个默认的方法。一、equals方法public boolean equals(Object obj) { return (this == obj); }Object类中的equals方法用于检测一个对象是否等于另外.原创 2020-10-04 20:46:52 · 983 阅读 · 0 评论 -
Cannot make a static reference to the non-static method
在静态方法中,不能直接访问非静态成员(包括方法和变量)。main()属于静态方法。可通过加 static解决。参考博客:进击的鼻孔猫永不放弃EX原创 2020-09-29 20:07:09 · 147 阅读 · 0 评论 -
Java之HashMap常用methods及遍历方式
hashmap的key值不能重复,否则只会保留最后一次put进去的那个对象,以此覆盖以前的键值对。目录一、常用methods二、遍历方式一、常用methods- boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 `true`。- boolean containsValue(Object value) 如果此地图将一个或多个键映射到指定值,则返回 `true` 。- SetV remove(Object key) 删除指定键的键值对。boo原创 2020-09-27 11:37:53 · 601 阅读 · 0 评论 -
Java String(保持更新)
(1)用 equals检测两个字符串是否相等,如 s.equals(t) ; 用 == 进行相等性测试的话,类似于指针,只能够确定两个字符串是否放在同一个位置上。(2)常用APIchar charAt(int index) 返回给定位置的代码单元boolean equals(Object other)字符串相等,返回trueboolean equalsIgnoreCase(Object other)字符串相等(忽略大小写),返回trueboolean contains (CharSequenc原创 2020-09-27 10:53:50 · 235 阅读 · 0 评论 -
Java遗留的集合
1.Hashtable类Hashtable类和HashMap类作用一样,它们拥有相同的接口。基本上HashMap可代替Hashtable。2.枚举遗留集合使用Enumeration接口对元素序列进行遍历。Enumeration<Employee> e = staff.elements();while(e.hasMoreElements()){ Employee e = e.nextElement(); ....}上述hasMoreElements和nextE..原创 2020-09-26 10:25:41 · 227 阅读 · 0 评论 -
为什么equals和hashCode方法需要同时重写
注意:如果是在写算法题的话,假设只涉及到比较两个对象是否相等,用不到hashCode的话,是可以不用同时重写的。当然,这样并不建议。一、原生equals和hashCode1.原生的equals方法用于严格判断一个对象是否相等 public boolean equals(Object obj) { return (this == obj); }2.原生的hashCode方法返回根据内存地址换算出来的一个值As far as is reasonably practi.原创 2020-09-25 21:49:54 · 1601 阅读 · 0 评论 -
Java中类、变量和方法的定义格式
1.类的定义格式[修饰符] class 类名 [extends 父类名] [implements 接口名] {类体部分}修饰符: public,final,abstractextends:继承某个父类,默认继承Object类implements:实现某几个接口2.成员变量的定义格式[修饰符] [static] [final] 变量类型 变量名;修饰符:public,protected,private表示访问控制static:表示变量是静态变量。可有类直接调用,并被所有的类的实例共享原创 2020-09-21 12:38:06 · 3243 阅读 · 2 评论 -
for each循环
for (variable : collection) statementfor (int element : a)System.out.println(element);原创 2020-09-20 16:53:13 · 108 阅读 · 0 评论 -
xml中1字节的UTF-8序列的字节1无效(解决方案)
把所有xml的encoding属性值UTF-8改为UTF8注意:数据库在创建的时候要注意基字符集和数据库排序规则的设置原创 2020-08-15 09:28:02 · 1644 阅读 · 0 评论 -
数据库连接池了解和常用连接池对比
一、背景介绍什么是连接池1)先讲一下“池”。池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。这里所说的池是一种广义上的池,比如数据库连接池、线程池、内存池、对象池等。其中,对象池可以看成保存对象的容器,在进程初始化时创建一定数量的对象。需要时直接从池中取出一个空闲对象,用完后并不直接释放掉对象,而是再放到对象池中以方便下一次对象请求可以直接复用。其他几种池的设计思想也是如此,池技术的优势是,可以消除对象创建所带来的延迟,从而提高系统的性能。为转载 2020-08-03 18:42:25 · 638 阅读 · 0 评论 -
Java 常用IO流操作详解
1.IO流的分类2.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。常用方法: // 从输入流中读取数据的下一个字节 abstract int read() // 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b中 int read(byte[] b) // 将输入流中最多 len 个数据字节读入 byte 数组 int read(byte[] b, int of原创 2020-05-15 14:45:05 · 107 阅读 · 0 评论 -
为什么用字符流复制的图片打不开,而用字节流复制的却可以打开?
这是编码、解码的问题:字符流按字符读数据:一次读两个字节,返回了这两个字节所对应的字符的int型数值(编码)。写入文件时把这两个字节的内容解码成这个字符在Unicode码下对应的二进制数据写入。即把原始文件中的二进制数据以字符形式读出,再将字符以二进制形式写入,所以得到的文件以字符方式存储。而图片的数据是按字节存储的,所以打开图片时解码出错了!字节流按字节读数据:而字节不需要编码、解码,只有字节与字符之间转换时才需要编码、解码!所以可以正常读取图片数据。所以,非纯文本不要用字符流。...原创 2020-05-15 11:18:12 · 2102 阅读 · 0 评论 -
Java之IO流
readinputinputStreamwriteoutputoutputStreamIO流的分类:1.按照流的方向,以内存为参照物,往内存中去,叫做输入,或者读,从内存中出来,叫做输出,或者写。2.按照读取数据方式,按字节方式读取数据,一次一个字节,这种流万能,什么类型的文件都可以读取;按照字符方式读取数据,一次一个字符,这种是为了方便读取普通文本文件存在的,只能读取文本文件,不...原创 2020-05-05 12:09:35 · 152 阅读 · 0 评论 -
Java泛型
Java中的泛型程序设计为什么要用泛型?泛型意味着编写的代码可以被很多不同类型的对象所重用。这个< Element >表示 可以加泛型泛型这种机制,只在程序编译阶段作用,只是给编译器参考的。使用泛型好处:1.集合中存储的元素类型统一2.从集合中取出的元素类型是泛型指定的类型,不需要进行大量的“向下转型”泛型的缺点:1.导致集合中存储的元素缺乏多样性但大多数业务中,集...原创 2020-05-05 11:53:01 · 135 阅读 · 0 评论 -
Java集合
什么是集合?集合就是一个容器,可以容纳其他类型的数据。哪里会用到?实际开发中,数据库传出的10条记录,在java中会将10条数据封装成10个Java对象,然后将这些对象放到某个集合当中,将集合传到前端,然后遍历集合。集合中存储的是java对象的内存地址(或者说存储的是引用)每一个不同的集合,对应不同的数据结构。list有序可重复,存储的的元素有下标。有序实际上是说存进去是这个顺序,取出...原创 2020-05-05 11:51:09 · 105 阅读 · 0 评论 -
JAVA系统类
1.2.3.2.原创 2020-04-26 15:36:34 · 211 阅读 · 0 评论 -
Java中的面向对象
OOP的三大特征封装、继承、多态封装概念特性继承概念特性多态概念运行时多态重载和重写####### 重写的两条规则=========================================================OOP基本概念1.基本思想一切都是对象其中两个概念: 对象和类类Java中类的定义格式...原创 2020-04-26 14:24:48 · 158 阅读 · 0 评论 -
为什么float后面要加f
原因:编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高double 转成 float 就不能自动做了,所以后面的加上个 f;也就是说必须写成float f=(float)3.4 或float f = 3.4f记住这一点:在java里面,没小数点的默认是int,有小数点的默认是 double...原创 2020-04-20 23:45:22 · 5397 阅读 · 1 评论 -
Java学习(他人)
Java学习======================JVM JDK JRE1.Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。2.JDK 是 Java Devel...原创 2020-03-10 08:18:36 · 103 阅读 · 0 评论