在“SamsTeachYourself Java”一书中有一个任务是这样的:
“编写一个 Java 应用程序,将参数作为字符串,将其转换为 float 变量,将其转换为 Float 对象,最后将其转换为 int 变量。使用不同的参数运行几次,看看效果如何结果改变了。”
有人可以澄清一下这段文字,尤其是关于将参数作为字符串的 Java 应用程序的第一部分吗?
最佳答案
在 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”)之后,Java 包含许多用于将字符串解析为其他类型的有用函数。其中许多包含在包装原始类型的类中。其中之一是对象类型 Integer,它包含一个名为 parseInt 的函数。它以 String 作为参数并返回一个 int。其他基本类型也存在类似的类,包括 double 和 float 。
这些类型的变量可以从它们相应的原始类型构造。 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。
关于java - 从 "Activity"澄清这个 Java "SamsTeachYourself Java",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24532167/