我正在学习 Java,并且有一些不清楚的问题,如果有人可以提供帮助,我将非常高兴。
第一个问题
int 的近似值为:2.147.483,647
long 的近似值为:9,223,372,036,854,775,807
这个网站说:
“如果整数文字以字母 L 或 l 结尾,则其为 long 类型;否则为 int 类型”
这意味着如果我没有在变量名的末尾添加字母 L/l
如 :
long num=3515; //no letter L/l at the end
所以变量num
被认为是int
类型而不是长类型。
所以我做了这个程序:
public class caluMaxNum
{
public static void main(String [] args)
{
long max=2147483640; //doesn't have letter L/l so it consider as an int
for(int i=0;i<=10;i++)
{
max++;
System.out.println(max);
}
}
}
这是输出:
2147483641
2147483642
2147483643
2147483644
2147483645
2147483646
2147483647
2147483648
2147483649
2147483650
2147483651
int 的近似值是:2,147,483,647 并且变量 max 是 int,那么它是如何打印粗体值的呢?
第二个问题:
关于缩小转化范围:
我的说法是真的吗?
byte 类型(8 位)和 short 类型(16 位)只能在 byte/short 类型上找到的值是以下值之一的情况下转换为 char 类型(16 位):0,1,2,3,4 ,5,6,7,8,9 否则会出现运行时错误
- 第三个也是最后一个问题:
当我声明数字变量类型时,例如:
float num1=34.1;
float num2=34.1F
long num3=43
long num4=953L
如果字母符号化我也可以声明其他类型的变量使用它们的第一个字母吗?为什么要包含它 num1 到 num2 和 num3 到 num4 有什么区别?