JAVA常用工具类

发布时间 : 星期四 文章JAVA常用工具类更新完毕开始阅读

statck=new StringBuffer(); } public CharStack(int capacity){ statck=new StringBuffer(capacity); } public void push(char c){ //将字符压入堆栈…… } public int pop(){ //将字符弹出堆栈…… } public char[] list(){ //返回堆栈数组…… } public String toString(){ //将堆栈中的字符转换为字符串… } }

2. 编写一个检查java表达式中括号是否成对出现的函数。例如:

String exp1=Math.sqrt(p*(p-a[0])*(p-a[1])*(p-a[2])); 中括号是配对的,而 String exp2=Math.sqrt(p*(p-a[0]*(p-a[1])*(p-a[2])); 中括号是不配对的

StringBuilder类

该类在jdk1.4之后的版本才支持,它实现了与StringBuffer同样的接口,所以它们的操作相同,但是,由于StringBuilder没有实现同步机制,而StringBuffer实现了同步,所以StringBuilder比StringBuffer具有更高的性能。适合于对字符串进行动态增减的情形。

三.StringTokenizer类

该类用于分析字符串,特别适合于一个字符串用若干特殊字符分隔的情况。 1.构造函数: StringTokenizer(String str) 用缺省的分隔符(空格,回车,换行)分隔字符串 StringTokenizer(String str, String delim) 用指定的分隔符delim分隔 2.属性函数: countTokens();返回分隔后的字符串总数 3.操作函数:

boolean hasMoreElements() true 表示还有元素 Object nextElement() 返回下一个元素

boolean hasMoreTokens() true 表示还有元素 String nextTokens () 返回下一个元素

练习:

写一个函数:输入一个字符串(该字符串由若干个特殊字符分隔),返回一个字符串数组。 String[] breakString(String str) 例如:输入:”中国北京 美国华盛顿 英国伦敦\字符串由TAB 键,空格等字符分隔而成。返回: 元素1=中国北京 元素2=美国华盛顿 元素3=英国伦敦

类型包装器—Wrapper Class

在Java中使用基本数据类型来保存语言支持的基本数据类型,是出于性能方面的考虑,因为,使用对象类型会引起系统较大的开销。但有的时候需要将基本数据类型打包成相应的 对象类型。使用类型包装器提供了将基本数据类型封装在一个对象内部的机制。两个术语: 装箱(boxing): 将基本数据类型打包成对应的包装器类型的过程。 拆箱(unboxing): 将包装器类型变换为对应的基本数据类型的过程。 类型包装器有:

Double,Float,Long,Integer,Short,Byte,Character,Boolean.它们分别对应基本数据类型 double,float,long,int,short,byte,char,boolean. 一.字符包装器--- Character

构造函数:Character(char c) //ch 用于指定要由创建的Character对象包装字符 操作函数:char charValue(); 获得包装器内的char 的值: 二.布尔量包装器--- Boolean

构造函数:

Boolean (boolean boolValue ) // boolValue 只能取 true或false Boolean (String boolString )

操作函数:boolean booleanValue(); 获得包装器内的boolean 的值 三.数字类型包装器

这是使用最多的包装器,它们是 Byte,Short,Integer,Long,Float,Double,所有数字类型的 包装器,它们都继承自Number抽象类。 1.构造函数:

Double(double d) Float(float f) Long(long l) Integer(int I) Short(short s) Byte(byte b)

2.操作函数:

double doubleValue() float floatValue() long longValue() int intValue() short shortValue() byte byteValue();

四.Integer类型包装器 1.构造函数:

Integer(int value) Integer(String s) throws NumberFormatException //s 为非数字时,抛出异常 2.方法: byte byteValue() short shortValue(); int intValue() long longValue(); //上述函数将当前类型转换为相应的类型 public static int parseInt(String s) throws NumberFormatException 将串s转换为10进值整数, s 为非数字时,抛出异常 public static int parseInt(String s,int radix) throws NumberFormatException

将字符串 s 按指定的进制(解释) radix 转换为 10 进制整数

s 为非数字时,抛出异常

public static String toBinaryString(int n)

将n 转换为 二进值字符串 public static String toHexString(int n) 将n 转换为 十六进值字符串

public static String toOctalString(int n) 将n 转换为 八进值字符串

public static String toString(int n) 将n 转换为 十进值字符串

五.Long类型包装器 与Integer类似 六.自动装箱和拆箱 jdk1.5之后的版本,提供了自动装箱和拆箱的功能。例如: 1. 自动装箱 jdk1.5之前的版本,将int k=88 转换为对应的 Wrapper类时,使用下列语法: Integer it=new Integer(k) 或 Integer it=Integer.valueOf(k) jdk1.5之后的版本,实现上述过程,使用下列语法: Integer it=k;

2.自动拆箱 jdk1.5之前的版本,将Integer it 转换为对应的基本数据类型时,使用下列语法: int m=it.intValue(); jdk1.5之后的版本,实现上述过程,使用下列语法: Integer myInteger; int n= myInteger; //完成自动转换 它等价于:

Integer myInteger;

int n= myInteger.intValue(); 3.使用自动装箱和拆箱必须注意的问题

3.1.自动拆箱的过程有的时候是不可靠的。建议在拿不准的时候,手动进行装箱

和拆箱。如:

Integer intObj=null; int a= intObj; 这样的语句在编译时是合法的,但在运行时会产生错误。

3.2. 在自动装箱时,为了提高性能,对于-128----+127之间的值系统将它们

封装为对象後,会保存在内存中被重用。

思考:

1.下列代码输出的结果是什么? Integer i1=100; Integer i2=100; if(i1==i2) System.out.println(“i1==i2”); else System.out.println(“i1!=i2”); 输出结果为:i1==i2

2.下列代码输出的结果是什么? Integer i1=200; Integer i2=200; if(i1==i2) System.out.println(“i1==i2”); else System.out.println(“i1!=i2”); 输出结果为:i1!=i2

Math类

一.常量

final static E=2.72 final static PI=3.14 二.三角函数 static double sin(double arg) //返回arg的正弦值

static double cos(double arg) //返回arg的正弦值 static double tan(double arg) //返回arg的正弦值 static double asin(double arg) //返回arg的正弦值

static double acos(double arg) //返回arg的正弦值 static double atan(double arg) //返回arg的正弦值 三.指数函数 static double log(double arg) //返回arg的正弦值

static double pow(double y,double x) //返回y的x次方 static double sqrt(double arg) //返回arg的平方根 四.取整函数 static int abs(int arg) //返回arg的绝对值

static long abs(long y) //返回y的绝对值 static int max(int x,int y) //返回x,y的最大值 static int min(int x,int y) //返回x,y的最小值

static double ceil(double d) //返回>=d 的最小浮点数(小数位始终为.0) static double floor (double d) //返回<=d 的最大浮点数(小数位始终为.0)

联系合同范文客服:xxxxx#qq.com(#替换为@)