java变量只声明未初始化是否可以直接使用?

成员变量只声明未初始化在类初始化时会赋予默认值可以直接使用;局部变量必须赋值才可以使用,如果局部变量未赋值,编译无法通过。

成员变量


@Data
@ToString
public class Result {
    private byte byteTest;
    private short shortTest;
    private int intTest;
    private long longTest;
    private float floatTest;
    private double doubleTest;
    private char charTest;
    private boolean booleanTest;
    private String stringTest;
    private Byte testByte;
    private Short testShort;
    private Integer testInteger;
    private Long testLong;
    private Float testFloat;
    private Double testDouble;
    private Character testCharacter;
    private Boolean testBoolean;

    public static void main(String[] args) {
        Result result = new Result();
        System.out.println("-----------基本类型----------");
        System.out.println("byteTest=" + result.byteTest);
        System.out.println("shortTest=" + result.shortTest);
        System.out.println("intTest=" + result.intTest);
        System.out.println("longTest=" + result.longTest);
        System.out.println("floatTest=" + result.floatTest);
        System.out.println("doubleTest=" + result.doubleTest);
        System.out.println("charTest=" + result.charTest);
        System.out.println("booleanTest=" + result.booleanTest);
        System.out.println("-----------引用类型----------");
        System.out.println("testByte=" + result.testByte);
        System.out.println("testShort=" + result.testShort);
        System.out.println("testInteger=" + result.testInteger);
        System.out.println("testLong=" + result.testLong);
        System.out.println("testFloat=" + result.testFloat);
        System.out.println("testDouble=" + result.testDouble);
        System.out.println("testCharacter=" + result.testCharacter);
        System.out.println("testByte=" + result.testByte);
        System.out.println("stringTest=" + result.stringTest);
    }
}
控制台数据结果:
-----------基本类型----------
byteTest=0
shortTest=0
intTest=0
longTest=0
floatTest=0.0
doubleTest=0.0
charTest= 
booleanTest=false
-----------引用类型----------
testByte=null
testShort=null
testInteger=null
testLong=null
testFloat=null
testDouble=null
testCharacter=null
testByte=null
stringTest=null

局部变量

    public static void main(String[] args) {
        int a;
        String  s;
        System.out.println("a:" + a);
    }
    

在这里插入图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值