Java变量的初始值

Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会。

对于成员变量 int a;         // a的初始值为0

如下例中的成员变量a,b,c,d

public class VariableInitialValue {

	public static void main(String args[]) {

		TestVariable obj = new TestVariable();

		System.out.println("a="+obj.a);
		System.out.println("b="+obj.b);
		System.out.println("c="+obj.c);
		System.out.println("d="+obj.d);

	}
}

class TestVariable {

	int a;
	char b;
	float c;
	String d;
}

 输出结果为:

对于局部变量int a;          // a默认没有初始化

对没有初始化的变量进行操作,java编译器会给出错误警告。

如下例中的局部变量a,b

public class VariableDeclaration {

	public static void main(String args[]) {

		System.out.println("Examples of variable declaration");

		int a;
		System.out.println("a="+a);

		String b;
		System.out.println(b);

	}
}

错误信息:

The local variable a may not have been initialized

The local variable b may not have been initialized

时间: 2024-10-02 05:09:31

Java变量的初始值的相关文章

static 和 final 关键字 对实例变量赋初始值的影响

static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的这个问题的细节. 在2.3.1小节中讲对象创建的时候,讲到内存分配有两种方式:一种是指针碰撞:另一种是空闲列表. 而选择哪种分配方式是由JAVA堆是否规整决定,而JAVA堆是否规整则由虚拟机所采用的垃圾收集器是否带压缩整理功能决定. 我们不管内存分配采用何种方式,当内存分配完成后,虚拟机将分配到的内存空间都初

Python的类成员变量默认初始值的坑

问题发现:一个循环内,缺省值初始化同名变量,其中的list成员不是空,会延续之前同名变量的值. 示例代码: # Define class class Variant(): # use def __init__(self, price = 500, description = 'default description', values = ['', '', '']): self.price = price self.description = description self.values = v

变量在不同区域的默认初始值

1 // 变量在不同区域的默认初始值.cpp : Defines the entry point for the console application. 2 // 3 4 #include "stdafx.h" 5 6 //定义全局变量 7 int* p; 8 int a; 9 char c; 10 unsigned int d; 11 short e; 12 13 int main() 14 { 15 int b; 16 unsigned int m; 17 int* p1; 18

Java变量初始化的时机

对于JAVA中变量的初始化是一个很基础的问题,其中的一些问题也是易被学习者所忽略.当在编写代码的时候碰到时,常被这些问题引发的错误,感觉莫名其妙.而且现在许多大公司的面试题,对于这方面的考查也是屡试不爽.以下是对java变量初始化的时机的分析. [java变量执行初始化的步骤] java是一门强类型语言,因此java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型.首先看下面这条语句的执行过程: int a = 5; 实际上面这条语句会被拆分成两个过程执行: (1)i

什么是java变量,java变量是什么

什么是变量,变量是什么想要更多面试题和学习资料的可以私聊联系我,大家一起交流学习! 1.1. 什么是变量在日常生活中,人们会用到大量数据,像去ATM机取款,首先,需要插入银行卡,这个过程其实就是ATM机的系统在获取银行卡号这个数据,而后,输入密码,这个过程也是在获取数据,也就是密码.在后续进行的业务处理中,像存钱.取钱.转帐汇款等等,银行卡号和密码会被反复的.频繁的使用, 那就需要一个存储这些数据的地方.在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内

Python初始值表示为无穷大

之前只知道设置变量的初始值为0.今天在写网络路径分析的时候,为了找到离任意坐标距离最近的节点,初始设置最短距离为无穷大,然后不断的去替换,直到找到最近的节点. 刚开始设置是min_dis = 999999999999,作为距离不是特别大的也是可以的,于是试想是不是Python提供了有无穷大的表示方法,查阅文档,果然如此: from random import randrange seq = [randrange(10**10) for i in range(100)] dd = float("i

(转载)你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)

你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11) 3.5.2  字符串类型 使用char类型的变量我们可以表示单个字符,那么,我们又该如何表示拥有多个字符的字符串呢? 我们注意到,一个字符串是由多个字符串连起来形成的.很自然地,一种最简单直接的方法就是利用数组(一种数据组织管理方式,它将多个相同类型的数据元素组织起来,形成一个数据序列以便于访问.更多可以参考后文3.6小节对数组的介绍)来保存一个字符串中的各个字符,最后用一个特

你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)

3.5.2  字符串类型 使用char类型的变量我们可以表示单个字符,那么,我们又该如何表示拥有多个字符的字符串呢? 我们注意到,一个字符串是由多个字符串连起来形成的.很自然地,一种最简单直接的方法就是利用数组(一种数据组织管理方式,它将多个相同类型的数据元素组织起来,形成一个数据序列以便于访问.更多可以参考后文3.6小节对数组的介绍)来保存一个字符串中的各个字符,最后用一个特殊字符'\0'表示字符串的结束,以此来将多个char类型的字符数据串联成字符串.例如: // 定义一个字符数组,用以保存

Java未赋值变量的默认初始值

在 Java 程序中,任何变量都必须经初始化后才能被使用.当一个对象被创建时,实例变量在分配内存空间时按程序员指定的初始化值赋值,否则系统将按下列默认值进行初始化: 数据类型 初始值 byte 0 short 0 int 0 long 0L char 'u0000' float 0.0f double 0 boolean false 所有引用类型 null 注意:一个具有空值“null”的引用不引用任何对象.试图使用它引用的对象将会引起一个异常.