java 1.10 - 变量

变量

定义 : 可变的量
在java程序执行过程中,其值会发生改变的量
在内存中,开辟一块空间,用来存放指定数据类型的数据

语法:

1.声明的同时赋值

数据类型 变量名 = 变量值;

2.先声明后赋值

数据类型 变量名;
变量名 = 变量值;

一行同时声明多个变量 int i,j,k;

示例:

int i = 5;
int j = 1, k, l;
k = 3;

注意: =赋值是java中唯一一个自右向左运算的符号

变量关注的点:

  • 1.变量的数据类型
  • 2.变量名字 (遵循标识符的命名规则和规范)
  • 3.变量的值 (和数据类型一致)
  • 4.作用域: { }
  • 5.同一作用域中的变量不能同名

注意事项(输出时||运算时):

  • 1.变量必须提前声明
  • 2.使用变量前要赋值(静态变量和成员变量有默认值)
  • 3.在其作用域范围内才能使用,变量只能指向一个值

变量的分类:

类变量||静态变量

位置: 类中方法外语句块外

  • 被static修饰
  • 可被访问修饰符修饰
  • 跟随类

无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。也就是地址不会变
静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量
与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。

静态变量除了被声明为常量外很少使用。常量是指声明为public/privatefinalstatic类型的变量。常量初始化后不可改变。
只声明未赋值,存在默认值

仅声明数据类型所对应的默认值

int → 0
double → 0.0
boolean → false
String → null
char → ' '
(char类型默认值是空格不是空字符串) 

成员变量||实例变量||域:

位置:类中方法外语句块外

  • 不被static修饰
  • 可被访问修饰符修饰
  • 跟随对象创建和销毁 对象被实例化成员变量的值也会被确定 new

实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;

未赋值的成员变量有默认值

int → 0
double → 0.0
boolean → false
String → null
char → ' '
(char类型默认值是空格不是空字符串) 

局部变量:

位置:方法中语句块内定义的变量

  • 不能被static修饰(修饰即变为类变量)
  • 不能被被访问修饰符修饰 (作用域问题)
  • 局部变量跟随方法、构造方法、或者语句块 创建和销毁
  • 使用前必须声明并且已赋值

三种变量对比

以上三种变量都能被final修饰但必须赋值

名称位置作用范围static访问修饰符使用内存位置
类变量 静态变量类中方法外 语句块外可被修饰可被修饰声明静态存储区
成员变量 实例变量类中方法外 语句块外对象被修饰就变成类变量可被修饰声明且有对象
局部变量方法内 语句块内方法 语句块不可被修饰不可被修饰声明且赋值

简单的示例:

public class Test {
	
	// 类变量||静态变量
	static int i;//有默认值
	private int i1 = 3;
	final int I2 =4; //被final修饰必须赋值 => 常量
	
	// 成员变量
	int j;// 创建对象之前没有默认值 不能使用
	private int j1;
	public int j2 = 3;
	final int J3 = 5;//被final修饰必须赋值 => 常量

	public static void main(String[] args) {
		
		// 局部变量 实例变量 {语句块 } 方法中
		int k = 5;
		int k1;//使用时必须先赋值		
		final int K2;//使用时必须先赋值	
		K2 = 2;//可后赋值 且无法与上一行交换顺序
	
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值