有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 1 楼答案

    您只需将结果分配给一个长的:

    long result = intval2 - intval1;
    
  2. # 2 楼答案

    int val1=10;
    
    int val2=6;
    
    long val3 = (long) val1 - val2;
    
  3. # 3 楼答案

    你可以这么做

    long difference = (long) i1 - i2;
    

    如果你需要绝对的差异

    long difference = Math.abs((long) i1 - i2);
    

    例如

    int i1 = 2000000000;
    int i2 = -2000000000;
    long difference = Math.abs((long) i1 - i2);
    System.out.printf("%,d%n", difference);
    

    印刷品

    4,000,000,000
    

    您可能需要强制转换到long的原因是为了避免溢出。两个int值之间的最大差值在最大值和最小值之间,但如果

    System.out.println(Integer.MAX_VALUE - Integer.MIN_VALUE);
    

    印刷品

    -1
    

    由于溢出,而在演员阵容中

    System.out.println((long) Integer.MAX_VALUE - Integer.MIN_VALUE);
    

    印刷品

    4294967295