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.mzph.cn/web/1436.shtml

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

相关文章

golang封装发送邮件的代码

golang封装一个发送邮件的代码 golang发送邮件非常简单,下面是一个封装好的代码,只需要把这两个文件放到一个包里,就可以直接使用 email.go package emailimport ("context""github.com/go-playground/validator/v10"…

环境监测系统--------MQ系列气体检测模块驱动教程(保姆级教程)

⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩在环境检测中我们经常会用到检测气体的传感器,检测乙醇、甲烷、一氧化碳、氢气等等,博主呕心沥血对MQ系列传感器做一个史上最详细的使用教程…

网络安全产品---堡垒机

what 在网上搜索 运维审计与风险控制系统就是是堡垒机 我认为的堡垒机就是提供高效运维、认证管理、访问控制、安全审计和报表分析功能的云服务设备 实现高效运维的同时最大程度控制运维风险。 how 能够对运维人员维护过程进行全面跟踪、控制、记录、回放 支持细粒度配置…

政企版 WPS Pro 专业版注册安装教程

政企版 WPS Pro 专业版安装及激活步骤 第 1 步:下载压缩包(内含注册码)【无解压密码】。 第 2 步:解压缩后,运行 exe 文件,默认步骤安装即可。 第 3 步:安装完成后,新建一个 Word …

【AI面试】工作和面试过程中,经常遇到的其他问题汇总二(持续更新)

本篇是延续第一篇:【AI面试】工作和面试过程中,经常遇到的其他问题汇总一(持续更新) 如果你还没有看过上一篇文章,建议先去看看,尽管这两篇文章没有什么交集。 一、在CNN和transformer的训练过程中,学习率的调整,有什么经验? 在训练卷积神经网络(CNN)和Transform…

使用QQ邮箱进行登录验证

使用场景不多说,接下来直接看实现~ 登录到QQ邮箱,进入设置 打开IMAP/SMTP服务,记得把授权码记录下来,后面配置文件中需要用到 新建application的配置文件 spring:mail:# 指定邮件服务器地址host: smtp.qq.comusername: 你自己的q…

ROS 2边学边练(31)-- 管理大工程

前言 往往现实中的工程都是会包含很多节点很多参数很多主题的那种,如果单独通过各种ros2 run命令进行启动管理,恐怕难以招架,主要还是通过launch文件的方式进行管理,而launch文件也可以像节点那样按功能的不同模块化,最…

【学习】黑盒测试用例设计方法都有哪些

在软件测试中,黑盒测试是一种重要的测试方法,它专注于软件的外部行为,而不关心其内部结构和实现。黑盒测试的目标是确保软件的功能符合需求规格说明书中的要求。为了有效地进行黑盒测试,需要设计合理的测试用例。本文将详细介绍黑…

RocketMQ的设计理念和目标

一、设计理念: RocketMQ设计基于主题的发布与订阅模式,其核心功能包括消息发送、消息存储(broker)、消息消费,整体设计追求简单与性能统一,主要体现在以下三个方面。 1.1、NameServer设计,摒弃…

excel文件预览: luckyexcel+luckysheet

luckyexcel 使用 npm i luckyexcel --saveluckysheet 使用 luckysheet文档 克隆Luckysheet源码到本地 git clone https://github.com/dream-num/Luckysheet.git安装依赖 npm install npm install gulp -g 开发 npm run dev打包 npm run build本地引入 npm run build 后 …

Ansible 连接受控端sudo超时

最近在装Ansible,有一台受控端负载重,响应慢。当用Ansible连接它时,总是提示超时。 现象 主控端 执行脚本 ansible 192.168.5.37 -m shell -a ip a| grep 192.168.192.168.5.37 | FAILED | rc-1 >> Timeout (12s) waiting for priv…

【Android】Activity task和Instrumentation杂谈

文章目录 activity taskInstrumentation机制参考 Android不仅可以装载众多的系统组件,还可以将它们跨进程组成ActivityTask,这个特性使得每个应用都不是孤立的。 activity task 从数据结构角度看,Task有先后之分,源码实现上采取了…

基于SpringBoot+Vue钢材销售管理系统的设计与实现

系统介绍 为了更好地发挥本系统的技术优势,根据钢材销售管理系统的需求,本文尝试以B/S经典设计模式中的Spring Boot框架,JAVA语言为基础,通过必要的编码处理、钢材销售管理系统整体框架、功能服务多样化和有效性的高级经验和技术…

高级IO简介

一、非阻塞IO 阻塞其实就是进入了休眠状态,交出了 CPU 控制权。 普通文件的读写操作是不会阻塞的,不管读写多少个字节数据, read() 或 write() 一定会在有限的时间内返回,所以普通文件一定是以非阻塞的方式进行 I/O 操作&…

【Visual Studio 2012中文版】下载安装以及使用方法

文章目录 前言一、下载安装包二、安装步骤1.双击VS2012_ULT_chs.iso文件打开2.双击vs_ultimate.exe打开安装程序3.选择要安装的功能4.软件正在安装,请耐心等待10分钟5.安装成功,点击“启动”6.激活码(产品密钥) 三、VS2012使用&am…

CRMEB Pro版营销功能规则解读

现在,无论是中小型企业拓宽渠道,还是传统企业转型,基本都在考虑布局线上,做微商城是一大趋势,相比传统第三方电商平台,独立部署的商城系统自主性更强,功能开发也更灵活。其中,作为电…

Java基础----字节流和字符流

1.使用字节流拷贝文件夹 import java.io.*;public class Tset01 {public static void main(String[] args) throws IOException {//拷贝一个文件夹,考虑子文件夹//E:\hello -> E:\aaaFile srcnew File("E:\\hello");File destnew File("E:\\dest…

英语写作中available容易忽略的用法

Available 的一般用法没有问题,但它的下面用法容易被我们忽略。 比较下面两句: There is no water. There is no water available. 这两句都翻译为“没有水”,但上一句的意思就是“没有水”,而下一句意味着“需要水但没有水”…

vue3 -- 项目使用自定义字体font-family

在Vue 3项目中使用自定义字体(font-family)的方法与在普通的HTML/CSS项目中类似。可以按照以下步骤进行操作: 引入字体文件: 首先,确保你的字体文件(通常是.woff、.woff2、.ttf等格式)位于项目中的某个目录下,比如src/assets/font/。 在全局样式中定义字体: 在你的全局…

[阅读笔记25][WebArena]A Realistic Web Environment for Building Autonomous Agents

这篇论文提出了WebArena这个环境与测试基准,在24年1月发表。 之前的agent都是在一些简化过的合成环境中测试的,这会导致与现实场景脱节。这篇论文构建了一个高度逼真、可复现的环境。该环境涉及四个领域:电子商务、论坛讨论、软件开发和内容管…