0

我正在学习 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 有什么区别?

4

1 回答 1

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

  2. 答案取决于您所说的“转换”是什么意思。

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

于 2013-09-30T13:52:07.553 回答