java初始值
❶ java 类型类怎么初始化赋值
总结了java数组的初始化的两种方法如下:
1、最简单的方法是直接赋值,如:
一维数组:
int[] num = {21,34,2,-9,987,0,-89};//创建一个一维数组,并赋7个初始值
二维数组:
int[][] num2 = {{21,22},{34,35}};//创建一个二维数组,并赋2个初始值
2、先创建一个数组对象出来,再进行循环赋值,如:
一维数组:
int[] num3 = new int[5];//先创建一个5长度的数组对象
for(int i=0;i<num3.length;i++){//之后进行循环遍历对数组进行赋值
num3[i] = i;
}
二维数组:
int[][] num4 = new int[5][2];//先创建一个二维数组对象
for(int i=0;i<num3.length;i++){//之后进行循环遍历对数组进行赋值
for(int j=0;j<num4[i].length;j++){
num4[i][j] = j;
}
}
❷ java属性常量没有默认值那属性加载时是怎么分配空间的,java 不是给属性开辟空间时会先给默认值吗
关于分配空间这个你网络一下JVM内存结构;就可以了解详细机制了;
首先你截图的变量是成员变量(定义在类中,方法体之外。变量在创建对象时实例化。成员变量可被类中的方法、构造方法以及特定类的语句块访问)。而且是实例变量不是静态变量,实例变量不分基本类型和引用类型都是在在对象创建的时候分配内存空间,存储在堆中;
类变量的初始化分为两个阶段。第一次是在类加载的准备阶段。准备阶段会正式为类变量分配内存并设置类变量的初始值。如果类变量是基本数据类型,初始值为其对应初值,如果为对象类型,初始值为null。如果类变量同时被final关键字修饰,那么准备阶段就会直接将变量赋值。
成员变量属于对象独有,每个对象创建时只会调用一次构造函数。成员变量可在定义时初始化,也可以在所有构造函数中初始化。你的a虽然定义时没初始化,但你在所有构造方法中初始化了。
当类中有静态成员变量,普通成员变量,静态初始化块,非静态初始化块,局部变量和构造函数初始化动作时:①首先执行静态成员变量的初始化,②其次是普通成员变量的初始化,③然后当静态初始化块中的变量被类名访问或创建该类对象时时执行静态初始化块,创建该类对象也会执行非静态初始化块,④最后执行构造函数当中的初始化动作,⑤最后当类中的函数被调用时执行局部变量的初始化动作。
❸ 数组动态初始化时,数组元素会被赋予一个默认值,简述各数据类型的初始值
对于java而言:
一、
各种数值类型的默认值都是0或0.0。
具体包括byte、short、int、long的默认值都是0,而float和double类型的默认值都是0.0。
二、
char类型的默认值是''(即空字符)。
三、
boolean类型的默认值是false。
四、
所有引用类型的默认值都是null。