JAVA方法和专用术语(每日更新)

遇到的专有名词:

1.delimiting : 分隔符

2.invocation : 代表一个远程调用

3.Invoking : 代表 使用 某种方法

4.pattern:模式

5.specifying:指定

6.









遇到的方法统计:

1.java.util.Scanner方法


useDelimiter(new Scanner(System.in).useDelimiter())



nextInt()/nextLine()/nextbyte()/nextdouble()......

用于 new Scanner(System.in).nextInt()

表示键入的参数类型,int型、字符串型、byte型、double型。。。。。

Scanner scan = new Scanner(System.in).useDelimiter("\\D");
System.out.println("请输入三个整数");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
如果用nextInt(),则需要 new 3次Scanner对象。


2.Arrays类

toString:

Arrays.toString() ------返回指定数组内容的字符串表示形式。

有时发现输出的数组是一个哈希码值的时候,就可以用这个方法将数组输出

sort:

Arrays.sort( int[] a) -------对指定的 int 型数组按数字升序进行排序。
Arrays.sort(int[] a ,int fromindex , int toindex)------对指定 int 型数组的指定范围按数字升序进行排序

binarySearch:

static int binarySearch(byte[] a, byte key)--------使用二分搜索法来搜索指定的 byte 型数组,以获得指定的值。
static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key)------使用二分搜索法来搜索指定的 byte 型数组的范围,以获得指定的值。

CopyOf:

static byte[] copyOf(byte[] original, int newLength)------复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
static byte[] copyOfRange(byte[] original, int from, int to)-------将指定数组的指定范围复制到一个新数组。

equals:    比较两个数组长度和内容是否一致。

fill:

static void fill(byte[] a, byte val)------将指定的 byte 值分配给指定 byte 节型数组的每个元素。

hashcode:
         返回数组的哈希值。



3.Object 类

public boolean equals(Object obj)

指示其他某个对象是否与此对象“相等”。

equals 方法在非空对象引用上实现相等关系:
自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。
对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。
对于任何非空引用值 x,x.equals(null) 都应返回 false。

Object 类的 equals 方法实现对象上差别可能性最大的相等关系;
    即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。

注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。

参数:
obj - 要与之比较的引用对象。
返回:
如果此对象与 obj 参数相同,则返回 true;否则返回 false。


protected  void finalize()

          当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。


public final Class<?> getClass()

    返回此 Object 的运行时类。
    返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象。
实际结果类型是 Class<? extends |X|>,其中 |X| 表示清除表达式中的静态类型,该表达式调用 getClass。
    
例如,以下代码片段中不需要强制转换:
Number n = 0;
Class<? extends Number> c = n.getClass();

返回:
表示此对象运行时类的 Class 对象。

public int hashCode()

    返回该对象的哈希码值。
    支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

 void notify()

          唤醒在此对象监视器上等待的单个线程。
    

 void notifyAll()

          唤醒在此对象监视器上等待的所有线程。
    

public String toString()

     返回该对象的字符串表示。
    通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。
    结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由:
    类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
    
换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
 
返回:
该对象的字符串表示形式。

 void wait()

          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。



4. java.lang.Charactor 类

Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。


public char charValue()

    返回此 Character 对象的值。

    返回:
       此对象表示的基本 char 值。

public int compareTo(Character anotherCharacter)

        根据数字比较两个 Character 对象。

        指定者:
            接口 Comparable<Character> 中的 compareTo
        参数:
            anotherCharacter - 要比较的 Character。
        返回:
            如果该 Character 等于此 Character,则返回 0;
            如果该 Character 的数值小于参数 Character,则返回小于 0 的值;
            如果该 Character 的数值大于参数 Character,则返回大于 0 的值(有符号比较)。
            注意,这是一次严格的数字比较;它并不依赖于区域。

public boolean equals(Object obj)

     将此对象与指定对象比较。
     当且仅当参数不是 null,而是一个与此对象包含相同 char 值的 Character 对象时,结果才是 true。
覆盖:
   类 Object 中的 equals
参数:
   obj - 比较的对象。
返回:
   如果对象相同,则返回 true;否则返回 false。

public static boolean isDigit(char ch)

     确定指定字符是否为数字。
    如果通过 Character.getType(ch) 提供的字符的常规类别类型为 DECIMAL_DIGIT_NUMBER,则字符为数字。

    包含数字的 Unicode 字符范围:
'\u0030' 到 '\u0039',ISO-LATIN-1 数字('0' 到 '9')
'\u0660' 到 '\u0669',Arabic-Indic 数字
'\u06F0' 到 '\u06F9',扩展了的 Arabic-Indic 数字
'\u0966' 到 '\u096F',梵文数字
'\uFF10' 到 '\uFF19',全形数字
其他许多字符范围也包含数字。
        参数:
        ch - 要测试的字符。
        返回:
        如果字符为数字,则返回 true;否则返回 false。

