java变量默认值

Java 语言要求变量遵循先定义,再初始化,然后使用的规则。变量的初始化是自从变量定义以后,首次给它赋初值的过程。

一、成员变量

JVM将为类的instance和static变量赋上缺省值(默认值),包括数组array中的每一个元素--而不用再写初始化赋值语句。final变量没有默认值,必须在构造器结束前赋值。

默认值如下:

1、整数类型(byte、short、int、long)默认值为0。

2、单精度浮点型(float)默认值为0.0f。

3、双精度浮点型(double)默认值为0.0d。

4、字符型(char)默认为 “/u0000”。

5、布尔性默认值为 false。

6、引用类型默认值为 null。

7、数组引用类型默认值为 null。如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。

这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动了一遍。

情况一:

public class Foo {
   private int count=0;   //多余
   private static boolean dd=false; //多余
    public Foo()
    {
        super();
    }
}

情况二:

public class Foo {
   private int count;
   private static boolean dd;
    public Foo()
    {
        super();
        count=0;   //多余
        dd=false;   //多余

    }
}

二、局部变量

局部变量是没有缺省值的,必须手动初始化!

如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。

注:如果局部变量没有被初始化,并且在方法中一直没有被使用,则编译和运行都会通过。

public void method(){

	int a;

	a++;//编译出错,变量a 必须初始化

	System.out.println(a);

}
public void method2(){

	int x = (int)(Math.random() * 100);

	int y;

	int z;

	if(x > 50){

		y = 9;

	}

	z = y + x;//编译出错,变量y可能没有被初始化

} 
时间: 2024-12-12 13:23:37

java变量默认值的相关文章

java的成员变量默认值

如果我们不做任何初始化工作,变量具有什么默认值,或者是否具有默认值呢?其实,成员变量在创建时,系统会为其分配一个默认值.不同类型的变量,默认值也不相同,下面来看看各种类型的默认值分别是什么. 用例子来说明:先输入一个java代码(这里只包括了实例变量) class Text1 { // 实例成员变量 private boolean bool; private byte b; private short s; private char c; private int i; private long

Java成员变量默认值

Java中明确规定:1.如果是引用型的,比如:String,还有类对象,他们的默认值都是:null:2.而如果是值类型:double,int,long,float,char等等,他们都是:0:还有一个,boolean,默认值是:false. Boolean falseChar '\u0000'(null)byte (byte)0short (short)0int 0long 0Lfloat 0.0fdouble 0.0d 如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他

Java中初始变量默认值

Java语言中有8种基本数据类型,基本情况汇总如下: 序号 数据类型 大小/位 封装类 默认值 可表示数据范围 1 byte(位) 8 Byte 0 -128~127 2 short(短整数) 16 Short 0 -32768~32767 3 int(整数) 32 Integer 0 -2147483648~2147483647 4 long(长整数) 64 Long 0L -9223372036854775808~9223372036854775807 5 float(单精度) 32 Flo

关于java中属性变量默认值的问题。

主要分为两种 1.全局变量 char '/u0000' byte 0 short 0 int 0 long 0L float 0.0f double 0.0d boolean false 以上8种基本数据类型的默认值. 引用数据类型的默认值为null. 举例如下: 在平常的jdbc访问数据库的过程中,如果通过实体对象映射数据映射操作数据库,由于一些错误原因,其中实体对象中有引用数据类型的变量时没有给其赋值, 默认就是null,如果有null值参与数据库的操作,那么访问的过程中就会报SQL语句异常

java基础 javaBean对象成员变量默认值及数组默认值

public class StudentTest { private int id; private String name; int[] arr; public int[] getArr() { return arr; } public void setArr(int[] arr) { this.arr = arr; } public int getId() { return id; } public void setId(int id) { this.id = id; } public St

接口测试-postman 环境变量默认值

添加环境变量:便于参数的使用 1.添加变量 举个例子:天气查询api 默认城市是当前所在:https://tianqiapi.com/api?version=v1&appid=43357849&appsecret=uPsNuGL2 选择city参数修改城市: https://tianqiapi.com/api?version=v1&appid=43357849&appsecret=uPsNuGL2&city=上海 将city参数添加到环境变量中 2.局部变全局 环境

java interface 默认值

/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2010, Red Hat Inc. or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contri

selenium java清空默认值方法

public ReleaseRequirePage setContactNumber(String phoneNum) { WebElement element=tp.xpathLocator(TradingHallLoc.acontactNumber); element.click(); element.sendKeys(Keys.chord(Keys.CONTROL, "a"));//全选 element.sendKeys(Keys.BACK_SPACE);//退格键删除 elem

java——变量分类

java中变量的分类可以按照两种不同的方向进行分类:按被声明的位置划分.按照所属的数据类划分.下面就具体解析一下这两种分类. 按被声明的位置划分 局部变量:方法和语句块内定义的的变量. 在定义局部变量时,必须对其进行初始化. 成员变量:方法外部,类的内部定义的变量. 成员变量可以是java语言中任何一种数据类型(包括基本类型和引用类型) 在定义成员变量时对其进行初始化,如果不进行初始化,java使用默认值对其进行初始化. 按所属的数据类型划分 基本数据类型 内存分析.例如'int i=0;',在