Java——常用实用类

1.  String 类

1.1  连接字符串

  • 连接字符串可以通过运算符“+”实现,意思是将多个字符串合并到一起生成一个新的字符串。
  • 对于“+”运算符,如果有一个操作元为String类型,则为字符串连接运算符。字符串可与任意类型的数据进行字符串连接的操作,若该数据为基本类型则会自动转换为字符串,若为引用类型,则会自动调用所引用对象的toString()方法获得一个字符串,然后进行字符串连接的操作。

         1.2 字符串操作

(1)比较字符串

①equals()方法:用于比较两个字符串是否相等

②equalsIgnoreCase()方法:比较两个字符串时不区分大小写

③startsWith()方法和endsWith()方法:依次用来判断字符串是否以指定的字符串开始或结束

④compareTo()方法:用于判断一个字符串是大于、等于还是小于另一个字符串,判断字符串大小的依据是根据它们在字典中的顺序决定的,两个字符串相等返回0,如果大于字符串参数返回正数,小于返回负数。

(2)获取字符串的长度:使用String类中的length()方法

(3)字符串的大小写转换

①方法toLowerCase()用来将字符串中的所有大写字母改为小写字母

②方法toUpperCase()用来将字符串中的小写字母改为大写字母。

(4)查找字符串

  • indexOf()方法用于搜索字符或字符串首次出现的位置,
  • lastIndexOf()方法用于搜索字符或字符串最后一次出现的位置。
  • 这两种方法均有多个重载方法,它们的返回值均为字符或字符串被发现的索引位置,如果未搜索到则返回-1。

(5)从现有字符串中截取子字符串

通过String类的substring()方法,可以从现有字符串中截取子字符串,有两个重载方法,具体定义如下: 

public String substring(int beginIndex)

public String substring(int beginIndex, int endIndex)

(6)去掉字符串的首尾空格

该方法的具体定义如下:public String trim()

(7)替换字符串中的字符或子串

public String replace(char oldChar, char newChar)

(8)分割字符串

在String类中提供了两个重载的split()方法,用来将字符串按照指定的规则进行分割,并以String型数组的方式返回,分割得到的子串在数组中的顺序按照它们在字符串中的顺序排列。重载方法split(String regex, int limit)的具体定义如下:

public String[] split(String regex, int limit)

1.3格式化字符串

通过String类的format()方法,可以得到经过格式化的字符串对象,最常用的是对日期和时间的格式化。String类中的format()方法有两种重载形式,它们的具体定义如下:

public static String format(String format, Object obj)

public static String format(Locale locale, String format, Object obj)

1.4对象的字符串表示

调用toString()方法返回字符串

2.  日期的格式化

2.1  Date类

(1) 无参数构造方法

Data类的无参构造函数所创建的对象可以获取本机当前时间,例如:

(2). 带参数构造方法

计算机系统自身时间是1970年1月1日0时也就是格林威治时间,可以根据这个时间使用Date带参数的构造方法创建一个Date对象。例如:

Date date1 = new Date (1000);参数取正数表示公元后的时间,参数1000表示1000毫秒,即1秒

Date date2 = new Date (-1000);参数取负数表示公元前的时间

由于本地时区是北京时区,与格林威治时间相差8小时,运行结果如图示。

2.2  格式化日期和时间

对当前日期和时间进行格式化
                 Date today=new Date();
		String a=String.format("%tF", today);
		String b=String.format("%tT", today);
		System.out.println(a);
		System.out.println(b);

结果显示: 

2018-12-21
15:37:17

(1)对日期的格式化

(2)对时间的格式化

(续)

3.  Scanner类

该类用来实现用户的输入,是一种只要有控制台就能实现输入操作的类。创建Scanner类常见的构造方法有两种。

(1)Scanner(InputStream in)

语法如下:new Scanner(in);

(2)Scanner(File file)

语法如下:new Scanner(file);

4.  Math和Random类

