黑马程序员技术交流社区
标题:
为什么0开头的int变量不等于原值?
[打印本页]
作者:
新航向
时间:
2014-7-31 20:43
标题:
为什么0开头的int变量不等于原值?
本帖最后由 新航向 于 2014-8-1 20:51 编辑
为什么int a=0700;打印结果会变为448?
代码如下:class IntTest
{
public static void main(String[] args)
{
int a=0700;
System.out.println("a:"+a);
}
}
打印结果为:448
QQ截图20140731204202.jpg
(39.08 KB, 下载次数: 23)
下载附件
2014-7-31 20:42 上传
作者:
fantacyleo
时间:
2014-7-31 21:05
0开头表示8进制数,八进制数700,对应10进制就是448
作者:
江苏孙浩
时间:
2014-7-31 21:07
同0x开头的
作者:
deer王璐
时间:
2014-7-31 21:10
java在默认int的声明中默认采用的是10进制
10进制不可能以0开头
以0开头的是8进制
int a=0700; //赋值赋的是8进制
System.out.println("a:"+a);//打印int默认用10进制
作者:
hdchenyue
时间:
2014-7-31 21:30
java在默认int的声明中默认采用的是10进制
10进制不可能以0开头
以0开头的是8进制
int a=0700; //赋值赋的是8进制
作者:
新航向
时间:
2014-7-31 21:59
哦,多谢各位
作者:
碎流
时间:
2014-7-31 22:15
8进制转成十进制呢
作者:
梧桐树下
时间:
2014-7-31 23:16
八进制运算
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2