您的位置:

java基本类型的初始化值(Java 对象的初始化方式有)

本文目录一览:

Java 变量到底要如何初始化

不同的变量初始化方法不同。

变量包括:

类的属性,或者叫值域

方法里的局部变量

方法的参数

对于第一种变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。

int类型变量默认初始值为0

float类型变量默认初始值为0.0f

double类型变量默认初始值为0.0

boolean类型变量默认初始值为false

char类型变量默认初始值为0(ASCII码)

long类型变量默认初始值为0

所有对象引用类型变量默认初始值为null,即不指向任何对象。注意数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。

对于两种不同的类属性,static属性与instance属性,初始化的时机是不同的。instance属性在创建实例的时候初始化,static属性在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化。这个问题会在以后的系列中进行详细讨论。

对于第二种变量,必须明确地进行初始化。如果再没有初始化之前就试图使用它,编译器会抗议。如果初始化的语句在try块中或if块中,也必须要让它在第一次使用前一定能够得到赋值。也就是说,把初始化语句放在只有if块的条件判断语句中编译器也会抗议,因为执行的时候可能不符合if后面的判断条件,如此一来初始化语句就不会被执行了,这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句,就可以通过编译,因为无论如何,总有至少一条初始化语句会被执行,不会发生使用前未被初始化的事情。对于try-catch也是一样,如果只有在try块里才有初始化语句,编译部通过。如果在catch或finally里也有,则可以通过编译。总之,要保证局部变量在使用之前一定被初始化了。所以,一个好的做法是在声明他们的时候就初始化他们,如果不知道要出事化成什么值好,就用上面的默认值吧!其实第三种变量和第二种本质上是一样的,都是方法中的局部变量。只不过作为参数,肯定是被初始化过的,传入的值就是初始值,所以不需要初始化。

在java中八种基本数据类型在数组初始化中默认值是多少

Java定义了8个简单的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(boolean).

除了boolean默认false,char--〉/u0000,其他的都为0

java 基本类型默认值

你定义的a是临时变量,这种临时变量是不会初始化的,只有类的成员变量才会被初始化。比如

class test {

private int a;

}

然后你创建一个test对象,new test(),那么这个对象的属性a就会被默认初始化为0。

Java:关于基本数据类型的默认值,以布尔为例

波尔类型的默认值是false;

其余的7种基本类型默认值:

byte是 (byte)0;

short是 (short)0;

int是 0;

long是 0L;

float 是0.0f;

double 是0.0d;

char是 \u0000。

什么事Java的基本类型?这些基本类型的默认值是什么?

基本数据类型有

double,float,

byte,short,int,long

char,

boolean

基本就double,int,char,boolean比较常用

double缺省值 0.0

int缺省值是0

char缺省值是 'u0000'

boolean缺省值是false

Java各类型的初始值

基本数据类型作为类的成员时,

即使没有对其进行初始化,

java也会确保它有一个默认值,如下:

基本类型的初始值 基本类型 默认值

boolean false

char \u0000(null)

byte (byte)0

short (short)0

int 0

long 0L

float 0.0f

double 0.0d

上面的默认值,是当变量作为类的成员使用时才有的,

java这样做是保证基本类型的成员变量得到初始化,

防止产生程序错误,

但这些值在实际的程序中可能都是不合理的,

所以最好明确的给出初始值。

上面的默认值对在程序中非成员变量就不适用了,

非成员变量如果不明确给出初始值,就可能是任何值。

在java程序编译时会提示你一个错误,而不是c++中的警告。

至于那些应用类型,像数组,对象啦,有些复杂,根据你的类型而定,对象一般弄人为null,

数组根据你的类型,按照基本数据类型的默认值来初始化……

明白了么?

本文来自CSDN博客,转载请标明出处: