Java常量与变量

news2024/9/25 21:23:40

 Java常量与变量

        在程序执行过程中,其值不能被改变的量称为常量其值能被改变的量称为变量

        Java关键字

Java关键字
int

public

(公有的,可跨包)

new

finally

throw

(抛出一个异常对象)

continuefloatlongshort

extends

(继承,用于类继承类)

returnbreakfor

static

(用于声明静态成员,被类的所有实例对象共享)

do

(运行,常与while连用)

ifgotodefaultbyte

protected

(受保护的,当前包内可用)

strictfp

(严格精准)

package

(用于定义包)

super

(调用父类的方法)

void

final

(最终的不可被改变的,

final修饰的类不能被继承,

final修饰的方法不能被子类重写,final修饰的属性就是常量

)
elsecatch

implements

(实现,用于类或接口实现)

private

(限定访问权限为私有,当前类可用)

instanceof

(用于检查对象是否是特定类型的实例)

extends

(继承,用于类继承类)

volatile

(用于声明变量在多线程环境中可见)

while

synchronized

(用于同步方法或代码块,线程同步)

this

(当前类的父类的对象,调用当前类中的方法)

tryimport

transient

(用于声明字段不被序列化)

boolean

abstract

(声明抽象)

interface

(用于定义接口)

case

(返回开关里的结果)

switch

(用于多重选择语句)

class

enum

(枚举,代表一组常用常量,可用来代表一类相同类型的常量)

null

(空值)

char

native

(用于声明本地方法)

double

throws

(在执行这个方法的时候,可能产生一个异常,如果产生异常了,那么谁调用了这个方法,就抛给谁)

1 常量

        程序运行过程中一直不会改变的量称为【常量(constant)】,也被称作【final变量】,常量在整个程序中只能被赋值一次。

        Java声明一个常量除了要指定数据类型,还需通过【final】关键字进行限定,标准语法:

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

//声明常量
final double PI = 3.141592D;    //声明double型常量并赋值
final boolean BOOL = false;     //声明boolean型常量并赋值

        当定义的final常量是成员变量/全局变量时,必须在定义时就赋值初始值,否则编译会报错。

public class Part {
    static final double PI = 3.1415d;    //声明常量PI为成员变量,如果这里不赋值,会错误提示
    static int age = 6;                 //声明int型并赋值变量

    public static void main(String[] args) {
        final int number;               //声明int型常量number
        number = 1225;                  //对常量进行赋值
        age = 31;                       //再次对变量age进行赋值
        //number = 1236;                //错误代码,因为number为常量,常量只能进行一次赋值
        System.out.println("常量PI的值为:" + PI);
        System.out.println("赋值后number的值为:" + number);
        System.out.println("int型变量age的值为:" + age);
    }

}

输出:
常量PI的值为:3.1415
赋值后number的值为:1225
int型变量age的值为:31

2 变量

2.1 成员变量

        在类体中所定义的变量称为【成员变量/全局变量】,成员变量的作用域为整个类,类的成员变量又分为【静态变量】和【实例变量】

2.1.1 静态变量
2.1.2 实例变量
class Var{
    int x = 45;            //x为实例变量
    static int y = 90;     //y为静态变量/类变量
}

        示例中,x为实例变量,y为静态变量(也称作类变量),如果在成员变量的前面加上关键字static,这样的成员变量就称为静态变量。静态变量的有效范围可以跨类,甚至可以到达整个应用程序内,静态变量既能在定义它的类中访问使用,也能直接以【类名.静态变量名】的方式在其他类中访问使用

2.2 局部变量

        类的方法体中定义的变量(包括方法的参数)称为【局部变量】,局部变量只在当前方法代码块中有效。

        局部变量的生命周期取决于方法被调用,方法被调用时JVM为方法中的局部变量分配内存空间,当该方法调用结束后,就会释方法中放局部变量占用的内存空间。

        局部变量可与成员变量(全局变量)同名,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

变量的作用域   

public class Val {
    static int times = 3;           //定义成员变量

    public static void main(String[] args) {
        int times = 4;              //定义局部变量
        System.out.println("times的值为:" + times);
    }
}

输出:
times的值为:4

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

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

相关文章

ThinPlateSpline(TPS)理论和代码

ThinPlateSpline理论和代码 TPS被广泛的应用于各类的任务中, 尤其是生物形态中应用的更多: 人脸, 动物脸等等, TPS是cubic spline的2D泛化形态. 值得注意的是, 图像处理中常用的仿射变换(Affine Transformation), 可以理解成TPS的一个特殊的变种. 暂时先整理相关资源,后面详细…

C++:关于模拟实现vector和list中迭代器模块的理解

文章目录 list和vector的迭代器对比list的实现过程完整代码 本篇是关于vector和list的模拟实现中,关于迭代器模块的更进一步理解,以及在前文的基础上增加对于反向迭代器的实现和库函数的对比等 本篇是写于前面模拟实现的一段时间后,重新回头…

逍遥魔兽:如何在服务器上挂机器人?

逍遥魔兽是一款备受欢迎的魔兽世界经典版本,对于许多玩家来说,为了提升游戏体验和效率,他们希望能够在服务器上挂机器人。本文将为您详细讲解如何实现在逍遥魔兽服务器上挂机器人,以提高游戏进程的自动化效率。 第一部分&#x…

正则表达式(Regular Expression)学习网址分享