(1)Math类

  • 在Math类中存在两个静态的常量,其中之一就是常量E,它的值是2.7182828284590452354,另一个是常量PI,它的值是3.14159265358979323846。
  • Math类的常用方法如下:

public static long abs (double a)   返回a的绝对值

public static double max (double a,double b)  返回a、b的最大值

public static double min (double a,double b)  返回a、b的最小值

public static double pow (double a,double b)  返回a的b次幂

public static double sqrt (double a)  返回a的平方根

public static double log (double a)  返回a的对数

public static double sin (double a)  返回a的正弦值

public static double asin (double a)  返回a的反正弦值

public static double random()  产生一个0到1之间的随机数,这个随机数不包括0和1

(2)Random类 

虽然在Math类的方法中包括获取随机数的方法random(),但是在Java中提供了更为灵活的能够获取随机数的Random类,Random类位于java.util包中,Random类的构造方法如下: 

5.  数字格式化

数字格式化指的就是按照指定格式得到一个字符串。

5.1  Formatter类

1). 格式化模式

格式化模式是format方法中的一个使用双引号括起来的字符序列,该字符序列由格式符和普通字符构成。

2). 值列表

值列表是使用逗号分隔的变量、常量或表达式。但是,要保证format方法“格式化模式”中的格式符的个数与“值列表”中列出的值的个数相同。例如:

5.2  格式化整数

(1). %d,%o,%x,%X

  • %d,%o,%x和X格式符可格式化byte、Byte、short、Short、int、Integer、long和Long型数据。
  • %d将值格式化为十进制整数。
  • %o将值格式化为八进制整数。
  • %x将值格式化为小写的十六进制整数。
  • %X将值格式化为大写的十六进制整数。

2). 修饰符

  • “+”加号修饰符:格式化正整数时,强制添加上正号,例如,%+d将12格式化为“+12”。
  • “,”逗号修饰符:格式化整数时,按“千”分组
  • 例如:String m = String.format("%,d  %+,d",123456,7890);结果为123,456   +7,890

(3) 数据的宽度

数据的宽度就是format方法返回的字符串的长度。数据宽度的一般格式为:“%md”,其效果是在数字的左面增加空格;或“%-md”,其效果是在数字的右面增加空格。

5.3  格式化浮点数

1) float、Float、double和Double

%f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double。

2) 修饰符

  • “+”加号修饰符:格式化正数时,强制添加上正号,例如,%+E将48.75格式化为“+4.875000E+01”。
  • “,”逗号修饰符:格式化浮点数时,将整数部分按“千”分组。例如:

(3)限制小数位数的“宽度”

  • “%.nf”可以限制小数的位数,其中n是保留的小数位数,例如%.3f将3.1415926格式化为“3.142”(结果保留3位小数)。
  • 宽度的一般格式为“%mf”(在数字的左面增加空格),或“%-md”(在数字的右面增加空格)。

6.  StringBuffer类

SDStringBuffer类和String类都是用来代表字符串的,但是它们的内部实现方式不同。String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符。而StringBuffer类创建的字符串对象是可以修改的。

注意:String和StringBuffer属于不同的类型,不能直接进行强制类型转换。

(1) StringBuffer对象的初始化

StringBuffer s = new StringBuffer(); //初始化的StringBuffer对象是一个空对象

StringBuffer s = new StringBuffer(“123”);//也可创建有参数的对象

(2). StringBuffer的构造方法

StringBuffer类中有三个构造方法,分别如下:

  • StringBuffer()
  • StringBuffer(int size)
  • StringBuffer(String s)

        (3) StringBuffer类的常用方法

① append方法

使用append方法可以将其他Java类型数据转化为字符串后,再追加到StringBuffer对象中,并返回当前StringBuffer对象的引用。

