Java的变量与常量

 

目录

变量

声明变量

变量的声明类型

变量的声明方式:变量名

变量名的标识符

初始化变量

常量

关键字final

类常量

总结

变量和常量都是用来存储值和数据的基本数据类型存储方式,但二者之间有一些关键差别。

变量

在Java中,每个变量都有一个类型。

声明变量

在Java中,变量的类型需要在声明时指定,例如整数类型、浮点数类型、字符类型等。

变量的声明方式是:变量名。

变量的声明类型

以下是一些声明变量的示例:

double salary;
long earthPopulation;
boolean done;
int number;
number = 10;
char letter = 'a';

在上面的代码中,声明的变量中有整数类型、浮点数类型、字符类型和布尔值类型。不同的数据类型适用于不同的场景和需求。

※ 需要注意的是:每个声明都以分号结束。由于声明是一个完整的Java语句,而所有Java语句都以分号结束,所以这里的分号是必须的。

变量的声明方式:变量名

声明变量的原则如下:

  • 作为变量名(以及其他名字)的标识符由字母、数字、货币符号以及“标点连接符”组成。第一个字符不能是数字。
  • '+'和'©'之类的符号也不能出现在变量名中,空行也不行。
变量名的标识符

字母:是指一种语言中表示字母的任何Unicode字符。例如,德国用户可以在变量名中使用字母'ä',讲希腊语的人可以使用Π。

数字:包括'0'~'9'和表示一位数字的任何Unicode字符。

货币符号:$、€、¥等。

标点连接符:包括下划线字符_、“波浪线”⏖⏖以及其他一些符号。

 P.S. 实际上大多数程序员都总是使用A~Z、a~z、0~9和下划线_。

  • 字符区分大小写:main 和 Main 是不同的标识符。
  • 标识符的长度基本上没有限制。
  • 不能使用Java关键字作为变量名。
  • 可以在一行中声明多个变量。例如:
int i, j; // both are integers

        不过不提倡这种风格,分别声明每一个变量可以提高程序的可读性。

初始化变量

  • 声明一个变量之后,必须用赋值语句显示地初始化变量,千万不要使用未初始化的变量的值。例如,Java编译器会认为下面的语句序列有错误:

  • 要相对一个已声明的变量进行赋值,需要将变量名放在等号(=)左侧,把适当值得Java表达式放在等号右侧。如下:
int number;
number = 20;
  • 也可以将变量得声明和初始化放在同一行中,如下:
int number = 20;
  • 最后,在Java中可以将声明放在代码中的任何地方。例如,以下代码是合法的:

 在Java中,变量的声明要尽可能靠近第一次使用这个变量的地方,这是一种很好的编程风格。

常量

关键字final

在Java中,可是用关键字final指示常量。例如:

关键字final表示这个变量只能被赋值一次,一旦赋值,在程序运行中就不能再更改其值。 

习惯上,常量名使用全大写。

常量的使用可以提高程序的可读性和维护性,同时也可以防止意外的数值修改。

类常量

在Java中,可能经常需要创建一个常量以便在一个类的多个方法中使用,通常将这些常量称为类常量。可以使用关键字 static final 设置一个类常量。示例如下:

public class Constants2
{public static final double CM_PER_INCH = 2.54;public static void main(String[] args){double paperWidth = 8.5;double paperHeight = 11;System.out.println("Paper size in centimeters: "+ paperWidth * CM_PER_INCH + " x " + paperHeight * CM_PER_INCH);}
}

※ 需要注意的是,类常量的定义位于main方法之外。这样一来,同一类的其他方法也可以使用这个常量。

另外,如果一个常量被声明为public,那么其他类的方法也可以使用这个常量。(如这个例子👆)

对于这个例子,其他类可以通过 Constants2.CM_PER_INCH 使用这个类常量。

总结

总结一下,变量和常量是Java中用于存储和操作数据的基本方式。变量可以随时改变其值,而常量的值是固定不变的。在编写程序时,根据需要选择使用变量还是常量,以实现不同的功能和逻辑。

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

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

相关文章

深入理解TCP三次握手:连接可靠性与安全风险

