Java在ACM中的应用

Java在ACM中的应用

 

—. 在java中的基本头文件(java中叫包)

import java.io.*;

import java.util.*; //输入Scanner

import java.math.*; //BigInteger && BigDecimal

二. 输入与输出

读入: Scanner cin = new Scanner (System.in);

推荐:Scanner cin = new Scanner (new BufferedInputStream (System.in));

Scanner cin = new Scanner(System.in);

   类名  对象名      构造函数    参数

Scanner类提供了非常丰富的成员函数来负责读取各种数据类型:

返回值              成员函数

boolean hasNext()

相当于C++的!=EOF

String          next(String pattern)

                        如果下一个标记与从指定字符串构造的模式匹配,则返回下一个标记,

                        如果参数为空,就是读取一个字符串

BigDecimal      nextBigDecimal()

                        将输入信息的下一个标记扫描为一个 BigDecimal。

BigInteger      nextBigInteger()

                        将输入信息的下一个标记扫描为一个 BigInteger。

boolean         nextBoolean()

                        扫描解释为一个布尔值的输入标记并返回该值。

byte            nextByte()

                        将输入信息的下一个标记扫描为一个 byte。

double          nextDouble()

                        将输入信息的下一个标记扫描为一个 double。

float           nextFloat()

                        将输入信息的下一个标记扫描为一个 float。

int             nextInt()

                        将输入信息的下一个标记扫描为一个 int。

String          nextLine()

                        此扫描器执行当前行,并返回跳过的输入信息。

long            nextLong()

                        将输入信息的下一个标记扫描为一个 long。

short           nextShort()

                        将输入信息的下一个标记扫描为一个 short。

对于输出浮点数保留几位小数的问题,可以使用DecimalFormat类, 
import java.text.*; 
DecimalFormat f = new DecimalFormat("#.00#"); 
DecimalFormat g = new DecimalFormat("0.000"); 
double a = 123.45678, b = 0.12; 
System.out.println(f.format(a)); //123.457
System.out.println(f.format(b)); //.12
System.out.println(g.format(b)); //0.120

System.out.print(); // cout << …;

System.out.println(); //与C++的cout << … <<endl;

System.out.printf(); //与C中的printf用法类似.

三. 定义变量

定义单个变量:

int a,b,c;      //和C++ 中无区别

BigInteger a;   //定义大数变量a

BigInteger b = new BigInteger ("2");   //定义大数变量 b赋值为 2;

BigDecimaln;     //定义大浮点数类 n;

boolean : 布尔值,仅有两个值,true和false.

byte :字节类型值,长度8位(一个字节),范围-128至127。

short:短整型值,长度16位(两个字节),范围-32768至32767。

int:整型值,长度32位(四个字节),范围-2147483648至2147483647

long:长整型,长度64位(八个字节),范围-9223372036854775808至9223372036854775807

float:单精度浮点数,长度32位(四个字节)。

double:双精度浮点数,长度64位(八个字节)。

char:字符型,长度16位,支持所有的UCS-2和ASCII编码。

除了以上的8种基本数据类型,对于ACMer还有BigInteger,BigDecimal,String三个类经常使用.

四.写法

import java.math.*;

import java.io.*;

import java.util.*;

public class Main {

    public static void main(String[] args) {

    }

}

五.注意事项
(1) Java 是面向对象的语言,思考方法需要变换一下,里面的函数统称为方法,不要搞错。 

(2) Java 里的数组有些变动,多维数组的内部其实都是指针,所以Java不支持fill多维数组。数组定义后必须初始化,如 int[] a = new int[100]; 
(3) 布尔类型为 boolean,只有true和false二值,在 if (...) / while (...) 等语句的条件中必须为boolean类型。 在C/C++中的 if (n % 2) ... 在Java中无法编译通过。 
(4) 下面在java.util包里Arrays类的几个方法可替代C/C++里的memset、qsort/sort 和 bsearch: 

Arrays.fill() 
Arrays.sort() 
Arrays.binarySearch() 

 

 

BigInteger

java.math
类 BigInteger

java.lang.Object

  java.lang.Number

      java.math.BigInteger

所有已实现的接口:

Serializable, Comparable<BigInteger>

public class BigInteger

extends Number

implements Comparable<BigInteger>

不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。

