JavaSE第三章 变量

变量

1.1 字面量

  • 软件执行过程中最主要就是对数据的处理,软件在处理数据之前需要能够表示数据,在Java代码中,用字面量表示数据
  • 字面量就是数据,数据就是字面量
    整型:10 100 123
    浮点型:1.34 3.14 2.0
    布尔型:true,false
    字符型:‘a’ ‘国’
    字符串型:“a” “abc” “国” “中国”
  • 字符型与字符串型都是描述了现实世界中的文字,所有的字符型只能使用单引号括起来,所有的字符串型只能使用双引号括起来。字符型一定是单个字符,字符串型可以是多个字符,也可以是一个字符
    10:整数,是一个数字
    “10”:它不是数字,是一个字符串,或者说,它属于“文字类”
  • 性质完全不同,在计算机中对应的二进制码也是完全不同的

1.2 变量

  • 变量名属于标识符

1.2.1 变量的理解

  • 只有字面量是不够的,内存无法重复使用,使用变量后,内存空间得到复用
  • 什么是变量?
    变量就是内存中最基本的存储单元,而且这个数据是可变的,所以叫做变量(内存空间大小由数据类型决定

1.2.2 变量的使用

  • 语法格式:
    数据类型 变量名
  • 变量的三要素
    数据类型(决定内存空间大小)、变量名(方便访问)、值 (变量保存的数据,就是字面量)
    int i = 2 在内存中的表示:00000000 00000000 00000000 00000010
  • Java中的局部变量必须先声明,再赋值才能访问(必须手动赋值)。赋值运算符:"=","="右边(字面量)先执行,执行完成后赋值给左边的变量
    Java中的成员变量如果没有赋值,会有默认值,规则和数组一样
  1. 可以在一行上声明多个变量:
int a, b, c = 100;    //a、b没有赋值,c赋值
  1. 可以这样每个都赋值:
int a = 10, b = 20, c = 100;
  1. 声明和赋值可以分开,也可以一起:
int i;
i = 100; // 先声明再赋值
int k = 200; // 声明的同时赋值
  1. 在“同一个域”当中,变量名不能重名,但可以重新赋值(不规范简记:一个大括号代表一个域)
{
	int i = 100;
	//double i = 2.0; // 重名了编译器会报错,不允许
	i = 300; // 可以重新赋值
}
  • 方法体当中的代码遵循自上而下的顺序依次逐行执行

1.2.3 变量的分类

链接: Java 变量严格分类及汇总

  • 根据声明的位置不同可以分为:
    方法体当中声明的变量叫做局部变量
public static void main(String[] args){
	//局部变量,方法执行结束之后内存释放
	int k = 100;
	int i = 200;
}

方法体外类体内声明的变量叫做成员变量

public class T{
	public static void main(String[] args){
	}
	// 成员变量
	int i = 200;
}
  • 成员变量声明时如果使用 static 关键字修饰的为静态成员变量(简称静态变量),如果没有 static 关键字修饰则称为实例成员变量(简称实例变量)
public class Test {
	int x = 1;     // 实例变量
	static int y = 2;     // 静态变量
	public static void sum(int a, int b) {     // 局部变量 a 和 b
		int z = 100;     // 局部变量
	}
}
  • 成员变量与局部变量的区别
  1. 内存位置不一样
    局部变量:位于栈内存
    成员变量:位于堆内存
  2. 定义的位置不一样
    局部变量:在方法的内部
    成员变量:在方法的外部,直接写在类当中
  3. 作用范围不一样
    局部变量:只有方法当中才可以使用,出了方法就不能再用了
    成员变量:整个类都可以通用
  4. 默认值不一样
    局部变量:没有默认值,如果要想使用,必须手动进行赋值
    成员变量:如果没有赋值,会有默认值,规则和数组一样
  5. 生命周期不一样
    局部变量:随着方法进栈而诞生,随着方法出栈而消失
    成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失

1.2.4 变量的作用域

  • 什么是作用域?
    变量的有效范围
  • 变量的作用域:
    简记:大括号之内
  • Java就近原则:
    离谁进访问哪个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jayco江柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值