目录 导言TCP简介和工作原理的回顾TCP三次握手的目的和步骤TCP三次握手过程中可能出现的问题和安全风险为什么TCP三次握手是必要的?是否可以增加或减少三次握手的次数?TCP四次挥手与三次握手的异同点 导言 在网络通信中,TCP(Tra…

sqoop

一、bg 可以在关系型数据库和hdfs、hive、hbase之间导数 导入:从RDBMS到hdfs、hive、hbase 导出:相反 sqoop1 和sqoop2 (1.99.x)不兼容,sqoop2 并没有生产的稳定版本, Sqoop1 import原理(导入) 从传统数据库获取元数据信息&…

8.5day06 框架基础--反射+注解

文章目录 反射获取类的各种信息获取类的字节码文件 注解元注解 复习redis两道算法题 摆烂了,不想学啦!!! 反射 反射主要用来做框架; 学习内容 获取类的各种信息 第一步 加载类,获取类的字节码文件 第二步 获取类的…

Matlab的信号频谱分析——FFT变换

Matlab的信号频谱分析——FFT变换 Matlab的信号频谱分析 FFT是离散傅立叶变换的快速算法,可以将一个时域信号变换到频域。 有些信号在时域上是很难看出什么特征的。但是如果变换到频域之后,就很容易看出特征了。 这就是很多信号分析采用FFT变换的原因…

巨人网络宣布与华为达成鸿蒙生态合作,2024年发布原始征途手游

巨人网络宣布与华为达成鸿蒙生态合作,官方公众号发布的消息确认。 巨人网络与华为宣布战略合作,旨在实现技术互补、成果共享和商业共赢。 巨人网络将利用基于HarmonyOS的核心特性,如“可分可合、自由流转、一次开发多端部署”,创…

如何在终端设置代理(设置jupyter notebook同理)

设置代理 在终端(我用的gitbash)下执行 set HTTP_PROXYhttp://<user>:<password><proxy server>:<proxy port> set HTTPS_PROXYhttp://<user>:<password><proxy server>:<proxy port>其中&#xff1a; user、password&#…

300个智商测试FLASH智商游戏ACCESS数据库

最近在找IQ测试方面的数据&#xff0c;网上大多只留传着33道题这种类型&#xff0c;其他的又因各种条件&#xff08;比如图片含水印等&#xff09;不能弄&#xff0c;这是从测智网下载的一些测试智商的游戏数据&#xff0c;游戏文件是FLASH的&#xff0c;扩展名是SWF。 数据包总…

android studio 实用插件推荐

本文字数&#xff1a;&#xff1a;2352字 预计阅读时间&#xff1a;8分钟 背景 现在做安卓开发的同学基本都是用 Android Studio 了吧&#xff0c;它具有强大的开放性&#xff0c;可以让用户根据自己的需求开发或使用一些插件辅助自己搬砖&#xff0c;当然开发插件我们可能还没…

[oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI

光标位置 回忆上次内容 上次我们研究的比较杂 类型转化进制转化捕获异常版本控制生成帮助文档变量的常用类型变量的生命周期控制 数据类型主要研究了两个 字符串 str 整型数字 int 字符串型 和 整型数字型变量 是可以相互转化的 加法运算逻辑 会根据操作变量的不同 而不同…

vue el-input 使用 回车键会刷新页面的问题

场景&#xff1a; vue项目中 在输入框输入字符并按下回车键搜索时&#xff0c;不会进行搜索&#xff0c; 而是会刷新页面 原因&#xff1a; 当form表单中只有一个input时&#xff0c;按下回车建会自动触发页面的提交功能&#xff0c; 产生刷新页面的行为 解决&#xff1a; 在…

idea 2023 新版ui中git的相关操作

前两个月换了新电脑&#xff0c;下了最新版的idea发现可以切换一套新的ui了 切换新ui肯定不太习惯&#xff0c;很多操作都得重新摸索一下 在这里记录几个git相关的操作 忽略我下面截图中当前项目是js的后端项目…… 切换ui 首先说一下怎么切换新旧版ui&#xff0c;我这里就…

机器学习和深度学习简述

一、人工智能、机器学习、深度学习的关系 近些年人工智能、机器学习和深度学习的概念十分火热&#xff0c;但很多从业者却很难说清它们之间的关系&#xff0c;外行人更是雾里看花。概括来说&#xff0c;人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的&#xff0c;三…

酷开系统 | 酷开科技,让数据变得更有价值!

身处信息时代&#xff0c;我们每个人时刻都在生成、传递和应用数据&#xff0c;数据已经成为了现代社会中宝贵的资源之一&#xff0c;而在人工智能领域&#xff0c;数据更是被称为人工智能的“燃料”。 而在AI的发展中&#xff0c;只有拥有高质量、多样性且充分代表性的数据集…

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock&#xff0c;看完可以吊打面试官 ReentrantLock是什么&#xff0c;有什么作用ReentrantLock的使用ReentrantLock源码解析ReentrantLock#lock方法FairSync#tryAcquire方法NonfairSync#tryAcquire方法 Reentrant…

微信小程序iconfont真机渲染失败

解决方法&#xff1a; 1.将下载的.woff文件在transfonter转为base64&#xff0c; 2.打开网站&#xff0c;导入文件&#xff0c;开启base64按钮&#xff0c;下载转换后的文件 3. 在下载解压后的文件夹中找到stylesheet.css&#xff0c;并复制其中的base64 4. 修改index.wxss文…

Jmeter +Maven+jenkins 接口性能全自动化测试

背景&#xff1a; 首先用jmeter录制或者书写性能测试的脚本&#xff0c;用maven添加相关依赖&#xff0c;把性能测试的代码提交到github&#xff0c;在jenkins配置git下载性能测试的代码&#xff0c;配置运行脚本和测试报告&#xff0c;配置运行失败自动发邮件通知&#xff0c…

高项V4.高级PM.项目集set+项目组合portfolio+组织级OPM+量化项目管理+实践模型

PMI &#xff0c; ITSS 、CMMI 和PRINCE2 等为各类信息系统项目管理提供了最佳实践&#xff0c;井提供了对组织的项目管理能力进行持续改进和评估的方法。 第一部分 项目集--《项目集管理标准>> (第4 版) ---实现项目11>2的更大效益 由项目管理协会(PMI) 出版的《…

快速制作美容行业预约小程序

随着科技的不断进步&#xff0c;移动互联网的快速发展&#xff0c;小程序成为了很多行业迅速发展的利器。对于美容行业来说&#xff0c;一款美容预约小程序不仅可以方便用户进行预约&#xff0c;还可以提升美容店铺的服务质量和管理效率。下面&#xff0c;我们来介绍一下如何快…

C高级第三讲

1、思维导图 2、输入一个文件名&#xff0c;判断是否为shell脚本文件&#xff0c;如果是脚本文件&#xff0c;判断是否有可执行权限&#xff0c;如果有可执行权限&#xff0c;运行文件&#xff0c;如果没有可执行权限&#xff0c;给文件添加可执行权限。 #!/bin/bash read -p …

vue 老项目 npm install 报错Python,c++等相关错误

​​​ 老项目npm install 下载依赖包报错 解决方法&#xff1a; //下载python 1、 npm install --global --production windows-build-tools//配置环境 &#xff1a; 也可暂时不用配置,能用就不用配置&#xff08;npm config set python "D:\Python27\python.exe&q…