Java中的变量与常量

标识符

Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符也不能是Java中的关键字(保留字)。

在Java语言中,标识符的字母是严格区分大小写的,如good和Good是不同的两个标识符。Java语言使用Unicode标准字符集,最多可以标识65535个字符。因此,Java语言中的字母不仅包括通常的拉丁文字a、b、c等,还包括汉语、日语以及其他许多语言中的文字。

关键字

关键字又称保留字,是Java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符使用。

声明变量

变量的使用时间程序设计中一个十分重要的环节。声明变量就是要告诉编译器这个变量的数据类型,这样编译器才知道要分配多少的空间给它,以及它能存放什么样的数据

int age;
char char1 = 'r';

系统的内存大略可以被分为三个区域,即系统(OS)区、程序(program)区、数据(data)区

当执行程序时,程序代码会被加载到内存的程序区中,数据暂时被存储在数据区中,假设上述两个变量被定义在方法体中,则程序被加载到程序区中,当执行此行程序代码时,会在数据区配置空间给出这两个变量。

以下是变量的命名规则: 

虽然在Java中允许使用汉字和其他语言作为变量名,但是建议尽量不要使用这些语言文字作为变量名。

在Java10中,提供了一个方便好用的新特性:
使用var声明局部变量

var 变量名称 = 值

 var是关键字,相当于一种动态类型,编译器会根据赋给变量的值推断变量的类型,因此使用var声明局部变量时必须赋值。

声明常量

在程序运行过程中一直不会改变的量被称为常量,通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。

final 数据类型 常量名称 [= 值]

例如:

final double PI = 3.1415926D;

 当变量被final修饰时,该变量就变成了常量,必须在定义时就设定它的初值,否则将编译错误。

变量的有效范围

由于变量被定义出来后只是暂存在内存中,等到程序执行到某个点,该变量就会被释放掉,也就是说变量有它的生命周期,因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

成员变量

在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。

class Demo{int x = 45;static int y = 90;
}

 其中,x为实例变量,y为静态变量(也被称为类变量)。静态变量的有效范围可以跨类,甚至可以达到整个应用程序之内。静态变量除了能在声明它的类内存取,还可以直接“类名.静态变量”的方式在其他类内使用。

局部变量

在类的方法体中声明的变量(方法内部定义,在“{”和“}”之间的代码中声明的变量)。局部变量只在当前代码块中有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637520.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载均衡——华为云ELB

登陆华为云--点击控制台 首先购买弹性云服务器ECS (能省则省) 基础配置 网络配置 高级配置 (购买两台) 点击购买 在安全组开放了一个端口9090 分别登陆两台后端服务器,打开http服务于9090端口 用 nohup python …

Spark集群的搭建

1.1搭建Spark集群 Spark集群环境可分为单机版环境、单机伪分布式环境和完全分布式环境。本节任务是学习如何搭建不同模式的Spark集群,并查看Spark的服务监控。读者可从官网下载Spark安装包,本文使用的是spark-2.0.0-bin-hadoop2.7.gz。 1.1.1搭建单机版…

4.9 启动系统任务❤❤❤

有一些特殊的任务需要在系统启动时执行,例如配置文件加载、数据库初始化等操作。 Spring Boot对此提供了两种解决方案:CommandLineRunner和ApplicationRunner。 CommandLineRunner和ApplicationRunner基本一致,差别主要体现在参数上。 1. Co…

代码随想录第42天|416. 分割等和子集

416. 分割等和子集 416. 分割等和子集 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集_哔哩哔哩_bilibili 给你一个 只包含正整数 的 非空 数组…

[NISACTF 2022]鸣神的国土

第一次接触汇编语言 要用到kali虚拟机 as命令将汇编代码编译为二进制代码,让再用gcc编译成程序,再次用ida打开即可

gradle安装和部署

准备工作 下载地址:https://gradle.org/releases/ 安装和配置环境变量 将压缩包解压到/usr/local/目录下 unzip gradle-8.7-bin.zip -d /usr/local/找到gradle的安装目录/usr/local/gradle-8.7 编辑/etc/vi /etc/profileprofile配置环境变量(这是ce…

【五十七】【算法分析与设计】IndexTree,IndexTree的作用,IndexTree流程,IndexTree代码

IndexTree作用 给你一个nums数组,实现查询区间和操作单点更新nums数组操作。 可以使用IndexTree结构实现这两个操作。 IndexTree流程 1. IndexTree的大小和nums数组大小相同。 2. IndexTree下标必须从1开始,为了方便也将nums数组的下标一一对应。 …

【学习笔记十九】EWM Yard Management概述及后台配置

一、EWM Yard堆场管理业务概述 1.Yard Management基本概念 YARD管理针对的是库房以外的区域,可以理解为入大门开始到库门之前的这部分的区域 堆场结构 像在仓库中一样,将相应仓位映射为堆场仓位,可将其分组到堆场分区。场地中可能具有以下结…

C++相关概念和易错语法(5)(析构函数、拷贝构造、运算符重载、赋值重载)

上篇文章分享了一些构造函数和析构函数的易错点,这篇文章则将继续分享一些构造函数、拷贝构造函数的易错点。 1.变量声明处赋缺省值 我们已经知道了自动构造函数的初始化规则了。我们可以认为这个初始化规则比较保守,能不修改成员变量的值就不修改&…

大厂高频面试题:ReentrantLock 与 synchronized异同点对比

写在开头 在过去的博文中我们学习了ReentrantLock 与 synchronized这两种Java并发使用频率最高的同步锁,在很多大厂面试题中有个经典考题: ReentrantLock 与 synchronized异同点对比! 今天我们针对这一考题来做一个尽可能全面的总结哈。 Re…

UML/SysML建模工具更新情况-截至2024年4月(1)5款-Trufun建模平台 v2024

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本:itemis CREATE 5.2.2 更新时间 2024年3月22日 工具简介 原名YAKINDU Statechart Tools。状态机建模工具,支持各种语言的代码生成,提…

B2024 输出浮点数 洛谷题单

首选需要进行了解的就是%a.bf所代表的含义就行了,直接莽了,没啥解释的笑脸🙄 在 Python 中,%a.bf 中的参数 a 和 b 是用来格式化浮点数的输出的,具体含义如下: a 表示总输出宽度,包括小数点、…