您的位置:首页 > 编程语言 > Java开发

java中声明变量和初始化变量的相关感想

2016-11-09 15:32 260 查看
1、定义基本类型变量时

(1)定义局部基本类型变量

定义局部变量时,在使用该变量之前必须对其进行赋值初始化,否则编译器会报错,建议声明变量和赋值同时进行。

(2)定义类全局基本类型变量
无论是静态全局变量还是动态全局变量,在创建对象new object()之时,系统会自动对全局基本类型变量进行初始化,除了定义全局变量之时就对其初始化之外。

2、定义非基本类型变量时,如String List 或其他自定义类

(1)局部变量时

同基本类型变量一样,使用前必须对其进行初始化,否则编译器会报错。

(2)全局变量
若只是声明变量,如String s, List l, object o,创建对象时,会将其赋值为null
若声明变量的同时并进行初始化,String s=new String();List l=new List();object o=new object();此时会指向一片对象内存区域,不再为null, 如String为空串,List为空list,object为系统初始化内容。

总结:局部变量使用前,必须进行初始化,否则编译器会报错。全局变量使用前若没有手动初始化,系统会自动对其进行初始化。对于基本类型,系统会为其赋值(int型=0,short型=(short)0,byte=(byte)0,boolean型=false,long型=0L,char型=‘\u0000’或null,float型=0.0f,double型=0.0),对于非基本数据类型会赋值为null(初始化了除外)

String s=new String();String类型初始化值为""空串

List l=new List();List类型初始化值为[]空list但不是nul。
其他自定义object o=new object();初始化值指向创建改对象的内存区域。

import java.util.ArrayList;
import java.util.List;
public class test
{
public static void main(String[] args)
{
MyTest mt=new MyTest();
System.out.println(mt);
}
}
class MyTest
{
int a;

long b;
String c=new String();
char d;
List list=new ArrayList();
MyTest1 mt1=new MyTest1();
public String toString()
{
return "MyTest[a="+a+",b="+b+",c="+c+",d="+d+",list="+list+",mt1="+mt1+",MyTest2.f="+MyTest2.f+"]";
}
}

class MyTest1
{
int e;
public String toString()
{
return "MyTest1[e="+e+"]";
}
}

class MyTest2
{
static int f;
}

输出结果为:MyTest[a=0,b=0,c=,d= ,list=[],mt1=MyTest1[e=0,],MyTest2.f=0]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息