首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

byte[ ]动态开辟小疑点

2013-03-06 
byte[ ]动态开辟小问题请问各位大神:public class E3{public static void main(String args[]){byte b[]n

byte[ ]动态开辟小问题
请问各位大神:
public class E3
{
  public static void main(String args[])
  {
   byte b[]=new byte[10];
   System.out.println(b[0]);   
  }
}

小弟上述的代码为何输不出任何东西,b[0]里面存放的到底是什么东西哇?
求大神指点一番
[解决办法]
楼主申请的是字节数组,没赋值应该是输出0吧
[解决办法]
局部变量不会自动赋值~成员变量会自动赋值,楼主用的是字节数组,如果是成员变量会输出0,你这个是没有输出把
[解决办法]
顶1楼
楼主的代码应该输出0
顺便说一下3楼描述的不是你的问题。
[解决办法]

public class E3
{
  public static void main(String args[])
  {
   byte b[]=new byte[10];
   Byte c[]=new Byte[10];
   System.out.println(b[0]);
   System.out.println(c[0]);   
  }
}

要是数组存储的是基本类型的话就是基本类型的初始值,这里byte是0
如果存储的是对象的话,就是null
[解决办法]
看着byte b[] 这种写法真蛋疼
[解决办法]
测试过了,的确是0,如果声明对象,则初始为null
[解决办法]
java的所有内存分配都是会被初始化的,

数字 初始值 0
布尔 初始值 false
对象 初始值 null

你刚才的语句初始化了一个byte数组,因此数组中每个元素都是0.
[解决办法]
应该是0.如果是double就是0.0等等你可以搜下JAVA关于基本类型的初始化。如果是对象,输出null.
[解决办法]
引用:
看着byte b[] 这种写法真蛋疼

你就原谅他吧,毕竟刚学嘛

热点排行