算术运算的语义完全模仿 Java 整数算术运算符的语义,如 The Java Language Specification 中所定义的。例如,以零作为除数的除法抛出 ArithmeticException,而负数除以正数的除法则产生一个负(或零)的余数。Spec 中关于溢出的细节都被忽略了,因为 BigIntegers 所设置的实际大小能适应操作结果的需要。

位移操作的语义扩展了 Java 的位移操作符的语义以允许产生负位移距离。带有负位移距离的右移操作会导致左移操作,反之亦然。忽略无符号的右位移运算符(>>>),因为该操作与由此类提供的“无穷大的词大小”抽象结合使用时毫无意义。

逐位逻辑运算的语义完全模仿 Java 的逐位整数运算符的语义。在执行操作之前,二进制运算符(and、or、xor)对两个操作数中的较短操作数隐式执行符号扩展。

比较操作执行有符号的整数比较,类似于 Java 的关系运算符和相等性运算符执行的比较。

提供的模算术操作用来计算余数、求幂和乘法可逆元。这些方法始终返回非负结果,范围在 0 和 (modulus - 1)(包括)之间。

位操作对其操作数的二进制补码表示形式的单个位进行操作。如有必要,操作数会通过扩展符号来包含指定的位。单一位操作不能产生与正在被操作的 BigInteger 符号不同的 BigInteger,因为它们仅仅影响单个位,并且此类提供的“无穷大词大小”抽象可保证在每个 BigInteger 前存在无穷多的“虚拟符号位”数。

 

字段摘要

static BigInteger

ONE 
          BigInteger 的常量 1。

static BigInteger

TEN 
          BigInteger 的常量 10。

static BigInteger

ZERO 
          BigInteger 的常量 0。

构造方法摘要

BigInteger(byte[] val) 
          将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为 BigInteger。

BigInteger(int signum, byte[] magnitude) 
          将 BigInteger 的符号-数量表示形式转换为 BigInteger。

BigInteger(int bitLength, int certainty, Random rnd) 
          构造一个随机生成的正 BigInteger,它可能是一个具有指定 bitLength 的素数。

BigInteger(int numBits, Random rnd) 
          构造一个随机生成的 BigInteger,它是在 0 到 (2numBits - 1)(包括)范围内均匀分布的值。

BigInteger(String val) 
          将 BigInteger 的十进制字符串表示形式转换为 BigInteger。

BigInteger(String val, int radix) 
          将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。

方法摘要

 BigInteger

abs() 
          返回其值是此 BigInteger 的绝对值的 BigInteger。

 BigInteger

add(BigInteger val) 
          返回其值为 (this + val) 的 BigInteger。

 BigInteger

and(BigInteger val) 
          返回其值为 (this & val) 的 BigInteger。

 BigInteger

andNot(BigInteger val) 
          返回其值为 (this & ~val) 的 BigInteger。

 int

bitCount() 
          返回此 BigInteger 的二进制补码表示形式中与符号不同的位的数量。

 int

bitLength() 
          返回此 BigInteger 的最小的二进制补码表示形式的位数,不包括 符号位。

 BigInteger

clearBit(int n) 
          返回其值与清除了指定位的此 BigInteger 等效的 BigInteger。

 int

compareTo(BigInteger val) 
          将此 BigInteger 与指定的 BigInteger 进行比较。

 BigInteger

divide(BigInteger val) 
          返回其值为 (this / val) 的 BigInteger。

 BigInteger[]

divideAndRemainder(BigInteger val) 
          返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

 double

doubleValue() 
          将此 BigInteger 转换为 double。

 boolean

equals(Object x) 
          比较此 BigInteger 与指定的 Object 的相等性。

 BigInteger

flipBit(int n) 
          返回其值与对此 BigInteger 进行指定位翻转后的值等效的 BigInteger。

 float

floatValue() 
          将此 BigInteger 转换为 float。

 BigInteger

gcd(BigInteger val) 
          返回一个 BigInteger,其值是 abs(this) 和 abs(val) 的最大公约数。

 int

getLowestSetBit() 
          返回此 BigInteger 最右端(最低位)1 比特的索引(即从此字节的右端开始到本字节中最右端 1 比特之间的 0 比特的位数)。

 int

hashCode() 
          返回此 BigInteger 的哈希码。

 int

