[英]Primitive data types some questions
我正在学习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
类型而不是long类型。
所以我做了这个程序:
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,那么它如何打印粗体值?
第二个问题:
关于缩小转换范围:
我的说法正确吗?
字节类型(8位)和短类型(16位)只能在字节/短类型上的值是以下值之一的情况下才能转换为字符类型(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有什么区别?
虽然用于初始化max的值可能是一个int,但max被显式声明为与您的输出完全一致的长整数。
答案取决于您“转换”的含义。
num1和num2相同; num3和num4是完全不同的值,无论使用什么后缀(如果有)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.