Rol*_*all -4 java floating-point
我想知道为什么在Java中它通过执行以下操作给出了编译错误:
double d34324.34; //error
float f3342.34; //error
Run Code Online (Sandbox Code Playgroud)
另一方面:
long L32423424; // works fine
double D32432424; // works fine
Run Code Online (Sandbox Code Playgroud)
所以基本上我想知道为什么只有浮点值的语法使用这个限制.
我知道如果字母标识符(D,d,F,f)放在它工作的数字的末尾,但我仍然想知道为什么另一种形式不适用于浮点数.只是好奇,我知道如果我键入3443.43434f它的工作原理.
Den*_*ret 10
double d34324.34
Run Code Online (Sandbox Code Playgroud)
不指定值,34324.34但尝试声明具有无效名称的变量d4324.34.
你可能想要
double myDouble = 34324.34d;
long myLong = 34324l;
Run Code Online (Sandbox Code Playgroud)
点不是标识符的有效字符(变量名,方法名,类名,参数名等).它在Java语言规范的第3.8节中是正确的.所以这永远不会奏效:
double d34324.34; // error
float f3342.34; // error
Run Code Online (Sandbox Code Playgroud)
Java中的有效标识符只能包含字母,数字,"_"和"$",并且不能以数字开头.请注意,这不包括点.
为什么要用变量命名变量?你确定你的意思不是这样的吗?
double d = 34324.34;
float f = 3342.34f;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45098 次 |
| 最近记录: |