public static boolean isLetter(char ch)

    确定指定字符是否为字母。
    如果通过 Character.getType(ch) 为字符提供的常规类别的类型为以下类型中的任意一种,
    则认为该字符为字母:
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
    并非所有的字母都有大小写。许多字符都是字母,但它们既不是大写的,也不是小写的,并且也不是首字母大写的。
参数:
ch - 要测试的字符。
返回:
如果字符为字母,则返回 true;否则返回 false。

public static boolean isLetterOrDigit(char ch)

    确定指定字符是否为字母或数字。

public static boolean isLowerCase(char ch)确定指定字符是否为小写字母。
如果通过 Character.getType(ch) 提供的字符的常规类别类型为 LOWERCASE_LETTER,则字符为小写字母。

以下是小写字母的示例:
 a b c d e f g h i j k l m n o p q r s t u v w x y z
 '\u00DF' '\u00E0' '\u00E1' '\u00E2' '\u00E3' '\u00E4' '\u00E5' '\u00E6'
 '\u00E7' '\u00E8' '\u00E9' '\u00EA' '\u00EB' '\u00EC' '\u00ED' '\u00EE'
 '\u00EF' '\u00F0' '\u00F1' '\u00F2' '\u00F3' '\u00F4' '\u00F5' '\u00F6'
 '\u00F8' '\u00F9' '\u00FA' '\u00FB' '\u00FC' '\u00FD' '\u00FE' '\u00FF'
 其他许多 Unicode 字符也是小写的。

public static boolean isWhitespace(char ch)

    确定指定字符依据 Java 标准是否为空白字符。
    当且仅当字符满足以下标准时,该字符才是一个 Java 空白字符:

它是 Unicode 空格字符(SPACE_SEPARATOR、LINE_SEPARATOR 或 PARAGRAPH_SEPARATOR),但不是非中断空格('\u00A0'、'\u2007'、'\u202F')
它是 '\u0009',HORIZONTAL TABULATION
它是 '\u000A',LINE FEED
它是 '\u000B',VERTICAL TABULATION
它是 '\u000C',FORM FEED
它是 '\u000D',CARRIAGE RETURN
它是 '\u001C',FILE SEPARATOR
它是 '\u001D',GROUP SEPARATOR
它是 '\u001E',RECORD SEPARATOR
它是 '\u001F',UNIT SEPARATOR


5.String 类

深入解析String类

JDK解释:

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

    字符串是常量;它们的值在创建之后不能更改。
    字符串缓冲区支持可变的字符串。
     因为 String 对象是不可变的,所以可以共享。
例如:
      String str = "abc";

等效于:
     char data[] = {'a', 'b', 'c'};
     String str = new String(data);

 
下面给出了一些如何使用字符串的更多示例:
     System.out.println("abc");
     String cde = "cde";
     System.out.println("abc" + cde);
     String c = "abc".substring(2,3);
     String d = cde.substring(1, 2);

 String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 Character 类指定的 Unicode 标准版。

Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的,该方法由 Object 类定义,并可被 Java 中的所有类继承。


String中的部分构造方法:

String()
          初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(byte[] bytes)
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
String(byte[] bytes, Charset charset)
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
String(byte[] bytes, int offset, int length)
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。
将byte[]   替换成   char[]  ,也是一部分构造方法

几个重要方法:

1. char charAt(int index)

          返回指定索引处的 char 值。
eg.

char[] chars = {'a',97 ,'c','d','e','f'};
String s = new String(chars,0,chars.length);
System.out.print(s.charAt(0));
System.out.print(s.charAt(1));
输出结果:aa
String a = "a bcdef";
System.out.print(a.charAt(1));
System.out.print(a.charAt(0));
输出结果: a
即此方法是将字符串转换成字符数组,按位序排列(index: 0 ~ String.length-1)

2. String concat(String str)
          将指定字符串连接到此字符串的结尾。
char[] chars = {'a',97 ,'c','d','e','f'};
String s = new String(chars,0,chars.length);
String a = "a bcdef";
String ss = a.concat(s);
System.out.println(ss.equals(a + s));
输出结果:
a bcdefaacdef
true
3.static String copyValueOf(char[] data, int offset , int count)
          返回指定数组中表示该字符序列的 String。

eg.
char[] chars = {'a',97 ,'c','d','e','f'};
String a = "a bcdef";
String ss = a.copyValueOf(chars , 1 , 3);
System.out.println(ss);
输出结果:acd
4.boolean endsWith(String suffix)
          测试此字符串是否以指定的后缀结束。是则返回true

 boolean startsWith(String prefix)
          测试此字符串是否以指定的前缀开始。


 5.boolean equals(Object anObject)
          将此字符串与指定的对象比较。

6.byte[] getBytes()
          使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
eg.
String a = "a bcdef";
byte[] bytes = a.getBytes();
System.out.println(Arrays.toString(bytes));
输出结果:[97, 32, 98, 99, 100, 101, 102]
由此可以看出,getBytes()方法可以将 字符串   变成   单个的字符的 ASCII码值

