繁体   English   中英

原始数据类型的一些问题

[英]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有什么区别?

  1. 虽然用于初始化max的值可能是一个int,但max被显式声明为与您的输出完全一致的长整数。

  2. 答案取决于您“转换”的含义。

  3. num1和num2相同; num3和num4是完全不同的值,无论使用什么后缀(如果有)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM