Java关于long型和int型整数相加的问题

int有最大长度

最小值是 -2,147,483,648(-2^31)
最大值是 2,147,483,647(2^31 - 1)

当两个int型相加超出int范围时,即使接受的参数是long型也会造成精度损失,原因是:
两个int型相加是会先转换成int型然后再赋值,所以再相加前要先转换成long型。

示例:

		int m = 2147483647;
		//输出-2147483648
		long l = m + 1;
		System.out.println(l);
		
		//输出2147483648
		l = m + 1L;
		System.out.println(l);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的long可以和int进行计算。long可以存储更大范围的整数值,占据8个字节(64位),而int只能存储较小范围的整数值,占据4个字节(32位)。当我们对longint进行计算时,Java会自动将int的值转换为long,然后进行计算。 例如,我们可以将一个int的变量和一个long的变量相加,结果将会是一个long的值。代码示例如下: ```java int a = 10; long b = 20; long result = a + b; // 将int的值a转换为long,然后与b相加 System.out.println(result); // 输出结果为30 ``` 同样,我们也可以进行其他的数学运算,如减法、乘法和除法。Java会根据需要自动进行类转换,确保计算结果的准确性。 需要注意的是,当long的值超出int的范围时,可能会导致溢出错误。因此,在进行计算时,我们需要确保结果可以被int接受,或者使用更为安全的long存储计算结果。 综上所述,longint可以进行计算,Java会自动进行类转换以确保计算的准确性。 ### 回答2: Java中的数据类有很多种,其中包括整数int和浮点数类float。而"javalong"并不是Java的内置数据类,我理解为这是指Java中的长整数据类long。 长整数据类long用于存储较大范围的整数值,它占据8个字节的存储空间(64位),可以表示范围在-9223372036854775808到9223372036854775807之间的整数。 在Java中,longint之间可以进行计算。当将longint进行计算时,int的值会被自动转换为long的值,然后进行计算。由于long的范围比int的范围大,所以计算结果可以正常得到。 例如,考虑以下的Java代码: ```java long a = 10000000000L; // 定义一个长整变量a int b = 100; // 定义一个整变量b long c = a + b; // 将a和b相加,并将结果赋给长整变量c System.out.println(c); // 输出c的值 ``` 在这个例子中,我们定义了一个long的变量a,并赋值为10000000000L。我们还定义了一个int的变量b,并赋值为100。然后,我们将a和b相加,并将结果赋给long的变量c。最后,我们使用System.out.println()方法打印了变量c的值。 运行以上代码,我们会得到输出结果为 "10000000100",即长整和整的计算结果。 所以,长整数据类long和整数据类int之间可以进行计算,并且计算结果可以正常得到。 ### 回答3: Java中的Javalong可以和int进行计算。 Javalong是一种表示整数的数据类,在Java中占用8个字节。而int是另一种表示整数的数据类,在Java中占用4个字节。 在Java中,当我们用Javalongint进行计算时,会根据需要自动进行类转换。具体来说,如果我们将一个int的值与Javalong的值进行运算,Java会将int的值自动转换为Javalong,然后再进行计算。这是因为Javalong的数据范围更大,可以容纳更大的整数。 例如,我们可以将一个Javalong的变量与一个int的变量相加Java会自动将int转换为Javalong,然后进行计算。结果将会是一个Javalong的值。 但需要注意的是,当我们将一个Javalong的值赋给一个int的变量时,由于int的数据范围较小,可能会导致数据溢出的情况。因此,在进行这类计算时,我们需要谨慎处理,确保不会发生数据溢出的情况。 综上所述,Javalong可以和int进行计算。在这种计算过程中,Java会自动进行类转换,但需要注意数据范围的差异,避免出现数据溢出的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值