You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定Java中存储给定整数的合适数据类型?

Java数据类型匹配问题

给定一个数字,找出Java里所有能存储它的数据类型。举个例子:

  • 数字741可以存入short、int、long类型;
  • 但像-100000000000000这种超大数字,就只能用long类型存储。

要求根据输入的数字,输出所有符合条件的数据类型。


各整数类型取值范围

Java的整数类型取值区间如下:

  • byte:-128 至 127
  • short:-32768 至 32767
  • int:-2147483648 至 2147483647
  • long:-9223372036854775808 至 9223372036854775807

判断逻辑

从范围最小的类型开始逐一检查,只要数字落在该类型的取值区间内,就将该类型纳入可行列表,最后按范围从小到大输出所有符合条件的类型。如果数字超出long的范围,就输出无法存储的提示。

实现代码

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int testCases = input.nextInt();
        
        for (int i = 0; i < testCases; i++) {
            try {
                long num = input.nextLong();
                System.out.println(num + " 可以存入以下类型:");
                
                if (num >= Byte.MIN_VALUE && num <= Byte.MAX_VALUE) {
                    System.out.println("* byte");
                }
                if (num >= Short.MIN_VALUE && num <= Short.MAX_VALUE) {
                    System.out.println("* short");
                }
                if (num >= Integer.MIN_VALUE && num <= Integer.MAX_VALUE) {
                    System.out.println("* int");
                }
                System.out.println("* long");
            } catch (Exception e) {
                System.out.println(input.next() + " 无法存入任何Java整数类型。");
            }
        }
        input.close();
    }
}

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:10:31