Java学习笔记(1.2):Java的变量和常量

(前言:此为笔者初学Java的知识点总结笔记,如有错误、遗漏或其他不足欢迎指正~)

目录

1 变量

1.1 成员变量

1.2 局部变量

2 常量


1 变量

变量是指在程序运行中,其内容可以改变的量。变量包括变量名和变量值,变量的声明格式为:   数据类型   变量名   [=初始值];

变量名要遵守标识符的命名规则,且相同作用域下不能有重复的变量名。

变量的作用域是变量的使用范围,在此范围内变量可以使用,超过作用域,变量内容则被释放。变量根据作用域的不同可分为:成员变量局部变量

1.1 成员变量

成员变量特点如下:

(1)位置及作用域:成员变量定义在类体中、方法体和语句块之外,作用域是整个类(相当于C中的全局变量)。

(2)生命周期:成员变量随着对象的创建而存在,随着对象的消失而消失。(其中静态成员变量随着类的加载而加载,随着类的消失而消失)

(3)初始化值:成员变量有默认的初始化值(整型默认值0,浮点型默认值0.0f/0.0d,字符型默认值u0000,布尔型默认值false,引用类型默认值null)

静态成员变量

静态成员变量,指用关键字static修饰的特殊成员变量(以下简称为 静态变量)。静态变量属于类,也称为类变量;普通成员变量属于类的对象,也称为实例变量

普通成员变量只能被对象所调用(对象名.成员变量名) ;而静态变量既可以被对象调用(对象名.静态变量名) ,也可以被类名调用(类名.静态变量名)。

1.2 局部变量

局部变量特点如下:

(1)位置及作用域:局部变量定义在方法体或if/for/while等语句块之中,作用域是整个方法

(2)生命周期: 局部变量随着方法的调用而存在,随着方法的调用完毕而消失。

(3)初始化值:局部变量没有默认的初始化值,必须先定义并赋值,然后才能使用。

代码演示:成员变量(静态变量)和局部变量的主要区别

public class Variable {
	
	int m;  //声明成员变量m (无须初始化)
	static int n;  //声明静态成员变量n
	
	public static void main(String[] args) {
		
		int x;   // x = 10;  //声明main方法中的局部变量x
		float f = 3.14f;   //声明main方法中的局部变量f
		
		System.out.println("变量x="+x);  //编译错误,因为局部变量x未初始化
		System.out.println("变量f="+f);
		
		if(f<5) {
			int y = 8;   //声明if中的局部变量y
		}
		System.out.println(y); //编译错误,因为超出局部变量y的作用域
		
		/*          *************** ***************              */
		
		//main方法可直接调用类中的静态变量n,也可通过类名调用
		System.out.println(n);
		Variable.n = 100;
		
		//main通过类的对象调用(非静态)成员变量m,也可用对象调用n
		Variable variable = new Variable();
		variable.m = 50;
		variable.n = 50;
		variable.func();
	}
	
	//类中其他(非静态)方法可直接调用m,n
	public void func() {
	System.out.println("成员变量m="+m); 
	System.out.println("静态变量n="+n);
	}
}

2 常量

常量那些内容不能被修改的变量,常量需要初始化,且常量一旦初始化就不可以被修改。常量的声明格式为:  final 数据类型 变量名  =  初始值;

(final 关键字表示最终的,它可以修饰很多元素,修饰变量就变成了常量)

 常量可分为三种:成员常量,局部常量和静态常量。

(1)成员常量:定义位置、作用域和生命周期都类似于成员变量,但其值不可被修改。

(2)局部常量:定义位置、作用域和生命周期都类似于局部变量,但其值不可被修改。

(3)静态常量:类似于静态变量,用static修饰,可通过类或类的对象调用它。

 代码演示:三种常量的代码示例

public class Constant {
	
	final int n = 10;   //声明Constant类的成员常量n 
	static final double PI = 3.14159;  //声明Constant类的静态常量PI
	
	public static void main(String[] args) {
		final float x = 3.33f;  //声明main方法中的局部常量x
		
		//main方法通过类名调用静态常量PI
		System.out.println("静态常量PI="+Constant.PI);  //也可直接调用PI
		
		//main方法通过对象名调用成员常量n和静态常量PI
		Constant const = new Constant();
		System.out.println("成员常量n="+const.n);
		System.out.println("静态常量PI="+const.PI);
		
		//main方法通过类名调用其他类中的静态常量
		System.out.println("静态常量e="+Test.e);
	}

}

class Test{
	public static final double e = 2.71828;  //Test类中声明(公共)静态常量e
}


/* 输出:
静态常量PI=3.14159
成员常量n=10
静态常量PI=3.14159
静态常量e=2.71828
*/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值