intValue() 
          将此 BigInteger 转换为 int。

 boolean

isProbablePrime(int certainty) 
          如果此 BigInteger 可能为素数,则返回 true,如果它一定为合数,则返回 false。

 long

longValue() 
          将此 BigInteger 转换为 long。

 BigInteger

max(BigInteger val) 
          返回此 BigInteger 和 val 的最大值。

 BigInteger

min(BigInteger val) 
          返回此 BigInteger 和 val 的最小值。

 BigInteger

mod(BigInteger m) 
          返回其值为 (this mod m) 的 BigInteger。

 BigInteger

modInverse(BigInteger m) 
          返回其值为 (this-1 mod m) 的 BigInteger。

 BigInteger

modPow(BigInteger exponent, BigInteger m) 
          返回其值为 (thisexponent mod m) 的 BigInteger。

 BigInteger

multiply(BigInteger val) 
          返回其值为 (this * val) 的 BigInteger。

 BigInteger

negate() 
          返回其值是 (-this) 的 BigInteger。

 BigInteger

nextProbablePrime() 
          返回大于此 BigInteger 的可能为素数的第一个整数。

 BigInteger

not() 
          返回其值为 (~this) 的 BigInteger。

 BigInteger

or(BigInteger val) 
          返回其值为 (this | val) 的 BigInteger。

 BigInteger

pow(int exponent) 
          返回其值为 (thisexponent) 的 BigInteger。

static BigInteger

probablePrime(int bitLength, Random rnd) 
          返回有可能是素数的、具有指定长度的正 BigInteger。

 BigInteger

remainder(BigInteger val) 
          返回其值为 (this % val) 的 BigInteger。

 BigInteger

setBit(int n) 
          返回其值与设置了指定位的此 BigInteger 等效的 BigInteger。

 BigInteger

shiftLeft(int n) 
          返回其值为 (this << n) 的 BigInteger。

 BigInteger

shiftRight(int n) 
          返回其值为 (this >> n) 的 BigInteger。

 int

signum() 
          返回此 BigInteger 的正负号函数。

 BigInteger

subtract(BigInteger val) 
          返回其值为 (this - val) 的 BigInteger。

 boolean

testBit(int n) 
          当且仅当设置了指定的位时,返回 true。

 byte[]

toByteArray() 
          返回一个 byte 数组,该数组包含此 BigInteger 的二进制补码表示形式。

 String

toString() 
          返回此 BigInteger 的十进制字符串表示形式。

 String

toString(int radix) 
          返回此 BigInteger 的给定基数的字符串表示形式。

static BigInteger

valueOf(long val) 
          返回其值等于指定 long 的值的 BigInteger。

 BigInteger

xor(BigInteger val) 
          返回其值为 (this ^ val) 的 BigInteger。

BigDecimal

java.math
类 BigDecimal

java.lang.Object

  java.lang.Number

      java.math.BigDecimal

所有已实现的接口:

Serializable, Comparable<BigDecimal>

public class BigDecimal

extends Number

implements Comparable<BigDecimal>

不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)。

BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。toString() 方法提供 BigDecimal 的规范表示形式。

字段摘要

static BigDecimal

ONE 
          值为 1,标度为 0。

static int

ROUND_CEILING 
          接近正无穷大的舍入模式。

static int

ROUND_DOWN 
          接近零的舍入模式。

static int

ROUND_FLOOR 
          接近负无穷大的舍入模式。

static int

ROUND_HALF_DOWN 
          向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。

static int

ROUND_HALF_EVEN 
          向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

static int

ROUND_HALF_UP 
          向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。

static int

ROUND_UNNECESSARY 
          断言请求的操作具有精确的结果,因此不需要舍入。

static int

ROUND_UP 
          舍入远离零的舍入模式。

static BigDecimal

TEN 
          值为 10,标度为 0。

static BigDecimal

ZERO 
          值为 0,标度为 0。

构造方法摘要

BigDecimal(BigInteger val) 
          将 BigInteger 转换为 BigDecimal。

BigDecimal(BigInteger unscaledVal, int scale) 
          将 BigInteger 非标度值和 int 标度转换为 BigDecimal。

BigDecimal(BigInteger unscaledVal, int scale, MathContext mc) 
          将 BigInteger 非标度值和 int 标度转换为 BigDecimal(根据上下文设置进行舍入)。

