当前位置: 首页 > 面试题库 >

为什么在浮号末尾使用字母f?

易弘阔
2023-03-14
问题内容

我只是想要一些有关此的信息。

float n = 2.99944323200023f

什么是f在的结尾文字呢?这叫什么?为什么使用它?


问题答案:

f表明它是一个浮点文字,不是双字面它并没有一个特定的技术名称,我知道(这将暗示以其它方式)
-我倾向于把它称为“字母后缀”如果我需要参考具体来说,尽管有点武断!

例如:

float f = 3.14f; //Compiles
float f = 3.14;   //Doesn't compile, because you're trying to put a double literal in a float without a cast.

您当然可以:

float f = (float)3.14;

…几乎可以完成同一件事,但是F是一种更简洁,更简洁的表示方式。

为什么选择double作为默认值而不是float?好吧,如今,在99%的情况下,浮点数加倍的内存要求已不再是问题,而且它们提供的额外准确性在很多情况下都是有益的-
因此,您可以说这是明智的默认设置。

请注意,您还可以通过d在末尾也添加a来将小数文字显式显示为双精度:

double d = 3.14d;

…但是因为无论如何它都是双精度值,所以没有任何效果。有人可能会为它辩护,主张更清楚地表示您的字面量类型,但是我个人认为这只会使代码混乱(除非您周围有很多浮动字面量,并且您要强调此字面量的确意味着是双精度字面量。
,而省略f不仅仅是一个错误。)



 类似资料:
  • 问题内容: 我经常在我要放在第一位的项目前加上’ _ ‘。 我可以使用某种魔法人物将物品放在列表的末尾吗? 比“ z_item” 更 优雅的 东西。 从 _custom文件夹1 _custom folder2 收件箱 寄件箱 垃圾邮件文件夹 至 收件箱 寄件箱 垃圾邮件文件夹 [?]自定义文件夹1 [?]自定义文件夹2 是的,这是COT式的。 问题答案: 特殊导入字符,它将使您的文件夹位于列表的末

  • 我正在尝试从C转换到Java。 我想知道的是,在C中,在类定义之后需要分号(),但在Java中则不是。 也就是说,在C中: 但在Java中: 那很好,我理解。 然而,我的问题是: 当我在类定义的末尾添加分号时,Java也可以工作,例如: 我已经编译并执行了为Java显示的两个程序片段,它们都有效。有人能解释为什么会这样吗?Java中类定义末尾的分号代表什么? 如果这个问题质量不高,我很抱歉,但我真

  • 问题内容: 我不小心写了一个Java语句,结尾有两个分号。Java编译器不显示任何错误,它可以运行。 码: 出于学习目的,我尝试在分号后添加不同的字符,并且Java编译器已将编译时错误显示为 令牌“)”上的语法错误,请删除此令牌 。 这个说法: 为什么Java将分号和其他字符视为不同? 问题答案: 因为双分号不会被视为双分号,而是会被视为分号和空语句。空的语句不执行任何操作,这不是错误。

  • 问题内容: 我正在尝试从C ++转向Java。 我想知道的是,在C ++中,在类定义之后,需要使用分号(),而在Java中则不需要。 也就是说,在C ++中: 但是在Java中: 很好,我知道。 但是, 我的问题是 : 当我在类定义的末尾添加分号时,Java也可以使用,例如: 我已经编译并执行了Java所示的两个程序片段,并且它们均有效。谁能解释为什么会这样?Java类定义末尾的分号代表什么? 很

  • 问题内容: 我已经看过其中一些符号,但是找不到任何奇怪的符号, 5后的D和F分别是什么意思? 问题答案: 意味着这些数字分别是双精度数和浮点数。假设你有 然后你打电话 编译器可能被卡住了。这就是为什么你可以说,或指定类型。

  • 问题内容: 我注意到,在某些网站(包括SO)上,指向CSS的链接如下所示: 我可以肯定地说,这告诉浏览器加载css文件的6638版本。但是我可以在我的网站上执行此操作吗?是否可以仅通过更改数字来包含不同版本的CSS文件? 问题答案: 这会加载不同的查询字符串,因此,例如,如果您的计算机上已经缓存了版本6637,则将获得新的查询字符串(6638)。更改该数字(在这种情况下) 不会 为您提供其他文件。