Java基础:变量与常量

Java变量与常量

变量

  • 变量:可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

语法

[修饰符] 类型 变量 [=表达式]{,变量 [=表达式]}

可以使用逗号隔开来声明多个同类型变量。

例如:

int x,y,z;	//声明三个整型变量
int count = 0, sum = 1;	//声明两个整型变量并初始化

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary
  • 局部变量:首字母小写和驼峰原则:lastName
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Demo,UserService
  • 方法名:首字母小写和驼峰原则:get(),getScore()

作用域

  • 类变量:独立于方法之外的变量,用 static 修饰

  • 实例变量:独立于方法之外的变量,没有 static 修饰

  • 局部变量:在方法体内或在{}内的变量

  • 参数变量:在方法声明的()中的变量

  • 成员变量:在一个类内但在方法之外的变量,类变量实例变量统称成员变量

public class Demo {
    //成员变量
        //1.类变量:从属于这个类  static修饰
        static int salary = 2500;
        //2.实例变量:从属于对象;如果不进行初始化,为默认值
        String name;

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 0;
    }
    //其他方法
    public void method(int salary/*参数变量*/) {
    }
}
类变量
  • 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  • 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
  • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
  • 静态变量在第一次被访问时创建,在程序结束时销毁。
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
  • 默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  • 静态变量可以通过:ClassName.VariableName的方式访问。
  • 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。
实例变量
  • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
  • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
  • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
  • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
  • 实例变量可以声明在使用前或者使用后;
  • 访问修饰符可以修饰实例变量;
  • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
  • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
  • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。
局部变量
  • 局部变量声明在方法、构造方法或者语句块中
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁
  • 访问修饰符不能用于局部变量
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在栈上分配的
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用

常量

  1. 定义:常量的值一旦被定义,在程序中就不可改变了

  2. 格式:常量有两种常见的形式

    • 一种是直接使用数据类型的具体值参与程序编程
    int k = 6;
    int i = 6 * k;
    
    • 另一种是以标识符形式出现的常量。这种使用方式需要常量定义过程,先声明后使用。常量的声明和变量的声明类似,只是需要用关键字final标识常量
    final 类型 常量名 =;
    例如:
    final double PI = 3.1415926;
    final char S = 'A';
    

注意:

  1. Java语言约定常量标识符全部用大写字母表示,如PI
  2. 常量标识符一旦声明,就不能在做他用
  3. 如果常量值有特殊含义而且反复用到的话,使用常量的符号表示法更加方便。这种方式不仅提高了程序的可读性,并且便于维护,只需要修改一处常量值,整个程序即可使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值