BigDecimal(BigInteger val, MathContext mc) 
          将 BigInteger 转换为 BigDecimal(根据上下文设置进行舍入)。

BigDecimal(char[] in) 
          将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列。

BigDecimal(char[] in, int offset, int len) 
          将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列,同时允许指定子数组。

BigDecimal(char[] in, int offset, int len, MathContext mc) 
          将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列,同时允许指定子数组,并根据上下文设置进行舍入。

BigDecimal(char[] in, MathContext mc) 
          将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符序列(根据上下文设置进行舍入)。

BigDecimal(double val) 
          将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式。

BigDecimal(double val, MathContext mc) 
          将 double 转换为 BigDecimal(根据上下文设置进行舍入)。

BigDecimal(int val) 
          将 int 转换为 BigDecimal。

BigDecimal(int val, MathContext mc) 
          将 int 转换为 BigDecimal(根据上下文设置进行舍入)。

BigDecimal(long val) 
          将 long 转换为 BigDecimal。

BigDecimal(long val, MathContext mc) 
          将 long 转换为 BigDecimal(根据上下文设置进行舍入)。

BigDecimal(String val) 
          将 BigDecimal 的字符串表示形式转换为 BigDecimal。

BigDecimal(String val, MathContext mc) 
          将 BigDecimal 的字符串表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造方法相同的字符串(按照上下文设置进行舍入)。

方法摘要

 BigDecimal

abs() 
          返回 BigDecimal,其值为此 BigDecimal 的绝对值,其标度为 this.scale()。

 BigDecimal

abs(MathContext mc) 
          返回其值为此 BigDecimal 绝对值的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

add(BigDecimal augend) 
          返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())。

 BigDecimal

add(BigDecimal augend, MathContext mc) 
          返回其值为 (this + augend) 的 BigDecimal(根据上下文设置进行舍入)。

 byte

byteValueExact() 
          将此 BigDecimal 转换为 byte,以检查丢失的信息。

 int

compareTo(BigDecimal val) 
          将此 BigDecimal 与指定的 BigDecimal 比较。

 BigDecimal

divide(BigDecimal divisor) 
          返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException。

 BigDecimal

divide(BigDecimal divisor, int roundingMode) 
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()。

 BigDecimal

divide(BigDecimal divisor, int scale, int roundingMode) 
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。

 BigDecimal

divide(BigDecimal divisor, int scale, RoundingMode roundingMode) 
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。

 BigDecimal

divide(BigDecimal divisor, MathContext mc) 
          返回其值为 (this / divisor) 的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

divide(BigDecimal divisor, RoundingMode roundingMode) 
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()。

 BigDecimal[]

divideAndRemainder(BigDecimal divisor) 
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟对两个操作数计算所得到的 remainder。

 BigDecimal[]

divideAndRemainder(BigDecimal divisor, MathContext mc) 
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟根据上下文设置对两个操作数进行舍入计算所得到的remainder 的结果。

 BigDecimal

divideToIntegralValue(BigDecimal divisor) 
          返回 BigDecimal,其值为向下舍入所得商值 (this / divisor) 的整数部分。

 BigDecimal

divideToIntegralValue(BigDecimal divisor, MathContext mc) 
          返回 BigDecimal,其值为 (this / divisor) 的整数部分。

 double

doubleValue() 
          将此 BigDecimal 转换为 double。

 boolean

equals(Object x) 
          比较此 BigDecimal 与指定的 Object 的相等性。

 float

floatValue() 
          将此 BigDecimal 转换为 float。

 int

hashCode() 
          返回此 BigDecimal 的哈希码。

 int

intValue() 
          将此 BigDecimal 转换为 int。

 int

intValueExact() 
          将此 BigDecimal 转换为 int,以检查丢失的信息。

 long

longValue() 
          将此 BigDecimal 转换为 long。

 long

longValueExact() 
          将此 BigDecimal 转换为 long,以检查丢失的信息。

 BigDecimal

max(BigDecimal val) 
          返回此 BigDecimal 和 val 的最大值。

 BigDecimal

min(BigDecimal val) 
          返回此 BigDecimal 和 val 的最小值。

 BigDecimal

movePointLeft(int n) 
          返回一个 BigDecimal,它等效于将该值的小数点向左移动 n 位。

 BigDecimal

