首页 > 文章列表 > java变量的初始化

java变量的初始化

java 变量
436 2022-08-06

1、在声明变量后,必须使用赋值语句对变量进行显式初始化。

2、变量声明尽可能靠近变量第一次使用的地方。

3、对于局部变量,如果可以从变量的初始值来推断其类型,则不需要声明类型。

只需要使用关键词var而不需要指定类型。

实例

//Java 尽量保证所有变量在使用前都能得到恰当的初始化,否则会报异常
//Java中提供了四种初始化方法:默认初始化、显式赋值初始化、调用类对象初始化和调用方法初始化。
 
//错误写法
void f() {
    int i;
    i++;
}
//执行时会报异常,原因是变量i没有初始化
 
 
 
## 成员变量初始化方式之一————默认初始化:
 
public class InitialValues {
    boolean t;
    char c;
    byte b;
    short s;
    int i;
    long l;
    float f;
    double d;
    InitialValues reference;
 
    void printInitialValues() {
        System.out.println("Data type Initial value");
        System.out.println("boolean " + t);
        System.out.println("char[" + c + "]");
        System.out.println("byte " + b);
        System.out.println("short " + s);
        System.out.println("int " + i);
        System.out.println("long " + l);
        System.out.println("float " + f);
        System.out.println("double " + d);
        System.out.println("reference " + reference);
    }
 
    public static void main(String[] args) {
        new InitialValues().printInitialValues();
    }
}
输出:
Data type Initial value
boolean false  
char[]   //char 的默认值为 0或者写为'\u0000',所以显示为空白
byte 0
short 0
int 0
long 0   //0L
float 0.0  //0.0F
double 0.0  
reference null
 
## 成员变量初始化方式之二————显式赋值:
public class InitialValues2 {
 boolean bool = true;
 char ch = 'x';
 byte b = 47;
 short s = 0xff;
 int i = 999;
 long lng = 1;
 float f = 3.14f;
 double d = 3.14159;
}
 
## 成员变量初始化方式之三————调用对象进行初始化赋值:
class Depth {
}
public class Measurement {
    Depth d = new Depth();
    // ...
}
//注意:如果没有为 d 赋予初值就尝试使用它,就会出现运行时错误,会产生异常。
 
## 成员变量初始化方式之四————调用方法进行初始化赋值:
//1、调用无参方法
public class MethodInit {
    int i = f();
    
    int f() {
        return 11;
    }
    
}
 
//2、调用有参方法
public class MethodInit2 {
    int i = f();
    int j = g(i);
    
    int f() {
        return 11;
    }
    
    int g(int n) {
        return n * 10;
    }
}
//注意:调用有参方法时,方法中的参数不能是未初始化的类成员变量,否则会报异常