启动线程测试的时候,发现线程并没有按照预想的720小时候后执行,而是不停在执行,最后跟踪代码发现 runSperiod 的值时负数。仔细研究后发现,java在处理几个数相乘时,如果几个数都是 int 类型,那么计算出来的值就是 int 型,上面的计算机结果就是 int 型,但是超出了java里对于 int 类型的范围,所以结果是负数。在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型 的,就一定要在数据后面加“L”。感谢大家对本站的支持。

Java编程long数据类型的使用问题