java - 从 "Activity"澄清这个 Java "SamsTeachYourself Java"

标签 java object casting arguments converters

在“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/

相关文章:

javascript - Object.defineProperty 不适用于窗口对象 IE11

javascript - 如何搜索对象内的子节点并在找到时返回相关路径?

java - 如何扩展可用 Java 语言环境列表

下载文件时 Java 崩溃

php - 如何在 PHP Laravel Builder 查询中按键对数组进行分组

检查C中的输入类型

java - 我必须做一个 Java 挑战,将真/假值显示为 1 和 0

C99 : cast double to struct?

compilation - Java - 没有 JDK 的动态编译

java - 如何在没有 baseUrl 的情况下设置 Retrofit