欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

在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的使用问题的全部内容,希望对大家有所帮助