Java基础-Java变量的声明和作用域
1 前言
变量是计算机语言中的一个概念,可以表示某个具体数值,并且这个值可以改变,所以叫变量。与之对应的是常量,常量也是用来表示某个数值的,但值是固定的,不能改变。
2 变量的声明
声明变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。
语法:
数据类型 变量名 [=初始值] [,变量名 [=初始值] …]
//声明一个整数类型的变量,变量名为age int age; //对变量进行赋值,变量名为age,值为18 age = 18; //数据类型 变量名 [,变量名......] int age, age1; //数据类型 变量名 [=初始值] [,变量名 [=初始值] ......] int age = 20, age1 =21;
变量名的定义要符合规则,可以包含数字、字母、下划线、$,不能包含空格、运算符,不能用纯关键字命名,不能以数字开头,大小写字母可混用,首字母应小写,后续单词的首字母应大写。对于变量的命名并不是随意的,应遵循以下几条规则:
- 变量名必须是一个有效的标识符(有变量名和数据类型)。
- 变量名不可以使用Java中的关键字。
- 变量名不能重复。
反例:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
_name / __name / $Object / name_ / name$ / Object$
3 变量的作用域
作用域指的是作用范围,变量在什么范围内有效。
由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,也就是说变量有它的生命周期。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。
/** * 这是一个测试类 */ public class TestVar{ //成员变量 int age1 =18; //这是一个方法 public static void main(String [] args){ //局部变量 int age2 = 20; System.out.println(age1); } //这是一个方法 public void hello(){ //变量age1没有超出作用域 System.out.println(age1); //变量age2超出作用域,编译出错 System.out.println(age2); } }
成员变量:定义在类中,方法外
局部变量:定义在方法中
变量的作用范围就是找离变量最近的{}来判断是成员变量还是局部变量。
4 总结
变量其实就是内存中的一个存储空间,用来存储数据。那这么说,声明一个变量=变量空间的开辟,变量的数据类型=这个空间要存储什么数据,变量名称=这个空间叫什么名字,变量的值=这个空间的数据是什么。
到此这篇关于Java基础-Java变量的声明和作用域的文章就介绍到这了,更多相关 Java变量的声明和作用域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot结合ElasticSearch实现模糊查询的项目实践
本文主要介绍了SpringBoot结合ElasticSearch实现模糊查询的项目实践,主要实现模糊查询、批量CRUD、排序、分页和高亮功能,具有一定的参考价值,感兴趣的可以了解一下2024-03-03springBoot 启动指定配置文件环境多种方案(最新推荐)
springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,需要的朋友可以参考下2023-09-09Java源码解析阻塞队列ArrayBlockingQueue功能简介
今天小编就为大家分享一篇关于Java源码解析阻塞队列ArrayBlockingQueue功能简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01spring boot 配置freemarker及如何使用freemarker渲染页面
springboot中自带的页面渲染工具为thymeleaf 还有freemarker这两种模板引擎,本文重点给大家介绍spring boot 配置freemarker及如何使用freemarker渲染页面,感兴趣的朋友一起看看吧2023-10-10解决Springboot @Autowired 无法注入问题
WebappApplication 一定要在包的最外层,否则Spring无法对所有的类进行托管,会造成@Autowired 无法注入。接下来给大家介绍解决Springboot @Autowired 无法注入问题,感兴趣的朋友一起看看吧2018-08-08Springboot使用sharedingjdbc实现分库分表
这篇文章主要介绍了Springboot使用sharedingjdbc实现分库分表,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07
最新评论