那如何将byte[]数组变回原来的值呢?通过  String 的  构造方法
String a = "a bcdef";
byte[] bytes = a.getBytes();
System.out.println(Arrays.toString(bytes));
System.out.println(new String(bytes,0,bytes.length));
输出结果:
[97, 32, 98, 99, 100, 101, 102]
a bcdef

7.int hashCode()
          返回此字符串的哈希码。

8.int indexOf(int ch, int fromIndex)  —— 用于搜索,返回位序 0~length-1。
          返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。  
    int indexOf(String str, int fromIndex)
          返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
          返回的是匹配到的第一个位置的位序
eg.

String a = "abcdef";
System.out.println(a.indexOf("de"));
输出结果:4
9. boolean regionMatches(int toffset, String other, int ooffset, int len)
          测试两个字符串区域是否相等。

toffset - 字符串中子区域的起始偏移量。
other - 字符串参数。
ooffset - 字符串参数中子区域的起始偏移量。

len - 要比较的字符数。
eg.

String a = "abcdef";
System.out.println(a.regionMatches(1,"abcre",1,2));
输出结果:true(因为比较的是 bc )

10. String replace(char oldChar, char newChar)
          返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

String a = "abcdefbac";
System.out.println(a.replace("a","s"));
System.out.println(a.replace("ab","ss"));
输出结果:sbcdefbsc
          sscdefbac

11. String[] split(String regex)

          根据给定正则表达式的匹配拆分此字符串。
eg.

String a = "abcdefbac";
System.out.println(Arrays.toString(a.split("a")));
输出结果:[, bcdefb, c]
说明拆分会将  拆分的字符  删去。


12. String substring(int beginIndex, int endIndex)

          返回一个新字符串,它是此字符串的一个子字符串。
eg.

String a = "abcdefbac";
System.out.println(a.substring(3,6));

输出结果:def

13. char[] toCharArray()

          将此字符串转换为一个新的字符数组。

String a = "abcdefbac";
char[] chars1 = a.toCharArray();

14.static String valueOf(boolean b)  ——  将各种类型的值变成字符串类型,也是valueOf的通常用法

          返回 boolean 参数的字符串表示形式。
static String valueOf(char c)
          返回 char 参数的字符串表示形式。
static String valueOf(char[] data, int offset, int count)
          返回 char 数组参数的特定子数组的字符串表示形式。
static String valueOf(double d)
          返回 double 参数的字符串表示形式。

。。。

 
 
char[] chars = {'a',97 ,'c','d','e','f'};
String kkk = a.valueOf(chars);
System.out.println(kkk);
System.out.println(a.valueOf('a'));
System.out.println(a.valueOf(1));
System.out.println(a.valueOf(1.0f));
System.out.println(Arrays.toString(a.valueOf(true).getBytes()));
输出结果:
aacdef
a
1
1.0
[116, 114, 117, 101]

最后一个true输出的是't','r','u','e'的各自的ASCII码值,表明确实是将   各种类型的值   变成了    String类型




6.InetAddress 类

此类表示互联网协议 (IP) 地址。 是 Object 的子类 。

主要方法有各种get: 

  byte[] getAddress()

          返回此 InetAddress 对象的原始 IP 地址。

  static InetAddress[] getAllByName(String host)

          在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。

  等等,主要获取的是主机名、IP的各种返回形式。


7. Socket 类

 

构造方法:

  Socket()

       通过系统默认类型的 SocketImpl 创建未连接套接字

  Socket(InetAddress address, int port)

          创建一个流套接字并将其连接到指定 IP 地址的指定端口号。

  Socket(String host, int port)

          创建一个流套接字并将其连接到指定主机上的指定端口号。

  Socket(String host, int port, InetAddress localAddr, int localPort)

          创建一个套接字并将其连接到指定远程主机上的指定远程端口。

方法:

    InetAddress getInetAddress()

          返回套接字连接的地址。

    InputStream getInputStream()

          返回此套接字的输入流。

    InetAddress getLocalAddress()

          获取套接字绑定的本地地址。

    int getLocalPort()

          返回此套接字绑定到的本地端口。

     void shutdownOutput()

          禁用此套接字的输出流。

8. InputStream/OutputStream












9.Reader/Writer




 

10.TimerTask 类 (计时器)

 boolean cancel()
          取消此计时器任务。
abstract  void run()
          此计时器任务要执行的操作。
 long scheduledExecutionTime()
          返回此任务最近实际 执行的已安排 执行时间。

与Timer总是成对出现

//定时器对象
Timer timer = new Timer();

MyTimerTask myTimerTask = new MyTimerTask();
// schedule(TimerTask task, long delay)
// 所有的定时任务都运行在,Timer定义的一个线程
// timer.schedule(myTimerTask, 3000);
timer.schedule(myTimerTask,1000, 3000);


11.接口 Callable<V>

V call()

          返回计算结果,如果无法计算结果,则抛出一个异常。

12.接口 Future<V>

Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。










猜你喜欢

转载自blog.csdn.net/qq_38962004/article/details/79811950