② public char charAt(int n)和public void setCharAt(int n,char ch)

  • charAt(int n)方法用来获取参数n指定位置上的单个字符。字符串序列从0开始,即当前对象实体中n的值必须是非负的,并且小于当前对象实体中字符串的序列长度。
  • setCharAt(int n,char ch)方法用来将当前StringBuffer对象实体中的字符对象位置n处的字符用参数ch指定的字符替换。n的值必须是非负的,并且小于当前对象实体中字符串序列的长度。

③ StringBuffer insert(int index,String str)

将参数str指定的字符串插入到参数index的位置,并返回当前对象的引用。

④ public StringBuffer reverse()

将该对象实体中的字符翻转,并返回当前对象的引用。

⑤StringBuffer delete(int startIndex,int endIndex)

该方法用于删除子字符串。要删除的子字符串是从startIndex位置开始到endIndex-1的位置结束。

  • deleteCharAt(int index)方法删除当前StringBuffer对象实体的字符串中在index位置的字符。

⑥ StringBuffer replace(int startIndex,int endIndex,String str)

将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换。被替换的子字符串由下标startIndex和endIndex指定,即从starIndex到endIndex-1的字符串被替换。该方法返回当前StringBuffer对象的引用。

7.  包装类

java.lang包中的Integer类、Long类和Short类,分别将基本类型int、long和short封装成一个类。由于这些类都是Number的子类,区别就是封装不同的数据类型,其包含的方法基本相同

7.1  Integer

(1)常用方法:

(续)

(1)实现将String类型数组中的元素转换成int型,并将各元素相加
public static void main(String args[]) { // 主方法
		String str[] = { "89", "12", "10", "18", "35" }; // 定义String数组
		int sum = 0;
		for (int i = 0; i < str.length; i++) { // 循环遍历数组
			int myint = Integer.parseInt(str[i]);// 将数组中的每个元素都转换为int型
			sum = sum + myint; // 将数组中的各元素相加
		}
		System.out.println("数组中的各元素之和是:" + sum);
	}
(2)toString()方法
String  str=Integer.toString(456);

3)常量

Integer类提供了以下4个常量。

  • MAX_VALUE:表示int类型可取的最大值,即231-1。
  • MIN_VALUE:表示int类型可取的最小值,即-231
  • SIZE:用来以二进制补码形式表示int值的位数。
  • TYPE:表示基本类型int的Class实例。

7.2 Boolean

1)构造方法

Boolean(boolean value)

该方法创建一个表示value参数的Boolean对象。

Boolean(String str)

该方法以String变量作为参数创建Boolean对象。如果String参数不为null且在忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。

(2)常用方法

(3)常量

Boolean提供了以下3个常量。

TRUE:对应基值true的Boolean对象。

FALSE:对应基值false的Boolean对象。

TYPE:基本类型boolean的Class对象。

7.3  Byte

1)构造方法

Byte(byte value)

以byte型变量作为参数,创建Byte对象实例代码:

byte mybyte = 45;
Byte b = new Byte(mybyte);

Byte(String str)

(2)常用方法

(3)常量

Byte类中提供了如下4个常量。

  • MIN_VALUE:byte类型可取的最小值。
  • MAX_VALUE:byte类型可取的最大值。
  • SIZE:用于以二进制补码形式表示byte值的位数。
  • TYPE:表示基本类型byte的Class实例。

7.4  Character

(1)构造方法:Character(char value)

(2)常用方法

 7.5  Double

1.构造方法

Double类提供了以下两种构造方法来获得Double类对象。

(1)Double(double value):基于double参数创建Double类对象。

(2)Double(String str):构造一个新分配的Double对象,表示用字符串表示的double类型的浮点值。

2.常用方法:

3.常量

Double类提供了一些有用的常量。例如:

(1)MAX_EXPONENT:返回int值,表示有限double变量可能具有的最大指数。

(2)MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。

(3)NEGATIVE_INFINITY:返回double值,表示保存double类型的负无穷大值的常量。

(4)POSITIVE_INFINITY:返回double值,表示保存double类型的正无穷大值的常量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值