A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 新航向 中级黑马   /  2014-7-31 20:43  /  2077 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 新航向 于 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, 下载次数: 6)

QQ截图20140731204202.jpg

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 赞一个!

查看全部评分

7 个回复

倒序浏览
0开头表示8进制数,八进制数700,对应10进制就是448

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 赞一个!

查看全部评分

回复 使用道具 举报
同0x开头的
回复 使用道具 举报
java在默认int的声明中默认采用的是10进制
10进制不可能以0开头
以0开头的是8进制
int a=0700; //赋值赋的是8进制
System.out.println("a:"+a);//打印int默认用10进制
        

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
java在默认int的声明中默认采用的是10进制
10进制不可能以0开头
以0开头的是8进制
int a=0700; //赋值赋的是8进制

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
哦,多谢各位
回复 使用道具 举报
碎流 高级黑马 2014-7-31 22:15:05
7#
8进制转成十进制呢
回复 使用道具 举报
梧桐树下 来自手机 中级黑马 2014-7-31 23:16:16
8#
八进制运算
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马