gpt4 book ai didi

java - 1./this.norm(); `1.` 只是语法糖吗?

转载 作者:行者123 更新时间:2023-11-29 03:11:53 25 4
gpt4 key购买 nike

我是 Java 的新手,并不知道如何搜索它。因为谷歌搜索 1。 double java 没有给我任何令人满意的搜索结果。

我遇到了这段代码:

public Vector normalize() {
final double inorm = 1. / this.norm();
return smult(inorm);
}

无论如何,有人可能会说这段代码太显式了,因为它有一个 final 局部变量。我认为由于 this.norm() 无论如何都会返回一个 double1/this.norm() 会产生相同的效果。

1. 是否只是一些语法糖,并且与 1.0 的含义相同?如果 this.norm() 返回一个 int 而我写的是 1 而不是 1,是否会发生不同的事情(比如欧氏除法)。 ?

最佳答案

这是指定双字面量的多种方式之一,没有它 1 将是一个整数,这意味着您将进行整数除法,而不是双除法...

System.out.println(1 / 3);           // ==> 0   <== Uh oh, integer division 
System.out.println(1. / 3); // ==> 0.333333
System.out.println(1.0 / 3); // ==> 0.333333
System.out.println(1d / 3); // ==> 0.333333
System.out.println(1D / 3); // ==> 0.333333
System.out.println( (double)1 / 3 ); // ==> 0.3333333

它是语法糖吗?也许不是,我认为更多的是把戏。我更喜欢 1d,因为意图更清晰。

关于java - 1./this.norm(); `1.` 只是语法糖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28888988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com