标签:迭代 大写 道具 pattern 字符串 范围 oat 平方根 精度
Scanner
2019年4月25日
11:07
?
?
HasNextInt();
获取指定int类型的数据,如果数据正确则返回true否则返回false。
HasNextDouble();
获取指定Double类型的数据,如果数据正确则返回true否则返回false。
HasNextString();
获取指定String类型的数据,如果数据正确则返回true否则返回false。
HasNextChar();
获取指定Char类型的数据,如果数据正确则返回true否则返回false。
HasNextBoolean();
获取指定布尔类型的数据,如果数据正确则返回true否则返回false。
?
?
nextInt()方法与nextLine()方法连用出现nextLine()方法不能正常调用的问题
原因分析:nextline()方法将\r\t作为结束标志符,但是当我们输入完int数据后的回车被nextLine()方法获取,并结束方法。
解决方法:1、重新new一个Scannner对象,调用nextLine()方法,
2、将全部数据都作为String类型获取,然后调用其他方法转换数据类型。
?
?
?
?
String类
?
?
?
?
equalsIgnoreCase();判断String是否相等并不区分大小写
Contains();判断是否包含传入的字符
startsWith();判断是否以传入的字符串开始
endsWith();判断是否以传入的字符结束
isEmpty();判断是否为空;
?
?
?
?
""和null区别
""是字符串常量,同时也是字符串对象,可以调用String方法
null是空常量,不能调用方法
?
?
在进行常量与变量进行比较时,推荐常量在前,变量在后,可以避免空指针错误。
?
?
getBytes(); |
转换成字节数组存储起来 |
toCharArrary(); |
将字符串类型转换成为字符数组; |
toLowerCase(); |
toUperCase(); |
以源字符串为基础新建一个大写(或小写)的字符串; |
?
subString(); |
截断一个字符串 |
valueOf(); |
内部可以传入任意类型,并将其转为字符串类型; |
Replace(); |
字符替代及字符串替代 |
?
?
?
?
泛型方法
2019年5月10日
14:56
?
?
? 泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test
?????? 但是Java中的泛型方法就比较复杂了。
?????? 泛型类,是在实例化类的时候指明泛型的具体类型;泛型方法,是在调用方法的时候指明泛型的具体类型。
?
?
?
?
说明一下,定义泛型方法时,必须在返回值前边加一个,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。 为什Class的作用就是指明泛型的具体类型,而Class类型的变量c,可以用来创建泛型类的对象。
么要为什么要用变量c来创建对象呢?既然是泛型方法,就代表着我们不知道具体的类型是什么,也不知道构造方法如何,因此没有办法去new一个对象,但可以利用变量c的newInstance方法去创建对象,也就是利用反射创建对象。
使用泛型方法要求的参数是Class类型,而Class.forName()方法的返回值也是Class,因此可以用Class.forName()作为参数。其中,forName()方法中的参数是何种类型,返回的Class就是何种类型。在本例中,forName()方法中传入的是User类的完整路径,因此返回的是
?
?
Class类型的对象,因此调用泛型方法时,变量c的类型就是Class,因此泛型方法中的泛型T就被指明为User,因此变量obj的类型为User。 泛型当然,泛型方法不是仅仅可以有一个参数Class,可以根据需要添加其他参数。
方法呢?因为泛型类要在实例化的时候就指明类型,如果想换一种类型,不得不重新new一次,可能不够灵活;而泛型方法可以在调用的时候指明类型,更加灵活。
?
?
?
?
快捷键
2019年5月9日
8:33
Ctrl+shift+f |
规整代码 |
Ctrl+N |
新建 |
Ctrl+1 |
生成变量 |
?? |
强制类型装换 |
Ctrl+D |
删除掉光标所在的一行 |
Ctrl+Z |
向后退操作 |
Alt+/ |
代码提示 |
ALT+shift+M |
提取成为方法 |
Ctrl+Shift+O |
快捷导包 |
Alt+上键 |
将此行代码向上移动 |
Alt+shift+r |
改名 |
?
?
?
?
StringBuffer类
2019年5月10日
17:15
append(String st); |
增加任意类型进入StringBuffer空间 |
返回值StringBuffer |
insert(offset, b) |
在指定位置添加任意类型数据 |
返回值StringBuffer |
delete(start, end) |
删除指定区域的数据 |
返回值StringBuffer |
deleteCharAt(offset); |
删除指定位置的字符 |
返回值StringBuffer |
replace(start, end, str); |
替换从开始到结束的指定字符 |
返回值StringBuffer |
subString(start,end); |
截取从开始点到结束点并产生新的字符串,不改变原StringBuffer |
返回值String |
?
?
?
?
正则
2019年5月11日
10:45
?
?
正则表达式基础词汇
只针对单个字符进行判断
[abc] |
a,b或c(简单类) |
[^abc] |
非a,b,c(否定) |
[a-zA-Z] |
a到z或A到Z(范围) |
[a-d[m-p]] |
a到d与m到p的并集 |
[a-z&&[^def]] |
a到z但是不包括d,e,f |
[a-z&&[bc]] |
a到z与b,c的交集 |
[a-z&&[^m-p]] |
a到z但是不包括m到p |
. |
任何字符 |
\d |
数字【0-9】在应用时必须再添加一个\ |
\D |
非数字【^0-9】在应用时必须再添加一个\ |
\s |
空白字符【\t\n\x0B\f\r】在应用时必须再添加一个\ |
\S |
非空白字符 在应用时必须再添加一个\ |
\w |
单词字符【a-zA-Z_0-9】在应用时必须再添加一个\ |
\W |
非单词字符 在应用时必须再添加一个\ |
X? |
x一次或者一次也没有(只针对x,其他字符也会返回false) |
X* |
0次到多次 |
X+ |
一次到多次 |
X{n} |
恰好有n次 |
X{n,} |
至少n次 |
X{n,m} |
至少n次,但是不会超过m次 |
正则替代方法,matches(regex)
replaceAll(regex,replacemate) 全部替换
?
?
组
(A)一个组可以对组进行操作例如重复出现,出现多次,全部替换成组里的
?
?
replaceAll("(.)\\1+","$1") //(.)获取到第一个字符,\\1+第一个组里的词重复一到多次,$1替换成第一个组里的内容
?
?
matcher适配器
例题:提取手机号
Pattern 正则表达式的编译表示。
Matcher 正则的匹配器
?
?
String s1 = "我叫狗柱我的学号是201700800188,我舍友颜狗的是201700800234,";
String regex = "[201700800]+\\d{3}"; //正则
?
?
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(s1); //获取匹配器
while(
matcher.find()) //查找是否有满足正则模式的字符串
System.out.println(matcher.group()); //将匹配到的字符获取出来,使用打印出来。
}
?
?
?
?
Math
2019年5月18日
9:54
?
?
常用的数学方法,例如求如基本指数,对数,平方根和三角函数。
方法:
abs();求绝对值
ceil();向上取整结果为double类型
floor();向下取整数结果为double类型
Random();随机产生一个0.0到1.0的数
round();四舍五入
?
?
?
?
Random
2019年5月18日
10:15
产生一个随机数
Random();random的空参构造以纳秒值为种子产生随机数
Random(long seed);以传入的数据作为种子产生随机数
方法:
nextInt();产生一个随机的int类型的数值
nextInt(int bound);产生一个0到(bound-1)的数值;
//可将此方法类比产生Double、Byte、Float类型
?
?
?
?
?
?
System类
2019年5月18日
10:38
?
?
字段摘要:err标准的错误输出流
int标准的键盘输入流
out标准的控制台输出流
方法:
gc(); |
运行垃圾回收器 |
exit(int status); |
停止jvm运行建议输入0 |
nanoTime(); |
返回正在运行的时间的纳秒值 |
currentTimeMillis() |
返回当前时间以毫秒为单位 |
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) |
拷贝一个数组 |
?
?
?
?
BigInteger
2019年5月18日
10:48
大数类:
构造方法:
public BigInteger(String val,int radix) |
将一段字符串转换为大数类 |
常用方法:
add();两个大数类相加
subtract();前面的大数类减后面的大数
multiply();两个大数类相乘
divide();前面的大数类除后面的大数
?
?
?
?
BigDecimal
2019年5月19日
17:37
任意精度的带符号的十进制数字
构造方法:
BigDecimal(String val); |
将字符串转换为精准的十进制带符号数 |
BigDecimal(int val) |
将int类型的数转换为精准的十进制带符号数 |
BigDecimal(Double val) |
将double类型转换为精准的十进制带符号数 |
。。。。。。 |
?? |
方法:
?
?
?
?
?
?
Date类
2019年5月23日
15:06
构造方法:
Date();
Date(long var);设置纳秒值;
普通方法:
getTime(); |
获取1970年一月一日据现在的纳秒值 |
setTime(); |
设置1970年一月一日据现在的纳秒值 |
?
?
?
?
SimpleDateFormat类
2019年5月23日
15:25
简单日期的格式
构造方法:
SimpleDateFormat();
SimpleDateFormat(String sourse);
常用字符
实例:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyy年MM月dd日 HH:mm:ss" );
String d = Sdf.format(date);
?
?
常用方法:
format(Date date); |
将日期格式化成日期/时间字符串。 |
public Date parse(String source)
throws ParseException
|
从给定字符串的开始解析文本以生成日期 |
?
?
?
?
集合
2019年5月24日
16:52
集合和数组的区别:
集合:可以自动增长,并且只能存储对象
数组:大小固定,可以存储对象也可以存储基本数据类型
集合缺点:
自动增长,但是在增长的同时会将旧集合变成垃圾
?
?
分类
?
?
?
?
Collection
2019年5月24日
17:11
抽象类
方法:
Boolean add(Object 0); |
添加一个对象到集合中去 |
如果是list集合则只返回true,如果是set则返回true或false |
Boolearn remove(Object o); |
删除一个对象 |
?? |
Boolearn clear(); |
清空集合 |
?? |
Boolearn contains(object o); |
判断是否包含某个对象 |
?? |
String toArray(); |
将集合转换成为数组 |
?? |
?
?
Boolean addAll(Collection c); |
将一个集合合并到另一个集合中 |
Boolean removeAll(Collection c); |
移除两个集合的并集 |
Boolean containsAll(Collection c); |
判断是否包含传入的集合元素 |
Iteration 迭代器
?
?
?
?
?
?
List集合
2019年5月25日
9:21
?
?
list特有方法:
Boole add(index, varle); |
在指定位置添加元素 |
object remove(index); |
删除指定位置的对象,返回删除的对象 |
E set(index,e element) |
用指定的元素(可选操作)替换此列表中指定位置的元素。 |
?
?
?
?
LInkedList类
2019年5月30日
16:01
链表集合
方法:
Void addFrist(E e); |
在头部添加对象 |
Void addLast(E e); |
在尾部添加对象 |
E getFirst(); |
获取到第一个元素 |
E getlast(); |
获取到最后一个对象 |
E removeFrist(); |
删除第一个对象 |
E removeLast(); |
删除最后一个对象 |
?
?
?
?
Exception
2019年7月10日
20:21
在默认Exception是编译错误,在编译过程中就出现错误,就会抛出
RuntimeException 是在运行时出现错误,并且抛出。但是在编译时出现错误就不会抛出,
?
?
Throws
跟在方法声明的后面
后面可以跟多个异常类名,用逗号隔开
表示抛出方法
Throw
在方法内部跟的是对象名
只能是一个对象,
表示抛出一个异常,
?
?
?
?
?
?
?
?
File
2019年7月11日
15:35
?
?
File()新建一个文件流
File(pathname);
CreateNewFile();新建一个文件
mkdir();新建一个文件夹
mkdirs();新建一个父文件并包含子文件夹;
delete();删除文件或者是文件夹,如果目标是文件夹要求文件夹内不能有任何文件或者文件夹;
renameTo(pathname);将文件重命名为参数,可以不再同一路径下;
isDircetory();判断是否是目录(文件夹);
isFile();判断是否是文件;
canRead();判读那文件是否可读;
canWriter();判断文件是否可写;
getAbsoloutePath();获取文件的绝对路径
getPath();获取构造方法中传入的路径
getName();获取文件(文件夹)名称
Length();获取文件的字节数;
getLastModified();获取最后修改日期,
List();获取指定目录下的文件或者文件夹的名称数组
listFiles();获取指定目录下的文件或者文件夹的File数组
?
?
?
?
?
?
?
?
?
?
?
?
?
?
IO
2019年7月20日
9:39
分类:
字符输入输出流抽象父类:
read 字符输入流
writer 字符输出流
字节输入输出流抽象父类:
inputStream 标准字节输入流
outputSream 标准字节输出流
?
?
FileInputStream 字节读
Fileinputstream fis = new FileInputStream(File f);//当File不存在时,抛出FileNotFondException异常
int I = fis.read();//读取一个字节,返回为int类型值;
fis.read();//读取时产生文件读取标志,每次加一,向后走一位,
?
?
?
?
?
?
FileOutputStream 字节写
FileOutputStream fos = new FileOutputStream(File f);//当文件不存在时,会自动创建一个文件,
fos.writer(int i);//写入一个字节I;
fos.writer(int i);//写入一个字节I,并覆盖原来数据;
续写:
FileOutputStream fos = new FileOutputStream(File f,true);//当文件不存在时,会自动创建一个文件,此时设置为续写模式,不删除元数据
?
?
?
?
Buffeerinputstream&BufferoutputStream
2019年7月29日
10:14
BufferRead BufferWriter 运行机制
?
?
Close();方法
具备刷新功能,再关闭流之前就会刷新一次缓冲区,将缓冲区的内容全部刷新到文件上,在关闭。
Flush();方法
具备刷新功能,刷新完成后哦可以继续写
?
?
?
?
?
?
Reader&Writer
2019年7月30日
17:43
?
?
使用:不嫩那个使用在照片视频等一类多媒体文件上,只能应用在纯文本文件,
?
?
?
?
LineNumberReader 跟踪行号的缓冲字符流,
getLineNumber()获得当前行号
setLineNumber(int)设置行号
?
?
?
?
?
?
字符转换
实例:
InputStreamReader isr = new InputStreamReader(new FileInputStream("utf-8.txt"), "utf-8");
OutputStreamWriter osW = new OutputStreamWriter(new FileOutputStream("GBK.txt"), "GBK");
?
?
int c;
while ((c =isr.read()) !=-1) {
osW.write(c);
}
?
?
isr.close();
osW.close();
?
?
inputStreamReader/OutputStreamWriter |
是字符和字节之间的桥梁,可以将字符转化为字节也可以将字节转化为字符。 |
Java常用类介绍
标签:迭代 大写 道具 pattern 字符串 范围 oat 平方根 精度
原文地址:https://www.cnblogs.com/yuknight/p/12811709.html