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中用于存储和操作数据的基本方式。变量可以随时改变其值,而常量的值是固定不变的。在编写程序时,根据需要选择使用变量还是常量,以实现不同的功能和逻辑。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人脸识别场景下Faiss大规模向量检测性能测试评估分析

在前面的两篇博文中,主要是考虑基于之前以往的人脸识别项目经历结合最近使用到的faiss来构建更加高效的检索系统,感兴趣的话可以自行移步阅读即可: 《基于facenetfaiss开发构建人脸识别系统》 Facenet算法的优点:高准确率&#…

Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓

文章目录 一、电脑信息二、打开任何来源设置三、更改应用程序拓展属性 一、电脑信息 我的是新版的Venture 13的系统。UI改的比较多。与之前的配置还是有很大的区别的。 打开下载的软件,显示已经损坏,打不开。抛开软件本身的问题外,一般是Ma…

第一百二十二天学习记录:C++提高:STL-vector容器(上)(黑马教学视频)

vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新的空间,而是找更大的内…

PHP国外在线教育系统源码 在线课程系统源码 直播课程系统源码提供在线课程,现场课程,测验

Proacademy是在线教育一体化的解决方案,用于创建类似于Udemy、Skillshare、Coursera这种在线教育市场。 这个平台提供在线课程,现场课程,测验等等,并有一个基于实际业务需要的高级认证插件,程序基于Laravel强大的安全框…

Spring Boot 中自动装配机制的原理

问题描述 自动装配,简单来说就是自动把第三方组件的 Bean 装载到 Spring IOC 器里面,不需 要开发人员再去写 Bean 的装配配置。 在 Spring Boot 应用里面,只需要在启动类加上SpringBootApplication 注解就可以实现自动装配。 SpringBootAppli…

小程序学习(四):WXML模板语法

WXML模板语法-数据绑定 1.数据绑定的基本原则 ①在data中定义数据 ②在WXML中使用数据 2.动态绑定属性 WXML模板语法-事件绑定 3.什么是事件 4.小程序中常用的事件 5.事件对象的属性列表 6.target和currentTarget的区别 7.bindtap的语法格式 8.在事件处理函数中为data中的数据…

11.物联网操作系统内存管理

一。STM32编译过程及程序组成 STM32编译过程 程序的组成、存储与运行 MDK生成的主要文件分析 1.STM32编译过程 1.源文件(Source code)--》目标文件(Object code) .c(C语言)通过armcc生成.o,.s(汇编&…

xcode 的app工程与ffmpeg 4.4版本的静态库联调,ffmpeg内下的断点无法暂停。

先阐述一下我的业务场景,我有一个iOS的app sdk项目,下面简称 A ,以及运行 A 的 app 项目,简称 A demo 。 引用关系为 A demo 引用了 A ,而 A 引用了 ffmpeg 的静态库(.a文件)。此时业务出现了 b…

Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP

概述 ijkplayer: Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support. 官方的描述就这么简单的一句话,但丝毫都不影响它的强大。 从LibVLC 到 ijkplayer 截止到2023.7.20 LibVLC-Android 最大的问题在与OOM,测试了…

【Spring框架】Spring AOP

目录 什么是AOP?AOP组成Spring AOP 实现步骤Spring AOP实现原理JDK Proxy VS CGLIB 什么是AOP? AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。⽐如…

打开的idea项目maven不生效

方法一:CtrlshiftA(或者help---->find action), 输入maven, 点击add maven projects,选择本项目中的pom.xml配置文件,等待加载........ 方法二:view->tools windows->mave…

SpringBoot 日志文件

一、日志的作用 日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗 答案是否定的,写程序不是买彩票,不能完全靠猜,因此日志对于我们来说&a…

K8s实战入门(三)

文章目录 3. 实战入门3.1 Namespace3.1.1 测试两个不同的名称空间之间的 Pod 是否连通性 3.2 Pod3.3 Label3.4 Deployment3.5 Service 3. 实战入门 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。 3.1 Namespace Namespace是kuber…

echarts 图例组件legend配置

legend 图例组件展示不同系列的图表类型标记、颜色、和名称。可以通过点击来控制哪个系列不展示。对于饼图来说,控制哪个数据不展示。 $> echarts5.4.0简单画一个饼图作为示例,设置legend:{show:true}展示图例。 const options {legend: {show: true,},series…

Qt视频播放器

一、设置好ui界面二、打开文件槽函数1.QDir::homePath()作用介绍2.QFileDialog::getOpenFileName()介绍3.QFileInfo介绍4.player 指针解释5.打开文件槽函数完整代码 三、视频播放器初始化1.QMediaPlayer()函数2.设置时间间隔的作用3. QGraphicsScene介绍4.QGraphicsVideoItem介…

Python:Spider爬虫工程化入门到进阶(1)创建Scrapy爬虫项目

Python:Spider爬虫工程化入门到进阶系列: Python:Spider爬虫工程化入门到进阶(1)创建Scrapy爬虫项目Python:Spider爬虫工程化入门到进阶(2)使用Spider Admin Pro管理scrapy爬虫项目 本文通过简…

LeetCode--剑指Offer75(3)

目录 题目描述:剑指 Offer 20. 表示数值的字符串(中等)题目接口解题思路什么是有限状态自动机?如何使用? 代码 PS: 题目描述:剑指 Offer 20. 表示数值的字符串(中等) 请实现一个函数…

【LeetCode 75】第十九题(724)寻找数组的中心下标

目录 题目: 示例: ​分析: 代码运行结果: 题目: 示例: 分析: 给一个数组,让我们找出一个下标,在这个下标左边的元素总和等于这个下标右边的元素总和. 我们可以把整个数组的总和求出来,然后再从左往右遍历一次数组,遍历的同时将遍历过的数累加记录到一个变量中.若遍历到一…

CentOS安装podman-compose

1. 安装python3的依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel 如果当前登录的是普通用户,需要在命令前加sudo,否则不用&…

外边距实现居中的写法

1、代码实例 2、默认是贴到左侧对齐的,但我们想要把他贴到中间对齐 3、居中的写法 4、这样就可以保证盒子居中了 5、以上写法仅适于行内元素和行内块元素的写法,有没有什么方法适用于行内块元素:可以添加text-align:center进行添加&#xff0…