JAVA之成员变量初始化

java中成员变量的初始化,如果是普通成员变量可以赋初值,如果没赋初值,则系统会自动赋初值。而对于局部变量必须手动赋初值。

package MyText2;

public class MyText1 {
	int str1;
	public static void main (String []args)
	{
		MyText1 mytext = new MyText1();
		System.out.println(mytext.str1);
	}
}

输出结果:

0

也可以声明时直接赋初始值。

package MyText2;

public class MyText1 {
	int str1 = 4;
	public static void main (String []args)
	{
		MyText1 mytext = new MyText1();
		System.out.println(mytext.str1);
	}
}

输出结果:

4

而对于final变量,系统不会赋初始值,提示错误:空白终态字段 str1 可能尚未初始化

可以声明时直接赋值,也可以通过构造函数:

package MyText2;

public class MyText1 {
	final int str1;
	public MyText1(){
		str1 = 5;
	}
	public static void main (String []args)
	{
		MyText1 mytext = new MyText1();
		System.out.println(mytext.str1);
	}
}



Java中,成员变量(也称为实例变量)如果没有显式地被初始化,则会自动予默认值。这些默认值取决于变量的数据类型。 - 对于数值型的基本数据类型(如 `byte`、`short`、`int`、`long`、`float` 和 `double`),默认初始值为零(0 或 0.0)。 - 对于布尔类型 (`boolean`),默认初始值是 `false`。 - 对于字符类型 (`char`),默认初始值是空字符 `\u0000`。 - 对于所有引用类型的变量(包括类、接口、数组等),默认初始值是 `null`。 这种机制确保了即使没有手动设置初始值,每个成员变量都有一个确定的状态。需要注意的是,默认初始化仅适用于类的成员变量,而不适用于局部变量。局部变量必须在使用前显式初始化,否则编译器将报错。 ### 示例代码 以下示例演示了不同类型的成员变量在未显式初始化时的默认值: ```java public class DefaultValueExample { // 成员变量声明但未初始化 private byte byteValue; private short shortValue; private int intValue; private long longValue; private float floatValue; private double doubleValue; private boolean booleanValue; private char charValue; private String stringValue; public void printDefaultValues() { System.out.println("byte 默认值: " + byteValue); System.out.println("short 默认值: " + shortValue); System.out.println("int 默认值: " + intValue); System.out.println("long 默认值: " + longValue); System.out.println("float 默认值: " + floatValue); System.out.println("double 默认值: " + doubleValue); System.out.println("boolean 默认值: " + booleanValue); System.out.println("char 默认值: " + charValue); System.out.println("String (引用类型) 默认值: " + stringValue); } public static void main(String[] args) { DefaultValueExample example = new DefaultValueExample(); example.printDefaultValues(); } } ``` 运行结果将会显示每种类型变量的默认值。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值