通常,程序以字符串对象中的数字数据结束——例如,用户输入的值。
Number包装原始数字类型(Byte、Integer、Double、Float、Long和)的子Short类每个都提供一个名为的类方法valueOf(),该方法将字符串转换为该类型的对象。下面是一个示例,ValueOfDemo它从命令行获取两个字符串,将它们转换为数字,并对值执行算术运算:
public class ValueOfDemo { public static void main(String[] args) { // this program requires two // arguments on the command line if (args.length == 2) { // convert strings to numbers float a = (Float.valueOf(args[0])).floatValue(); float b = (Float.valueOf(args[1])).floatValue(); // do some arithmetic System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("a % b = " + (a % b)); } else { System.out.println("This program " + "requires two command-line arguments."); } } }
以下是您使用4.5和87.2命令行参数时程序的输出:
a + b = 91.7 a - b = -82.7 a * b = 392.4 a / b = 0.0516055 a % b = 4.5
注意:每个Number包装原始数字类型的子类还提供了一个parseXXXX()方法(例如parseFloat()),可用于将字符串转换为原始数字。由于返回的是原始类型而不是对象,因此parseFloat()方法比valueOf()方法更直接。例如,在ValueOfDemo程序中,我们可以使用:
float a = Float.parseFloat(args[0]); float b = Float.parseFloat(args[1]);