在书中" SamsTeachYourself Java"有一个任务是这样的:
"编写一个Java参数,将参数作为字符串,将其转换为float变量,将其转换为Float对象,最后将其转换为int变量。使用不同的参数运行几次以查看结果如何变化。"
有人可以澄清这篇文章,尤其是关于将参数作为字符串的java应用程序的第一部分吗?
答案 0 :(得分:1)
在Java程序中以
开头public static void main(String[] args){
args 是String []类型的变量(字符串数组)。您可以调用args.length()之类的调用函数,它将返回对程序进行的参数数量。
当您调用该数组时,该数组将填充程序名称后面的内容。例如,如果您将程序称为:
java MyProgram ate my dog
变量args的长度为3,包含值“ate”,“my”,“dog”。以下几行都将返回true。
args[0].equals("ate");
args[1].equals("my");
args[2].equals("dog");
这些其他答案也有助于解释这个
What is "String args[]"? parameter in main method Java
args.length and command line arguments
在像Eclipse这样的IDE中,您不会键入执行这些行的命令,但您可以将项目配置为使用一组预定值运行。有关如何在eclipse中执行此操作,请参阅另一个答案:Eclipse command line arguments
<小时/> 在输入表示float(例如“1.98”)的String之后,Java包含许多用于将字符串解析为其他类型的有用函数。其中许多都包含在包装基本类型的类中。其中一个是对象类型Integer,它包含一个名为parseInt的函数,它将String作为参数并返回一个int。其他基本类型也存在类似的类,包括双精度和浮点数。
这些类型的变量可以从它们相应的基元类型构造。 Here是Integer类的这些构造函数的在线文档。
<小时/> 最后,问题要求您将float转换为int。在java中,您可以调用类型转换操作,如下所示:
float a = 8.88;
int b = a; //error, loss of precision
int c = (int)a;
当将一个float或double的类型转换为int时,该值不会被舍入,它会被截断。在上面的例子中,变量c的值为8,而不是9。