加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 14:12:54 所属栏目:Java 来源:网络整理
导读:在Java编程中经常遇到一些整数类型的使用问题,下面我们来看看长整形数据使用问题。 今天在写一个java线程的时候,想让线程休眠720小时候继续执行,代码如下: long runSperiod = 720 * 60 * 60 * 1000;Thread.sleep(runSperiod) 启动线程测试的时候,发现线

在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的使用问题的全部内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。感谢大家对本站的支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读