- Number & Math 类方法
- Character方法
- String类
- StringBuffer & StringBuilder类
- Array类
- Date类日期时间
- SimpleDateFormat格式化日期
- Calendar类
- Java正则表达式
- Java方法
- Java流(Stream)、文件(File)和IO
- Scanner类
- Java异常处理
1. Number & Math 类方法
- compareTo():将Number对象与参数比较
- equals():判断Number对象是否与参数相等
- valueOf():返回Number对象指定的内置数据类型
- toString()以字符串形式返回值
- parseInt():将字符串解析为int类型
- abs():绝对值
- ceil():返回大于等于给定参数的最小整数
- floor():返回小于等于给定参数的最大整数
- rint():返回与参数最接近的整数
- round():四舍五入,算法为Math.floor(x+0.5)
- min():返回两个参数的最小值
- max():返回两个参数的最大值
- exp():返回自然数底数e的参数次方
- log():返回参数的自然数底数的对数值
- pow():返回第一个参数的第二个参数次方
- sqrt():求参数的算术平方根
- sin() asin():求指定double类型的正弦值、反正弦值
- cos() acos():求指定double类型的余弦值、反余弦值
- tan() atan():求指定double类型的正切值、反正切值
- atin2():将笛卡尔坐标转换为极坐标,并返回极坐标的角度值
- toDegrees():将参数转化为角度
- toRadians():将角度转换为弧度
- random():返回一个随机数
2. Character方法
- isLetter()
- isDigit()
- isWhiterspace()
- isUpperCase()
- isLowerCase()
- toUPperCase()
- toLowerCase()
- toString():返回字符的字符串形式,长度仅为1
3. String类
- 不可改变,如需对字符串做很多修改,选择StringBuffer&StringBuilder类
- char charAt(int index):指定索引处的char值
- int compareTo(Object to):和另一个对象比较
- int compareTo(String anotherString):按字典顺序比较两个字符串
- int compareToIgnoreCase(String str):不考虑大小写
- String concat(String str):连接指定字符串到结尾
- boolean contentEquals(StringBuffer sb):当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真
- static String copyValueOf(char[] data):返回指定数组中表示该字符序列的String
- static String copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的String
- boolean endsWith(String suffix):是否以指定的后缀结束
- boolean equeals(Object anObject):与指定对象比较
- boolean equalsIgnoreCase(String anotherString):不考虑大小写
- byte[].getBytes():使用平台的默认字符集将此String编码为byte序列,并将结果储存到一个新的byte数组中
- byte[].getBytes(String charsetName):使用指定的字符集将此String编码为byte序列,并将结果储存到一个新的byte数组中
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):复制到目标字符数组
- int hashCode():哈希码
- int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
- int indexOf(int ch, int fromIndex):从指定的索引开始搜索
- int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
- int indexOf(String str, int fromIndex):从指定的索引开始搜索
- String intern():返回字符串对象的规划化表示形式
- int lastIndexOf(int ch):返回指定字符在此字符串最后一次出现处的索引
- int lastIndexOf(int ch, fromIndex):从指定的索引开始反向搜索
- int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引
- int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
- int length():长度
- boolean matches(String regex):是否匹配给定的正则表达式
- boolean regionMatches(boolean ignoreCase, int toffset, String other, int offest, int len):两个字符串区域是否相等
- boolean regionMatches(int toffset, String other, int ooffset, int len):两个字符串区域是否相等
- String replace(char oldChar, char newChar):用newChat替换此字符串中出现的所有oldChat,返回新的字符串
- String replaceAll(String regex, String replacement):使用给定的replacement替换所有匹配正则表达式的子字符串
- String replaceFirst(String regex, String replacement):替换第一个子字符串
- String[] split(String regex):根据给定正则表达式拆分
- String[] split(String regex, int limit):根据给定正则表达式拆分
- boolean startsWith(String.prefix):是否以指定前缀开始
- boolean startsWith(String prefix, int toffset):从指定索引开始的子字符串是否以指定前缀开始
- CharSequence subSequence(int beginIndex, int endIndex):返回一个子序列
- String substring(int beginIndex):返回一个子字符串
- String substring(int beginIndex, int endIndex):返回一个子字符串
- char[] toCharArray():转换为一个字符数组
- String toLowerCase():转换为小写
- String toLowerCase(Locale locale):使用给定Locale的规则将所有字符转换为小写
- String toString():返回对象本身,它已经是一个字符串
- String toUpperCase():转换为大写
- String toUpperCase(Locale locale):使用给定Locale的规则将所有字符转换为大写
- String trim():返回字符串的副本,忽略前后空白
- static String valueOf(primitive data type x):返回给定data type类型x参数的字符串表示形式
4. StringBuffer & StringBuilder类
- 类的对象能被多次修改,并且不产生新的未使用对象
- StringBuilder类和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)
- StringBuilder类有速度优势,多数情况下使用;在应用程序要求线程安全时,必须使用StringBuffer类
- public StringBuffer append(String s):追加
- public StringBuffer reverse():反转取代
- public delete(int start, int end):移除此序列的子字符串中的字符
- public insert(int offset, int i):将int参数的字符串表示形式插入此序列中
- replace(int start, int end, String str):使用给定String中的字符替换此序列的子字符串中的字符
- int capacity():当前容量
- char charA(int index):返回此序列中指定索引处的char值
- void ensureCapacity(int minimumCapacity):确保容量至少等于指定的最小值
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):将字符从此序列复制到目标字符数组dst
- int indexOf(String str)
- int indexOf(String str, int fromIndex)
- int lastIndexOf(String str)
- int lastIndexOf(String str, int fromIndex)
- int length()
- void setCharAt(int index, char ch):将给定索引出的字符设置为ch
- void setLength(int newLength):设置字符序列的长度
- CharSequence subSequence(int start,int end)
- String substring(int start)
- String substring(int start, int end)
- String toString()
5. Array类
- 提供的所有方法是静态的
- public static int binarySearch(Object[] a, Object key):对排序好的数组进行二分查找操作,返回搜索键的索引,找不到返回-1
- public static boolean equals(type[] a, type[] b):比较数组中元素值是否相等,如果两个数组以相同顺序包含相同的元素,返回true
- public static void fill(type[] a, type val):将指定类型的值分配给指定类型数组指定范围中的每个元素
- public static void sort(type[] a):对指定类型(Object、Byte、short、Int等)数组根据其元素的自然顺序进行升序排序
6. Date类日期时间
- Date():使用当前日期和时间来初始化对象
- Date(long millisec):millisec是从1970年1月1日起的毫秒数
- boolean after(Date date)
- boolean before(Date date)
- Object clone():返回此对象的副本
- int compareTo(Date date):比较,相等返回0,调用对象在指定日期之前返回负数,之后返回正数
- boolean equals(Object date)
- long getTime():返回自1970年1月1日00:00:00 GMT以来Date对象表示的毫秒数
- int hashCode()
- void setTime(long time)
- String toString():把Date对象转换为以下形式的String:dow mon dd hh:mm:ss zzz yyyy 其中dow取Sun,Mon,Tue,Wed,Thu,Fri,Sat
7. SimpleDateFormat格式化日期
import java.util.*;
import java.text.*;
public class Demo {
public static void main(String[] args) {
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss");
System.out.println("Current Date: " + ft.format(dNow));
}
}
- G:纪元标记,如AD
- y:四位年份,如2018
- M:月份,July or 07
- d:日期
- h:A.M./P.M.12小时格式
- H:24小时格式,0~23
- m:分钟数,0~59
- s:秒数,0~59
- S:毫秒
- E:星期几,如Tuesday
- D:一年中的日子,如360
- F:一个月中第几周的周几,如second Wed. in July
- w:一年中第几周,1~53
- W:一个月中第几周,1~6
- a:A.M./P.M.标记
- k:一天中的小时,1~24
- K:A.M./P.M.(0~11)格式小时
- z:时区
- ‘:文字定界符,如Delimiter
- ”:单引号
8. Calendar类
- 设置和获取日期数据的特定部分
- 创建Calendar对象
Calendar c1 = Calendar.getInstance();
// c1.set(2018, 5, 12);
- 1
- 2
- 对象字段类型
- Calendar.YEAR
- Calendar.MONTH
- Calendar.DATE(Calendar.DAY_OF_MONTH)
- Calendar.HOUR:12小时制
- Calendar.HOUR_OF_DAY:24小时制
- Calendar.MINUTE
- Calendar.SECOND
- Calendar.DAY_OF_WEEK:星期几,1表示星期日,7表示星期六
- 方法
- public final void set(int year, int month, int date):设置年月日
- public void set(int field, int value):设置某个字段
- add(int field, int value):加上或减去一段时间
- get(int field):获得对象信息
9. Java正则表达式
- 在其他语言中,
\\
表示我想要在正则表达式中插入一个普通的反斜杠,请不要给它任何特殊意义;在Java中,\\
表示我要插入一个正则表达式的反斜线,其后的字符具有特殊的意义。 - 一位数字的正则表达式是
\\d
,表示一个普通的反斜杠是\\\\
- 正则表达式语法
- \:将下一字符标记为特殊字符、文本、反向引用或八进制转义符
- ^:开始位置
- $:结尾位置
- *:零次或多次,等效于{0,}
- +:一次或多次,等效于{1,}
- ?:零次或一次,等效于{0,1}
- {n}:刚好匹配n次
- {n,}:至少匹配n次
- {n,m}:匹配至少n次,之多m次。‘{0,1}’等效于‘?’,不能将空格插入逗号和数字之间
- ?:当?紧随其他限定符之后时,匹配模式是“非贪心的”,尽可能短
- .
- (pattern):匹配pattern并捕获该匹配的子表达式
- (?:pattern):匹配pattern但不捕获该匹配的子表达式
- (?=pattern):执行正向预测先行搜索的子表达式,该表达式匹配处于匹配pattern的字符串的起始点的字符串
- (?!pattern):执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配pattern的字符串的起始点的字符串
- x|y:或
- [xyz]:字符集,匹配包含的任意字符
- [^xyz]:反向字符集
- [a-z]:字符范围
- [^a-z]:反向字符范围
- \b:匹配一个字边界,即字与空格间的位置
- \B:非字边界匹配
- \cx:匹配x指示的控制字符
- \d:数字字符匹配,等效于[0-9]
- \D:非数字字符匹配,[^0-9]
- \f:换页符匹配,\x0c和\cL
- \n:换行符匹配,\x0a和\cJ
- \r:回车符,\x0d和\cM
- \s:匹配任何空白字符,\f\n\r\t\v
- \S:匹配任何非空白字符
- \t:制表符,\x09和\cI
- \v:垂直制表符,\x0b和\cK
- \w:匹配任何字类字符,包括下划线,等效于”[A-Za-z0-9_]”
- \W:任何非单词字符,”[^A-Za-z0-9_]”
- \xn:匹配n,此处n是一个十六进制转义码
- \num:此处num是一个正整数。到捕获匹配的反向引用
- \n:标识一个八进制转义码或反向引用
- \nm:标识一个八进制转义码或反向引用
- \nml:当n是八进制数0-3,m和l是八进制数0-7时,匹配八进制转义符nml
- \un:匹配n,n是以四位十六进制数表示的Unicode字符
10. Java方法
- System.out.println():调用系统类System中的标准输出对象out中的方法println()
- 语句的集合,解决一类问题的步骤的有序组合
- 第一个单词小写字母开头,后面单词大写字母开头,不使用连接符
- 优点
- 简短清晰
- 利于程序维护
- 提高开发效率
- 提高代码重用性
- 方法的重载
- 一个类的两个方法有相同的名字,但是有不同的参数列表
- 可变参数
- 一个方法中只能指定一个可变参数,必须是方法的最后一个参数,任何普通的参数必须在它之前声明
11. Java流(Stream)、文件(File)和IO
- 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
- 读取控制台输入:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- 读取字符:
br.read()
- 读取字符串:
br.readLine()
- 读取字符:
- 控制台输出
- print();
- println();
- FileInputStream:从文件读取数据
- 使用字符串类型的文件名来创建一个输入流对象来读取文件
InputStream f = new FileInputStream("C:/java/hello");
- 使用一个文件对象来创建一个输入流对象来读取文件
- 使用字符串类型的文件名来创建一个输入流对象来读取文件
File f = new File("C:/java/hello");
InputString out = new FileInputStream(f);
- FileOutputStream:向文件写数据
12. Scanner类
- 获取用户的输入:
Scanner s = new Scanner(System.in)
- next方法获取输入的字符串
- 一定要读取到有效字符后才可结束输入
- 对输入有效字符之前的空白,自动去掉
- 只有输入有效字符后才将后面输入的空白作为分隔符或结束符
- 不能得到带有空格的字符串
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
// next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if (scan.hasnext()) {
String str1 = scan.next();
System.out.println("输入的数据为:" + str1);
}
scan.close();
}
}
- nextLine方法
- 返回输入回车之前的所有字符
- 可以获得空白
- 输入之前最好先使用hasNextXxx()方法进行验证,再使用nextXxx()来读取
13. Java异常处理
- 检查性异常(IOException):用户村务或问题引起,如打开一个不存在的文件时
- 运行时异常(RuntimeException):可以在编译时被忽略,可能被程序员避免
- 错误(Error):不是异常,错误在代码中通常被忽略,如JVM内存溢出
- 异常方法
- public string getMessage()
- public Throwable getCause()
- public String toString()
- public volid printStackTrace()
- public StackTraceElement [] getStackTrace()
- public Throwable filllnStackTrace()
- 捕获异常
- catch不能独立于try存在
- finally并非强制性要求
- try代码后不能既没catch块也没finally块
- try、catch、finally块之间不能添加任何代码
try{
//
}catch(ExceptionType1 e1){
//
}catch(ExceptionType2 e2){
//
}finally{
//
}