黑马程序员技术交流社区

标题: 关于long的存放问题 [打印本页]

作者: 1021361407    时间: 2015-3-14 15:20
标题: 关于long的存放问题
本帖最后由 1021361407 于 2015-3-14 16:24 编辑
  1. package com.xiazuode;

  2. public class jiecheng {

  3.         public static void main(String[] args){
  4.                 long l = 012,i=12;
  5.                
  6.                 System.out .print(l+"   "+i);
  7.                
  8.                 }
  9. }
  10.         
复制代码

先看代码,打印结果是10   12
请问这个是怎么存放的,前面加个0就成八进制存放了?

作者: 夏鹏    时间: 2015-3-14 15:26
之前都没有发觉 这个问题哦  看来果真如楼猪所说的加0 都按照8进制计算了
作者: 小白一号    时间: 2015-3-14 15:27
就写12不行吗?前面不是注明long类型了吗,计算机自己会分配存储的吧,加0是八进制。你这是后面的了吧,还用了package。
作者: Shey    时间: 2015-3-14 15:28
这是JAVA自带的机制,前缀为0是八进制,0x是16进制
作者: 艺多不压身丶    时间: 2015-3-14 15:29
二进制:由0,1组成。以0b开头。
八进制:由0,1,...7组成。以0开头。
十进制:由0,1,...9组成。默认整数是十进制。
十六进制:由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。
作者: hamesksk    时间: 2015-3-14 15:30
前面带0是八进制,前面带0x是16进制,这是java的进制数字写法规范
作者: Dark县令    时间: 2015-3-14 16:01
八进制数以0开始。
作者: 1021361407    时间: 2015-3-14 16:23
艺多不压身丶 发表于 2015-3-14 15:29
二进制:由0,1组成。以0b开头。
八进制:由0,1,...7组成。以0开头。
十进制:由0,1,...9组成。默认整数是 ...

之前还真没注意过,就只0x是十六进制的意思
作者: 谢鸿    时间: 2015-3-14 18:46
不错!!!这小知识一直没发现!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2