常用的Java类方法


  1. Number & Math 类方法
  2. Character方法
  3. String类
  4. StringBuffer & StringBuilder类
  5. Array类
  6. Date类日期时间
  7. SimpleDateFormat格式化日期
  8. Calendar类
  9. Java正则表达式
  10. Java方法
  11. Java流(Stream)、文件(File)和IO
  12. Scanner类
  13. 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);

  • 对象字段类型
    • 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方法获取输入的字符串
    1. 一定要读取到有效字符后才可结束输入
    2. 对输入有效字符之前的空白,自动去掉
    3. 只有输入有效字符后才将后面输入的空白作为分隔符或结束符
    4. 不能得到带有空格的字符串
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方法
    1. 返回输入回车之前的所有字符
    2. 可以获得空白
···java
        ...
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNextLine()) {
            string str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
        scan.close();
···
  • 输入之前最好先使用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{
        //
    }

猜你喜欢

转载自blog.csdn.net/shu_ze/article/details/80290036