当前位置: 移动技术网 > IT编程>开发语言>Java > Java编程long数据类型的使用问题

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

2019年07月19日  | 移动技术网IT编程  | 我要评论

在java编程中经常遇到一些整数类型的使用问题,下面我们来看看长整形数据使用问题。
今天在写一个java线程的时候,想让线程休眠720小时候继续执行,代码如下:

long runsperiod = 720 * 60 * 60 * 1000;
thread.sleep(runsperiod)

启动线程测试的时候,发现线程并没有按照预想的720小时候后执行,而是不停在执行,最后跟踪代码发现 runsperiod 的值时负数。仔细研究后发现,java在处理几个数相乘时,如果几个数都是 int 类型,那么计算出来的值就是 int 型,上面的计算机结果就是 int 型,但是超出了java里对于 int 类型的范围,所以结果是负数。
解决方法很简单,只要在相乘的数字后面加上l即可(只要一个数字后面加即可),标识该数字类型是长整形,计算出来的结果就是 long 型。

long runsperiod = 720l * 60 * 60 * 1000; 
thread.sleep(runsperiod)

在通常情况下,如果java中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 b:35b,表示它是byte型的,同样的35s表示short型,35l表示long型的,表示int我们可以什么都不用加,但是如果要表示long型 的,就一定要在数据后面加“l”。

总结

以上所述是本文java编程数据类型long的使用问题的全部内容,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网