movePointRight(int n) 
          返回一个 BigDecimal,它等效于将该值的小数点向右移动 n 位。

 BigDecimal

multiply(BigDecimal multiplicand) 
          返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())。

 BigDecimal

multiply(BigDecimal multiplicand, MathContext mc) 
          返回其值为 (this × multiplicand) 的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

negate() 
          返回 BigDecimal,其值为 (-this),其标度为 this.scale()。

 BigDecimal

negate(MathContext mc) 
          返回其值为 (-this) 的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

plus() 
          返回 BigDecimal,其值为 (+this),其标度为 this.scale()。

 BigDecimal

plus(MathContext mc) 
          返回其值为 (+this) 的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

pow(int n) 
          返回其值为 (thisn) 的 BigDecimal,准确计算该幂,使其具有无限精度。

 BigDecimal

pow(int n, MathContext mc) 
          返回其值为 (thisn) 的 BigDecimal。

 int

precision() 
          返回此 BigDecimal 的精度

 BigDecimal

remainder(BigDecimal divisor) 
          返回其值为 (this % divisor) 的 BigDecimal。

 BigDecimal

remainder(BigDecimal divisor, MathContext mc) 
          返回其值为 (this % divisor) 的 BigDecimal(根据上下文设置进行舍入)。

 BigDecimal

round(MathContext mc) 
          返回根据 MathContext 设置进行舍入后的 BigDecimal。

 int

scale() 
          返回此 BigDecimal 的标度

 BigDecimal

scaleByPowerOfTen(int n) 
          返回其数值等于 (this * 10n) 的 BigDecimal。

 BigDecimal

setScale(int newScale) 
          返回一个 BigDecimal,其标度为指定值,其值在数值上等于此 BigDecimal 的值。

 BigDecimal

setScale(int newScale, int roundingMode) 
          返回一个 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。

 BigDecimal

setScale(int newScale, RoundingMode roundingMode) 
          返回 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。

 short

shortValueExact() 
          将此 BigDecimal 转换为 short,以检查丢失的信息。

 int

signum() 
          返回此 BigDecimal 的正负号函数。

 BigDecimal

stripTrailingZeros() 
          返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal。

 BigDecimal

subtract(BigDecimal subtrahend) 
          返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())。

 BigDecimal

subtract(BigDecimal subtrahend, MathContext mc) 
          返回其值为 (this - subtrahend) 的 BigDecimal(根据上下文设置进行舍入)。

 BigInteger

toBigInteger() 
          将此 BigDecimal 转换为 BigInteger。

 BigInteger

toBigIntegerExact() 
          将此 BigDecimal 转换为 BigInteger,以检查丢失的信息。

 String

toEngineeringString() 
          返回此 BigDecimal 的字符串表示形式,需要指数时,则使用工程计数法。

 String

toPlainString() 
          返回不带指数字段的此 BigDecimal 的字符串表示形式。

 String

toString() 
          返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法。

 BigDecimal

ulp() 
          返回此 BigDecimal 的 ulp(最后一位的单位)的大小。

 BigInteger

unscaledValue() 
          返回其值为此 BigDecimal 的非标度值 的 BigInteger。

static BigDecimal

valueOf(double val) 
          使用 Double.toString(double) 方法提供的 double 规范的字符串表示形式将 double 转换为 BigDecimal。

static BigDecimal

valueOf(long val) 
          将 long 值转换为具有零标度的 BigDecimal。

static BigDecimal

valueOf(long unscaledVal, int scale) 
          将 long 非标度值和 int 标度转换为 BigDecimal。

String

java.lang
类 String

java.lang.Object

  java.lang.String

所有已实现的接口:

Serializable, CharSequence, Comparable<String>

public final class String

extends Object

implements Serializable, Comparable<String>, CharSequence

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);

 

字段摘要

static Comparator<String>

CASE_INSENSITIVE_ORDER 
          一个对 String 对象进行排序的 Comparator,作用与 compareToIgnoreCase 相同。

构造方法摘要

String() 
          初始化一个新创建的 String 对象,使其表示一个空字符序列。

String(byte[] bytes) 
          通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。

