Java常量与变量

Java常量与变量

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

Java关键字

|---------------------|----------------------------|--------------------------|--------------------------------|----------------------------------------------------------------------|
| int | public (公有的,可跨包) | new | finally | throw (抛出一个异常对象) |
| continue | float | long | short | extends (继承,用于类继承类) |
| return | break | for | static (用于声明静态成员,被类的所有实例对象共享) | do (运行,常与while连用) |
| if | goto | default | byte | protected (受保护的,当前包内可用) |
| strictfp (严格精准) | package (用于定义包) | super (调用父类的方法) | void | final (最终的不可被改变的, final修饰的类不能被继承, final修饰的方法不能被子类重写,final修饰的属性就是常量 ) |
| else | catch | implements (实现,用于类或接口实现) | private (限定访问权限为私有,当前类可用) | instanceof (用于检查对象是否是特定类型的实例) |
| extends (继承,用于类继承类) | volatile (用于声明变量在多线程环境中可见) | while | synchronized (用于同步方法或代码块,线程同步) | this (当前类的父类的对象,调用当前类中的方法) |
| try | import | transient (用于声明字段不被序列化) | boolean | abstract (声明抽象) |
| interface (用于定义接口) | case (返回开关里的结果) | switch (用于多重选择语句) | class | enum (枚举,代表一组常用常量,可用来代表一类相同类型的常量) |
| null (空值) | char | native (用于声明本地方法) | double | throws (在执行这个方法的时候,可能产生一个异常,如果产生异常了,那么谁调用了这个方法,就抛给谁) |
[Java关键字]

1 常量

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

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

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

java 复制代码
//声明常量
final double PI = 3.141592D;    //声明double型常量并赋值
final boolean BOOL = false;     //声明boolean型常量并赋值

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

java 复制代码
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 实例变量
java 复制代码
class Var{
    int x = 45;            //x为实例变量
    static int y = 90;     //y为静态变量/类变量
}

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

2.2 局部变量

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

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

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

变量的作用域

java 复制代码
public class Val {
    static int times = 3;           //定义成员变量

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

输出:
times的值为:4
相关推荐
码农阿豪2 分钟前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
岁岁种桃花儿2 分钟前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
csbysj202015 分钟前
AngularJS 模块
开发语言
独好紫罗兰23 分钟前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n30 分钟前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
不会代码的小测试32 分钟前
UI自动化-POM封装
开发语言·python·selenium·自动化
roman_日积跬步-终至千里38 分钟前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
毕设源码-钟学长41 分钟前
【开题答辩全过程】以 基于Springboot的扶贫众筹平台为例,包含答辩的问题和答案
java·spring boot·后端
lsx20240644 分钟前
C++ 基本的输入输出
开发语言
CodeSheep程序羊1 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展