正则表达式(Regular expressions,也叫REs、 regexs 或regex patterns),是一种文本模式,包括普通字符(例如,a 到z 之间的字母)和特殊字符(称为"元字符"&#xf…

数据库系统工程师------流水线

流水线 流水线周期:工序中最长的那段执行时间。 流水线计算公式:第一条指令计算时间 (指令条数 - 1)*流水线周期。 流水线吞吐率:指单位时间内流水线完成的任务数量或输出的结果数量。 流水线的加速比:完…

CentOS 编译安装Redis

一、编译配置hiredis.h C来操作redis数据库。通过hiredis接口来实现,目前只能在Linux环境使用。 下载hiredis.h hiredis的下载地址为:https://github.com/redis/hiredis 解压并编译hiredis [rootlocalhost source_code]# pwd /usr/local/source_…

Django实战项目-学习任务系统-用户注册

接着上期代码框架,开发第2个功能,用户注册,在原有用户模型基础上,增加一个学生用户属性表,用来关联学生用户的各种属性值,这个属性表是参考网络小说里系统属性值设计的,方便直观了解用户的能力高…

华为OD机试 - 组成最大数(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》…

香港专用服务器拥有良好的国际网络连接

香港服务器在多个领域有着广泛的应用。无论是电子商务、金融交易、游戏娱乐还是社交媒体等,香港服务器都能够提供高效稳定的服务。对于跨境电商来说,搭建香港服务器可以更好地满足亚洲用户的购物需求;对于金融机构来说,香港服务器…

安科瑞ARB5系列弧光保护装置,智能电弧光保护,保障用电安全

安科瑞虞佳豪壹捌柒陆壹伍玖玖零玖叁 什么是弧光 电弧是放电过程中发生的一种现象,当两点之间的电压超过其工频绝缘强度极限时就会发生。当适当的条件出现时,一个携带着电流的等离子产生,直到电源侧的保护设备断开才会消失。空气在通常条件…

31 数据分析(中)numpy介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpy安装导入包快速掌握(bushi)array和list的相互转化 np的range多维数组的属性array的改变形状array升降维度array内元素的类型数和array的运算array之间的加减法认识轴切片条件与逻辑修改值app…

大规模语言模型高效调参--混合高效微调系列(MAM Adapter,UniPELT)

近年来提出了多种参数高效的迁移学习方法, 这些方法仅微调少量(额外) 参数即可获得强大的性能。虽 然有效, 但人们对为什么有效的关键要素以及各种高效微调方法之间的联系知之甚少。 Adapter 、Prefix Tuning、 LoRA (在结构上和公式上)看起来都不太一样…

SpringCloud小项目——订单积分商城 使用Nacos、Open Feign、Gateway、Sentinel技术栈

目录 引出小项目要求创建极简数据库表订单表,订单明细表商品表积分表 相关微服务积分微服务产品微服务订单微服务调用积分和订单微服务 网关微服务登陆认证通过网关实现对外提供接口API走网关功能 sentinel相关使用Sentinel限流,流量整形Sentinel降级服务…

SparseBEV:High-Performance Sparse 3D Object Detection from Multi-Camera Videos

参考代码:SparseBEV 动机与主要贡献: BEV感知可以按照是否显式构建BEV特征进行划分,显式构建BEV特征的方法需要额外计算量用于特征构建,而类似query方案的方法则不需要这样做。比较两种类型的方法,前者需要更多计算资…

微服务 BFF 架构设计

在现代软件开发中,由于程序、团队、数据规模太大,需要把企业的业务能力进行复用,将领域服务剥离,提供通用能力,避免重复建设和代码;另外服务功能的弹性能力不一样,比如定时任务、数据同步明确的…

mysql面试题39:什么是触发器?触发器的使用场景有哪些?MySQL中都有哪些触发器?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是触发器?触发器的使用场景有哪些? 触发器(Trigger)是数据库中一种特殊类型的存储过程,它在特定的数据库事件(例如插入、更新、删除操作…

软考高级架构师下篇-18大数据架构理论设计与实践

目录 1. 引言2. 传统数据处理系统的问题1.传统数据库的数据过载问题2.大数据的特点3.大数据利用过程4.大数据处理系统架构分析3.典型的大数据架构1. Lambda架构2.Kappa架构3. Lambda架构与Kappa架构的对比4.大数据架构的实践1.大规模视频网络2.广告平台3.公司智能决策大数据系统…

Redis-集群

Redis-集群 主从复制和哨兵只能在主节点进行写数据,从节点读取数据,因此本质上,是进行了读写的分离,每个节点都保存了所有的数据,并不能实现一个很好的分布式效果。 1.哈希求余算法 假设有N台主机,对每台…

对比纯软开与嵌入式硬件开发谁更好呢?

对比纯软开与嵌入式硬件开发谁更好呢? 你的纠结和犹豫是理解的,职业选择确实是一个重要的决策。我明白你在嵌入式和软件开发之间犹豫不决的原因。让我给你提供一些建议,帮助你做出更明智的决定。最近很多小伙伴找我,说想要一些嵌入…

日期时间参数,格式配置(SpringBoot)

介绍 在SpringBoot项目中,接口中的日期和时间类型的参数,配置格式。 日期格式 接口中常用的日期时间格式有两种: 字符串(比如:yyyy-MM-dd HH:mm:ss)时间戳(比如:1696839876955&a…