String(byte[] bytes, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。

String(byte[] ascii, int hibyte) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。

String(byte[] bytes, int offset, int length) 
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。

String(byte[] bytes, int offset, int length, Charset charset) 
          通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。

String(byte[] ascii, int hibyte, int offset, int count) 
          已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。

String(byte[] bytes, int offset, int length, String charsetName) 
          通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。

String(byte[] bytes, String charsetName) 
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。

String(char[] value) 
          分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。

String(char[] value, int offset, int count) 
          分配一个新的 String,它包含取自字符数组参数一个子数组的字符。

String(int[] codePoints, int offset, int count) 
          分配一个新的 String,它包含 Unicode 代码点数组参数一个子数组的字符。

String(String original) 
          初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。

String(StringBuffer buffer) 
          分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。

String(StringBuilder builder) 
          分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。

方法摘要

 char

charAt(int index) 
          返回指定索引处的 char 值。

 int

codePointAt(int index) 
          返回指定索引处的字符(Unicode 代码点)。

 int

codePointBefore(int index) 
          返回指定索引之前的字符(Unicode 代码点)。

 int

codePointCount(int beginIndex, int endIndex) 
          返回此 String 的指定文本范围中的 Unicode 代码点数。

 int

compareTo(String anotherString) 
          按字典顺序比较两个字符串。

 int

compareToIgnoreCase(String str) 
          按字典顺序比较两个字符串,不考虑大小写。

 String

concat(String str) 
          将指定字符串连接到此字符串的结尾。

 boolean

contains(CharSequence s) 
          当且仅当此字符串包含指定的 char 值序列时,返回 true。

 boolean

contentEquals(CharSequence cs) 
          将此字符串与指定的 CharSequence 比较。

 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

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

 boolean

equalsIgnoreCase(String anotherString) 
          将此 String 与另一个 String 比较,不考虑大小写。

static String

format(Locale l, String format, Object... args) 
          使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

static String

format(String format, Object... args) 
          使用指定的格式字符串和参数返回一个格式化字符串。

 byte[]

getBytes() 
          使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

 byte[]

getBytes(Charset charset) 
          使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。

 void

getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 
          已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 方法,该方法使用平台的默认字符集。

 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() 
          返回字符串对象的规范化表示形式。

 boolean

isEmpty() 
          当且仅当 length() 为 0 时返回 true。

 int

lastIndexOf(int ch) 
          返回指定字符在此字符串中最后一次出现处的索引。

 int

lastIndexOf(int ch, int fromIndex) 
          返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

 int

lastIndexOf(String str) 
          返回指定子字符串在此字符串中最右边出现处的索引。

 int

lastIndexOf(String str, int fromIndex) 
          返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

 int

length() 
          返回此字符串的长度。

 boolean

matches(String regex) 
          告知此字符串是否匹配给定的正则表达式。

 int

offsetByCodePoints(int index, int codePointOffset) 
          返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。

 boolean

regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 
          测试两个字符串区域是否相等。

 boolean

regionMatches(int toffset, String other, int ooffset, int len) 
          测试两个字符串区域是否相等。

 String

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

 String

replace(CharSequence target, CharSequence replacement) 
          使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

 String

replaceAll(String regex, String replacement) 
          使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

 String

replaceFirst(String regex, String replacement) 
          使用给定的 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 中的所有字符都转换为小写。

 String

toLowerCase(Locale locale) 
          使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。

 String

toString() 
          返回此对象本身(它已经是一个字符串!)。

 String

toUpperCase() 
          使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

 String

toUpperCase(Locale locale) 
          使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。

 String

trim() 
          返回字符串的副本,忽略前导空白和尾部空白。

static String

valueOf(boolean b) 
          返回 boolean 参数的字符串表示形式。

static String

valueOf(char c) 
          返回 char 参数的字符串表示形式。

static String

valueOf(char[] data) 
          返回 char 数组参数的字符串表示形式。

static String

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

static String

valueOf(double d) 
          返回 double 参数的字符串表示形式。

static String

valueOf(float f) 
          返回 float 参数的字符串表示形式。

static String

valueOf(int i) 
          返回 int 参数的字符串表示形式。

static String

valueOf(long l) 
          返回 long 参数的字符串表示形式。

static String

valueOf(Object obj) 
          返回 Object 参数的字符串表示形式。

原文地址:https://www.cnblogs.com/Running-Time/p/5358443.html