🏡个人主页 :@ 守夜人st
🚀系列专栏:Java
…持续更新中敬请关注…
🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点
✈️推荐一款模拟面试,刷题,从基础走向大场面试👉 开启你的刷题之路吧
Java基础——变量深入
活动地址:CSDN21天学习挑战赛
什么是变量
在对Java基础语法的时候我们就接触到了变量和常量,变量和常量是构成表达式的重要部分,变量所代表的内部是可以被修改的。
变量包括变量名和变量值,变量的声明格式为:
数据类型 变量名 [=初始值];
变量的生命周期
变量的作用域指的是变量的存在范围,只有在这个范围内,程序代码才能访问它。当一个变量被定义时,它的作用域就确定了。变量的作用域决定了变量的生命周期,说明作用域不同,生命周期就不一样。变量的生命周期指的是一个变量被创建并分配内存空间开始,到该变量被销毁并清除其所占内存空间的过程。
变量的类型
变量名要遵守用标识符命名规范,却在相关的作用域中不能有重复的变量名。变量作用域是变量的使用范围,在此范围内变量可以使用,超过作用域,变量内容则被释放,根据作用域不同分为:成员变量和局部变量。
成员变量
成员变量是定义在类体中的变量,而成员变量又被分为实例变量和静态变量。Static修饰的成员变量叫做静态变量(类变量)。
定义不同
静态变量需要Static关键字修饰,而实例变量不需要。
访问不同
实例变量的访问需要通过创建对象,通过“引用.”来访问
静态变量的访问可以直接通过“类.”来访问,也可以通过“引用.”来访问
出现问题不同
实例变量的调用可能会出现空指针异常
静态变量不会出现空指针异常
储存位置不同
实例变量通过创建的对象引用,储存在堆内存中
静态变量随类一起加载,储存在方法区
使用时机不同
创建的对象拥有类中的属性,但是属性值不同时,使用实例变量(例如“姓名”,每个对象的姓名属性值是不一样的)
通过类创建的对象拥有相同的属性值时,建议定义为静态变量,节省内存空间(例如:Student类职业属性值都是“学生”)
局部变量
局部变量的作用域只在方法内有效,局部变量在方法执行时被创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。
不同变量的内存空间
局部变量 | 实例变量 | 静态变量 |
---|---|---|
栈 | 堆 | 方法区(同类加载,属于类,他是一个类级变量) |
算法对程序员来说及其重要,语言和开发平台不断变化,但是万变不离其宗的是那些算法和理论,刷算法最最最直白的原因就是找一个好的工作,那刷题一定是必不可少的
现在算法刷题平台还是蛮多的,给大家介绍一个我认为与大厂关联最深的平台——牛客网 跳转链接