问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么java中可以有: long a=0X123L; 这样的写法? 可以稍微深入一点哦!小弟刚出道,望多指教 谢谢你们!

发布网友 发布时间:2022-04-24 11:54

我来回答

4个回答

热心网友 时间:2023-10-11 21:49

long a=1;是允许编译通过的。

long a = 0x123;
1、这个16进制数没啥好说的,支持各种数据赋值,这是必须的。
2、这个L的问题,=号右边的0x123默认是int类型。
当这个数值大于int类型的范围时,就会发生越界,那就意味着不能正确给a赋值。
后面加个L,就是告诉编译器这个数据是long型的,别再当成int类型的来处理。
3、在写程序时经常会出现Object的类型数据,通俗的说就是还不知道具体类型。
此时给它赋值就要明确给它int 还是 long,这是就需要用L,否则你在后面的
处理很有可能异常。(根据你后续的处理决定,大多数不会出现异常,只有对
类型要求很严格的时候才会出现)
4、实际中,你可以忽略这种用法,但要记住会出现问题,因为很多时候涉及不到
当数值不大就用int,很大就用long等等,定义合适的数据类型

热心网友 时间:2023-10-11 21:50

0X或者0x开头表示这是一个16进制的数值。
L或者小写l 结尾表示这个数是一个长整型的数。
为什么要写上L呢?因为Java里整数默认是int型,如果你这么写:
long a=1;
是不能通过编译的,如果你使用IDE,会提示你不能将int转换成long型。因为附值符号“=”两边类型是要一致的。你声明a是long型,而常量 1 默认就是int型,因此是错误的。
这时候就必须显式的就常量1写成 1L或者1l,表示这个常量是long型。
相同的浮点数(小数)默认是double型,如果你要声明float型的,也必须加上F或者f

热心网友 时间:2023-10-11 21:50

0x123L 表示十六进制数,这个语句是给变量a赋值。
L表示长整型。

至于为什么,学习一下java的历史就很能明白为什了

热心网友 时间:2023-10-11 21:51

0X 表示 16进制数
Long a= 0X123L;
表示 16进制的 123 的长整型。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? 八进制以0开头,十六进制以0x开头,那么二进制,和十进制分别以什么开头啊,各位帮帮忙,谢谢! java:float f=-1 float f=0x0123 这两个对吗??? 两个十六进制的与运算:0x123a&0x1100等于多少(求过程) 怎样判断给出的数据是不是C语言的整型常量,如-012,0x35,123L,8E2 byte=0x123的x是什么意思 字符型常量ch=0x123,ch的绝对值是多少? 在计算机中 十六进制 那个是错误的 0x123 0xabc 0x12abcde 0xabc123 八进制数0123的值相当于十进制的83;十六进制数0x123的值相当于十进制数的291。我不明白那83和291的结... - 信息提示 您使用了一台新设备登录.为了保护您库存中的物品,7 天内您将无法在此设备上进行 请问为什么我今天上steam它说我在使用一台新设备然后不能交易要等7天? steam:您使用了一台新设备登录.为了保护您库存中的物品,在 7 天内您将不能在此设备上进 您正在使用一台未受到 Steam 令牌保护的设备进入市场 Steam市场因以下原因暂时无法使用的问题 Steam社区市场出现“您正在使用一台未受到steam令牌保护的设备进入市场”,怎么解决? 您正在使用一台未受到steam令牌保护的设备 第二条那个怎么解决? 您正使用一台未收到steam令牌保护的设备进入市场,已持续7天 您正在使用一台未受到 Steam 令牌保护的设备进入市场,已持续 7 天. “您正使用一台未收到steam令牌保护的设备进入市场,已持续7天。”怎么解决? 华新水泥为什么持续涨?华新水泥股中报不知怎样?华新水泥主要经营什么? inta[],b ab分别是什么类型 089,-026,0x123,e1哪个不是合法常量 C语言中是用"OX"开头表示是十六进制数,那十进制,二进制,八进制呢? 3. int a = 0x123, cout << a的结果是 。 A、 291 B、123 C、96 D、 83 c语言中如何把456存入地址0x123 一个16进制的数(char *表示的,带符号的0x123D)如何转成10进制的(一样是char *表示的)数。 C语言中%02X是什么意思? char a=0x12303f;printf("%d",a);输出结果是多少?为什么? H B D是几位 十六进制转换, 十六进制—OX12等于十进制的多少? 我在京东买的东西怎么点电子发票 电子发票如何发到别人微信 电子发票打完以后如何发到手机上面? 电子发票怎么发送到微信 电子发票怎么发送到微信上面 电脑开的电子发票怎么发到微信 在京东上买好东西给的是电子发票,我要多久可以看到开的电子发票 京东上的电子发票怎么打开? 京东的电子发票怎么使用 京东上买的自营商品,如果开电子发票是怎么样的过程,我怎么收?